doom3-gpl
Doom 3 GPL source release
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
idCurve< type > Class Template Reference

#include <Curve.h>

Inheritance diagram for idCurve< type >:
idCurve_Bezier< type > idCurve_CubicBezier< type > idCurve_QuadraticBezier< type > idCurve_Spline< type > idCurve_BSpline< type > idCurve_CatmullRomSpline< type > idCurve_KochanekBartelsSpline< type > idCurve_NaturalCubicSpline< type > idCurve_NonUniformBSpline< type > idCurve_UniformCubicBSpline< type > idCurve_NURBS< type >

Public Member Functions

 idCurve (void)
 
virtual ~idCurve (void)
 
virtual int AddValue (const float time, const type &value)
 
virtual void RemoveIndex (const int index)
 
virtual void Clear (void)
 
virtual type GetCurrentValue (const float time) const
 
virtual type GetCurrentFirstDerivative (const float time) const
 
virtual type GetCurrentSecondDerivative (const float time) const
 
virtual bool IsDone (const float time) const
 
int GetNumValues (void) const
 
void SetValue (const int index, const type &value)
 
type GetValue (const int index) const
 
typeGetValueAddress (const int index)
 
float GetTime (const int index) const
 
float GetLengthForTime (const float time) const
 
float GetTimeForLength (const float length, const float epsilon=0.1f) const
 
float GetLengthBetweenKnots (const int i0, const int i1) const
 
void MakeUniform (const float totalTime)
 
void SetConstantSpeed (const float totalTime)
 
void ShiftTime (const float deltaTime)
 
void Translate (const type &translation)
 

Protected Member Functions

int IndexForTime (const float time) const
 
float TimeForIndex (const int index) const
 
type ValueForIndex (const int index) const
 
float GetSpeed (const float time) const
 
float RombergIntegral (const float t0, const float t1, const int order) const
 

Protected Attributes

idList< floattimes
 
idList< typevalues
 
int currentIndex
 
bool changed
 

Detailed Description

template<class type>
class idCurve< type >

Definition at line 41 of file Curve.h.

Constructor & Destructor Documentation

template<class type >
ID_INLINE idCurve< type >::idCurve ( void  )

Definition at line 93 of file Curve.h.

template<class type >
ID_INLINE idCurve< type >::~idCurve ( void  )
virtual

Definition at line 104 of file Curve.h.

Member Function Documentation

template<class type>
ID_INLINE int idCurve< type >::AddValue ( const float  time,
const type value 
)
virtual
template<class type>
virtual void idCurve< type >::Clear ( void  )
inlinevirtual
template<class type >
ID_INLINE type idCurve< type >::GetCurrentFirstDerivative ( const float  time) const
virtual
template<class type >
ID_INLINE type idCurve< type >::GetCurrentSecondDerivative ( const float  time) const
virtual
template<class type >
ID_INLINE type idCurve< type >::GetCurrentValue ( const float  time) const
virtual
template<class type >
ID_INLINE float idCurve< type >::GetLengthBetweenKnots ( const int  i0,
const int  i1 
) const

Definition at line 241 of file Curve.h.

template<class type >
ID_INLINE float idCurve< type >::GetLengthForTime ( const float  time) const

Definition at line 255 of file Curve.h.

template<class type>
int idCurve< type >::GetNumValues ( void  ) const
inline

Definition at line 56 of file Curve.h.

template<class type >
ID_INLINE float idCurve< type >::GetSpeed ( const float  time) const
protected

Definition at line 185 of file Curve.h.

template<class type>
float idCurve< type >::GetTime ( const int  index) const
inline

Definition at line 60 of file Curve.h.

template<class type >
ID_INLINE float idCurve< type >::GetTimeForLength ( const float  length,
const float  epsilon = 0.1f 
) const

Definition at line 271 of file Curve.h.

template<class type>
type idCurve< type >::GetValue ( const int  index) const
inline

Definition at line 58 of file Curve.h.

template<class type>
type* idCurve< type >::GetValueAddress ( const int  index)
inline

Definition at line 59 of file Curve.h.

template<class type >
ID_INLINE int idCurve< type >::IndexForTime ( const float  time) const
protected

Definition at line 388 of file Curve.h.

template<class type >
ID_INLINE bool idCurve< type >::IsDone ( const float  time) const
virtual
template<class type >
ID_INLINE void idCurve< type >::MakeUniform ( const float  totalTime)

Definition at line 319 of file Curve.h.

template<class type>
virtual void idCurve< type >::RemoveIndex ( const int  index)
inlinevirtual
template<class type >
ID_INLINE float idCurve< type >::RombergIntegral ( const float  t0,
const float  t1,
const int  order 
) const
protected

Definition at line 203 of file Curve.h.

template<class type >
ID_INLINE void idCurve< type >::SetConstantSpeed ( const float  totalTime)

Definition at line 335 of file Curve.h.

template<class type>
void idCurve< type >::SetValue ( const int  index,
const type value 
)
inline

Definition at line 57 of file Curve.h.

template<class type >
ID_INLINE void idCurve< type >::ShiftTime ( const float  deltaTime)

Definition at line 360 of file Curve.h.

template<class type >
ID_INLINE float idCurve< type >::TimeForIndex ( const int  index) const
protected

Definition at line 459 of file Curve.h.

template<class type>
ID_INLINE void idCurve< type >::Translate ( const type translation)

Definition at line 373 of file Curve.h.

template<class type >
ID_INLINE type idCurve< type >::ValueForIndex ( const int  index) const
protected

Definition at line 440 of file Curve.h.

Member Data Documentation

template<class type>
bool idCurve< type >::changed
mutableprotected

Definition at line 77 of file Curve.h.

template<class type>
int idCurve< type >::currentIndex
mutableprotected

Definition at line 76 of file Curve.h.

template<class type>
idList<float> idCurve< type >::times
protected

Definition at line 73 of file Curve.h.

template<class type>
idList<type> idCurve< type >::values
protected

Definition at line 74 of file Curve.h.


The documentation for this class was generated from the following file: