Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __CS_IPATH_H__
00020 #define __CS_IPATH_H__
00021
00022 #include "csutil/scf_implementation.h"
00023
00031 class csVector3;
00032 struct iObject;
00033
00040 struct iPath : public virtual iBase
00041 {
00042 SCF_INTERFACE(iPath, 3, 0, 0);
00048 virtual int Length () = 0;
00049
00051 virtual void CalculateAtTime (float time) = 0;
00052
00054 virtual int GetCurrentIndex () = 0;
00055
00057 virtual void SetPositionVectors (csVector3* v) = 0;
00058
00060 virtual void SetUpVectors (csVector3* v) = 0;
00061
00063 virtual void SetForwardVectors (csVector3* v) = 0;
00064
00066 virtual void SetPositionVector (int idx, const csVector3& v) = 0;
00067
00069 virtual void SetUpVector (int idx, const csVector3& v) = 0;
00070
00072 virtual void SetForwardVector (int idx, const csVector3& v) = 0;
00073
00075 virtual void GetPositionVector (int idx, csVector3& v) = 0;
00076
00078 virtual void GetUpVector (int idx, csVector3& v) = 0;
00079
00081 virtual void GetForwardVector (int idx, csVector3& v) = 0;
00082
00084 virtual float GetTime (int idx) = 0;
00085
00087 virtual void SetTime (int idx, float t) = 0;
00088
00090 virtual void GetInterpolatedPosition (csVector3& pos) = 0;
00091
00093 virtual void GetInterpolatedUp (csVector3& pos) = 0;
00094
00096 virtual void GetInterpolatedForward (csVector3& pos) = 0;
00097
00099 virtual iObject* QueryObject () = 0;
00100 };
00101
00102
00105 #endif // __CS_IPATH_H__