JK2eA
 All Classes Functions Variables
CurvePathCatmullRom.h
00001 #pragma once
00002 
00003 #include "CurvePath.h"
00004 #include "NumIntegration.h"
00005 
00009 class CCurvePathCatmullRom : public CCurvePath {
00010 private:
00014         class CurveFNC : public IntegrationFNC {
00015         private:
00016                 CCurvePathCatmullRom* m_my_curve;       
00017                 size_t                            m_start_id;   
00018         public:
00019                 CurveFNC(CCurvePathCatmullRom* curve, size_t start_id);
00020 
00021                 virtual float operator()(float t);
00022 
00023         };
00024 
00025         virtual float GetLengthBetweenNodes(const unsigned int uiStart,const unsigned int uiEnd);
00026 public:
00030         CCurvePathCatmullRom();
00034         virtual ~CCurvePathCatmullRom();
00035 
00039         virtual vec GetValue(const float s, bool& end);
00043         virtual vec GetDir(const float s, bool& end);
00044 
00045         virtual void DebugDraw();
00046 };
00047