00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __CEL_PF_MESH__
00021 #define __CEL_PF_MESH__
00022
00023 #include "cstypes.h"
00024 #include "iutil/strset.h"
00025 #include "csutil/scf.h"
00026
00027 struct iMeshWrapper;
00028 struct iSector;
00029 class csVector3;
00030 class csBox3;
00031
00036 #define CEL_PCMESH_PROPERTY_MESH 1
00037
00092 struct iPcMesh : public virtual iBase
00093 {
00094 SCF_INTERFACE (iPcMesh, 0, 1, 0);
00095
00103 virtual void SetPath (const char* path) = 0;
00104
00112 virtual bool SetMesh (const char* factname, const char* filename) = 0;
00113
00123 virtual void SetMesh (iMeshWrapper* mesh, bool do_remove = false) = 0;
00124
00132 virtual void CreateEmptyThing (const char* factname) = 0;
00133
00140 virtual void CreateEmptyGenmesh (const char* factname) = 0;
00141
00149 virtual void CreateNullMesh (const char* factname,
00150 const csBox3& box) = 0;
00151
00155 virtual iMeshWrapper* GetMesh () const = 0;
00156
00162 virtual void MoveMesh (iSector* sector, const csVector3& pos) = 0;
00163
00169 virtual void MoveMesh (iSector* sector, const char* node) = 0;
00170
00177 virtual void MoveMesh (iPcMesh* other_mesh, const csVector3& offset) = 0;
00178
00184 CS_DEPRECATED_METHOD virtual void SetAction (const char* actionName,
00185 bool reset = false) = 0;
00189 CS_DEPRECATED_METHOD virtual const char* GetAction () = 0;
00190
00196 CS_DEPRECATED_METHOD virtual void SetReverseAction (bool reverse = true) = 0;
00197
00203 virtual void SetAnimation (const char* actionName, bool cycle,
00204 float weight = 1.0, float fadein = 0.1, float fadeout = 0.1,
00205 bool reset = false) = 0;
00206
00210 virtual void Hide () = 0;
00211
00215 virtual void Show () = 0;
00216
00220 virtual bool IsVisible () const = 0;
00221
00228 virtual bool AttachSocketMesh (const char* socket,
00229 iMeshWrapper* meshwrapper) = 0;
00230
00235 virtual bool DetachSocketMesh (const char* socket) = 0;
00236 };
00237
00238 #endif // __CEL_PF_MESH__
00239