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 namespace gtx{
00026 namespace spline 
00027 {
00028         using namespace gtx::optimum_pow;
00029 
00032 
00035         template <typename genType> 
00036         genType catmullRom(
00037                 genType const & v1, 
00038                 genType const & v2, 
00039                 genType const & v3, 
00040                 genType const & v4, 
00041                 typename genType::value_type const & s);
00042                 
00045     template <typename genType> 
00046         genType hermite(
00047                 genType const & v1, 
00048                 genType const & t1, 
00049                 genType const & v2, 
00050                 genType const & t2, 
00051                 typename genType::value_type const & s);
00052                 
00055         template <typename genType> 
00056         genType cubic(
00057                 genType const & v1, 
00058                 genType const & v2, 
00059                 genType const & v3, 
00060                 genType const & v4, 
00061                 typename genType::value_type const & s);
00062 
00064 }//namespace spline
00065 }//namespace gtx
00066 }//namespace glm
00067 
00068 #include "spline.inl"
00069 
00070 namespace glm{using namespace gtx::spline;}
00071 
00072 #endif//glm_gtx_spline
00073