iPcMesh Struct Reference
This is a property class holding the representation of a mesh. More...
#include <propclass/mesh.h>
Public Member Functions | |
virtual void | CreateEmptyGenmesh (const char *factname)=0 |
Create an empty genmesh (use instead of SetMesh()). | |
virtual void | CreateEmptyThing (const char *factname)=0 |
Create an empty thing mesh (use instead of SetMesh()). | |
virtual void | CreateNullMesh (const char *factname, const csBox3 &box)=0 |
Create a nullmesh (use instead of SetMesh()). | |
virtual const char * | GetAction ()=0 |
Return the current action name. | |
virtual iMeshWrapper * | GetMesh () const =0 |
Get the mesh. | |
virtual void | Hide ()=0 |
Hide this mesh. | |
virtual bool | IsVisible () const =0 |
Return true if mesh is visible. | |
virtual void | MoveMesh (iSector *sector, const csVector3 &pos)=0 |
Convenience function to move the mesh to some sector and position and also update lighting. | |
virtual void | SetAction (const char *actionName, bool reset=false)=0 |
Convenience function to set an 'action' for the mesh. | |
virtual void | SetAnimation (const char *actionName, bool cycle, float weight=1.0, float fadein=0.1, float fadeout=0.1, bool reset=false)=0 |
Function to set an 'action' for the mesh. | |
virtual void | SetMesh (iMeshWrapper *mesh, bool do_remove=false)=0 |
Set the mesh to use directly. | |
virtual bool | SetMesh (const char *factname, const char *filename)=0 |
Set the mesh filename to use. | |
virtual void | SetPath (const char *path)=0 |
Set the path to use. | |
virtual void | SetReverseAction (bool reverse=true)=0 |
Convenience function to set an 'action' to be reversed for the mesh. | |
virtual void | Show ()=0 |
Show this mesh. |
Detailed Description
This is a property class holding the representation of a mesh.This property class supports the following actions (add prefix 'cel.action.' to get the ID of the action and add prefix 'cel.parameter.' to get the ID of the parameter):
- SetMesh: parameters 'name' (string). This sets an already existing mesh for this pcmesh.
- LoadMesh: parameters 'filename' (string) and 'factoryname' (string). 'filename' is optional. If not given then the factory should already be in memory.
- LoadMeshPath: parameters 'path' (string), 'filename' (string) and 'factoryname' (string).
- MoveMesh: parameters 'sector' (string: optional), 'position' (vector3), 'rotation' (vector3: optional. Represents an absolute rotation). If 'sector' is empty string then we will remove the mesh from all sectors. If 'sector' is not given then we simply move the mesh inside current sector.
- RotateMesh: 'rotation' (vector3). This is a relative transform.
- ClearRotation: no parameters.
- LookAt: parameters 'forward' (vector3) and 'up' (vector3).
- SetVisible: parameters 'visible' (bool).
- SetMaterial: parameters 'material' (string).
- SetAnimation: parameters 'animation' (string), 'cycle' (bool: default false), and 'reset' (bool: default false).
- SetShaderVar: parameters 'name' (string), 'type' (bool) and 'value' (type depending on type parameter).
- CreateEmptyThing: parameters 'factoryname' (string)
- CreateEmptyGenmesh: parameters 'factoryname' (string)
- CreateNullMesh: parameters 'factoryname' (string), 'min' (vector3), 'max' (vector3).
- ParentMesh: parameters 'entity' (string) and 'tag' (string). Parent this mesh to some parent. The parent should be given as an entity with the optional tag specifying which pcmesh to use. If entity is not given then the current entity will be used.
- ClearParent: no parameters. Remove this mesh from its parent.
This property class supports the following properties (add prefix 'cel.property.' to get the ID of the property:
- position (vector3, read): current position.
- fullposition (vector3, read): current full position.
- rotation (vector3, read): current rotation.
- eulerrotation (vector3, read): current euler rotation.
- sector (string, read): current sector.
- path (string, read): path for model.
- factory (string, read): factory for model.
- filename (string, read): filename for model.
- hitbeam (bool, read/write): allow hitbeam for this mesh.
Definition at line 87 of file mesh.h.
Member Function Documentation
virtual void iPcMesh::CreateEmptyGenmesh | ( | const char * | factname | ) | [pure virtual] |
Create an empty genmesh (use instead of SetMesh()).
Note that if the factory name already exists then the mesh will be created from that factory and this call becomes equivalent to SetMesh(factname,0).
virtual void iPcMesh::CreateEmptyThing | ( | const char * | factname | ) | [pure virtual] |
virtual void iPcMesh::CreateNullMesh | ( | const char * | factname, | |
const csBox3 & | box | |||
) | [pure virtual] |
Create a nullmesh (use instead of SetMesh()).
Note that if the factory name already exists then the mesh will be created from that factory and this call becomes equivalent to SetMesh(factname,0). A nullmesh can be used in mesh hierarchies.
virtual const char* iPcMesh::GetAction | ( | ) | [pure virtual] |
Return the current action name.
virtual iMeshWrapper* iPcMesh::GetMesh | ( | ) | const [pure virtual] |
Get the mesh.
virtual void iPcMesh::Hide | ( | ) | [pure virtual] |
Hide this mesh.
virtual bool iPcMesh::IsVisible | ( | ) | const [pure virtual] |
Return true if mesh is visible.
virtual void iPcMesh::MoveMesh | ( | iSector * | sector, | |
const csVector3 & | pos | |||
) | [pure virtual] |
Convenience function to move the mesh to some sector and position and also update lighting.
If sector specified is 0, sector is not updated.
virtual void iPcMesh::SetAction | ( | const char * | actionName, | |
bool | reset = false | |||
) | [pure virtual] |
Convenience function to set an 'action' for the mesh.
This only works for 3D sprites. For other mesh objects nothing will happen.
virtual void iPcMesh::SetAnimation | ( | const char * | actionName, | |
bool | cycle, | |||
float | weight = 1.0 , |
|||
float | fadein = 0.1 , |
|||
float | fadeout = 0.1 , |
|||
bool | reset = false | |||
) | [pure virtual] |
Function to set an 'action' for the mesh.
Works for cal3d, spr3d and genmeshskelanim, but note not all mesh objects support the same feature set.
virtual void iPcMesh::SetMesh | ( | iMeshWrapper * | mesh, | |
bool | do_remove = false | |||
) | [pure virtual] |
Set the mesh to use directly.
It is normally not recommended to use this function directly. iPcRegion will use it for its dummy entities.
- Parameters:
-
mesh a pointer to an iMeshWrapper that will be attached to the pcmesh. do_remove if true then this pcmesh will remove the mesh on destruction. By default this will not happen if you use SetMesh() on an already existing mesh.
virtual bool iPcMesh::SetMesh | ( | const char * | factname, | |
const char * | filename | |||
) | [pure virtual] |
Set the mesh filename to use.
Returns false on failure. Note that this filename can refer to a mesh factory file or a library file containing a mesh factory. If 'filename' is not given (i.e. 0) then it is assumed the factory is already loaded in memory.
virtual void iPcMesh::SetPath | ( | const char * | path | ) | [pure virtual] |
Set the path to use.
If this is not done then the filename in SetMesh() will be used alone. Otherwise this path is used to temporarily set the current VFS dir while loading (which will be restored afterwards) and the filename in SetMesh() is used relative to that. Note that this must be called before SetMesh().
virtual void iPcMesh::SetReverseAction | ( | bool | reverse = true |
) | [pure virtual] |
Convenience function to set an 'action' to be reversed for the mesh.
This only works for 3D sprites. For other mesh objects nothing will happen.
virtual void iPcMesh::Show | ( | ) | [pure virtual] |
Show this mesh.
The documentation for this struct was generated from the following file:
- propclass/mesh.h
Generated for CEL: Crystal Entity Layer by doxygen 1.4.7