14 #include "vtdata/CubicSpline.h"
15 #include "vtdata/Features.h"
36 m_Rotation(rotation) {}
39 void GetMatrix(
FMatrix4 &matrix,
bool bPosOnly =
false)
const;
72 cp.GetMatrix(matrix, bPosOnly);
86 void SetTimeFromLinearDistance();
89 double GetFirstTime()
const;
90 double GetLastTime()
const;
91 double GetPeriod()
const {
return GetLastTime()-GetFirstTime();}
110 typedef std::map<double,ControlPoint> TimeControlPointMap;
112 TimeControlPointMap &GetTimeControlPointMap() {
return m_TimeControlPointMap; }
113 const TimeControlPointMap &GetTimeControlPointMap()
const {
return m_TimeControlPointMap; }
115 void Empty() { m_TimeControlPointMap.clear(); }
116 bool IsEmpty()
const {
return m_TimeControlPointMap.empty(); }
128 bool Write(
const char *fname);
129 bool Read(
const char *fname);
134 void InterpolateControlPoints(TimeControlPointMap::const_iterator &a,
135 TimeControlPointMap::const_iterator &b,
138 TimeControlPointMap m_TimeControlPointMap;
140 InterpMode m_InterpMode;
143 double m_fLoopSegmentTime;
148 OCT *m_pConvertToWGS;
149 OCT *m_pConvertFromWGS;
152 typedef osg::ref_ptr<vtAnimPath> vtAnimPathPtr;
172 m_pAnimationPath(NULL),
173 m_bContinuous(
false),
174 m_fLastTime(FLT_MAX),
180 m_pAnimationPath(ap),
181 m_bContinuous(
false),
182 m_fLastTime(FLT_MAX),
194 void UpdateTargets();
217 virtual void SetEnabled(
bool bOn);
222 void SetTime(
float fTime) { m_fTime = fTime; }
228 vtAnimPathPtr m_pAnimationPath;
247 void SetEngineContainer(
vtEngine *pContainer)
249 m_pParentEngine = pContainer;
254 vtEnginePtr m_pParentEngine;