spline.hpp

00001 
00002 // OpenGL Mathematics Copyright (c) 2005 - 2011 G-Truc Creation (www.g-truc.net)
00004 // Created : 2007-01-25
00005 // Updated : 2009-02-19
00006 // Licence : This source is under MIT License
00007 // File    : glm/gtx/spline.hpp
00009 // Dependency:
00010 // - GLM core
00012 
00013 #ifndef glm_gtx_spline
00014 #define glm_gtx_spline
00015 
00016 // Dependency:
00017 #include "../glm.hpp"
00018 #include "../gtx/optimum_pow.hpp"
00019 
00020 #if(defined(GLM_MESSAGES) && !defined(glm_ext))
00021 #       pragma message("GLM: GLM_GTX_spline extension included")
00022 #endif
00023 
00024 namespace glm
00025 {
00026     namespace gtx{
00028     namespace spline
00029     {
00030                 using namespace gtx::optimum_pow;
00031 
00034 
00037                 template <typename genType> 
00038                 genType catmullRom(
00039                         genType const & v1, 
00040                         genType const & v2, 
00041                         genType const & v3, 
00042                         genType const & v4, 
00043                         typename genType::value_type const & s);
00044                 
00047         template <typename genType> 
00048                 genType hermite(
00049                         genType const & v1, 
00050                         genType const & t1, 
00051                         genType const & v2, 
00052                         genType const & t2, 
00053                         typename genType::value_type const & s);
00054                 
00057                 template <typename genType> 
00058                 genType cubic(
00059                         genType const & v1, 
00060                         genType const & v2, 
00061                         genType const & v3, 
00062                         genType const & v4, 
00063                         typename genType::value_type const & s);
00064 
00066 
00067         }//namespace spline
00068     }//namespace gtx
00069 }//namespace glm
00070 
00071 #include "spline.inl"
00072 
00073 namespace glm{using namespace gtx::spline;}
00074 
00075 #endif//glm_gtx_spline
00076