00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __CS_IMESH_SKELETON_H__
00020 #define __CS_IMESH_SKELETON_H__
00021
00022 #include "csutil/scf.h"
00023
00024 struct iSkeletonConnection;
00025 class csTransform;
00026
00027 SCF_VERSION (iSkeletonLimb, 0, 0, 2);
00028
00032 struct iSkeletonLimb : public iBase
00033 {
00035 virtual void AddVertex (int v) = 0;
00037 virtual int* GetVertices () const = 0;
00039 virtual int GetVertexCount () const = 0;
00041 virtual iSkeletonConnection* CreateConnection () = 0;
00043 virtual void SetName (const char* name) = 0;
00045 virtual const char* GetName () const = 0;
00047 virtual iSkeletonLimb* GetNextSibling () const = 0;
00049 virtual iSkeletonLimb* GetChildren () const = 0;
00050 };
00051
00052 SCF_VERSION (iSkeletonConnection, 0, 0, 1);
00053
00058 struct iSkeletonConnection : public iBase
00059 {
00061 virtual void SetTransformation (const csTransform& tr) = 0;
00063 virtual csTransform& GetTransformation () = 0;
00064 };
00065
00066 SCF_VERSION (iSkeleton, 0, 0, 1);
00067
00072 struct iSkeleton : public iBase
00073 {
00074 };
00075
00076 SCF_VERSION (iSkeletonLimbState, 0, 0, 1);
00077
00084 struct iSkeletonLimbState : public iBase
00085 {
00087 virtual iSkeletonLimbState* GetChildren () const = 0;
00089 virtual iSkeletonLimbState* GetNextSibling () const = 0;
00091 virtual void SetName (const char* name) = 0;
00093 virtual const char* GetName () const = 0;
00095 virtual void SetUserData (void* data) = 0;
00097 virtual void* GetUserData () const = 0;
00098 };
00099
00100 SCF_VERSION (iSkeletonConnectionState, 0, 0, 2);
00101
00108 struct iSkeletonConnectionState : public iBase
00109 {
00111 virtual void SetTransformation (const csTransform& tr) = 0;
00113 virtual csTransform& GetTransformation () = 0;
00114 };
00115
00116 SCF_VERSION (iSkeletonState, 0, 0, 1);
00117
00121 struct iSkeletonState : public iBase
00122 {
00123 };
00124
00125 #endif // __CS_IMESH_SKELETON_H__
00126