csMeshObject Class Reference
This is an abstract implementation of iMeshObject. More...
#include <cstool/meshobjtmpl.h>
Inheritance diagram for csMeshObject:

| Public Member Functions | |
| virtual csPtr< iMeshObject > | Clone () | 
| See imesh/object.h for specification. | |
| csMeshObject (iEngine *engine) | |
| Constructor. | |
| virtual bool | GetColor (csColor &color) const | 
| See imesh/object.h for specification. | |
| virtual iMeshObjectFactory * | GetFactory () const =0 | 
| See imesh/object.h for specification. | |
| virtual csFlags & | GetFlags () | 
| See imesh/object.h for specification. | |
| virtual iMaterialWrapper * | GetMaterialWrapper () const | 
| See imesh/object.h for specification. | |
| virtual iMeshWrapper * | GetMeshWrapper () const | 
| See imesh/object.h for specification. | |
| virtual uint | GetMixMode () const | 
| Get mix mode. | |
| virtual const csBox3 & | GetObjectBoundingBox () | 
| See imesh/objmodel.h for specification. | |
| virtual void | GetObjectBoundingBox (csBox3 &bbox) | 
| See imesh/objmodel.h for specification. | |
| virtual iObjectModel * | GetObjectModel () | 
| See imesh/object.h for specification. | |
| virtual void | GetRadius (float &radius, csVector3 ¢er) | 
| See imesh/objmodel.h for specification. | |
| virtual csRenderMesh ** | GetRenderMeshes (int &num, iRenderView *, iMovable *, uint32) | 
| See imesh/object.h for specification. | |
| virtual iTerraFormer * | GetTerraFormerColldet () | 
| See imesh/objmodel.h for specification. | |
| virtual iMeshObjectDrawCallback * | GetVisibleCallback () const | 
| See imesh/object.h for specification. | |
| virtual void | HardTransform (const csReversibleTransform &t) | 
| See imesh/object.h for specification. | |
| virtual bool | HitBeamObject (const csVector3 &start, const csVector3 &end, csVector3 &isect, float *pr, int *polygon_idx=0, iMaterialWrapper **=0) | 
| See imesh/object.h for specification. | |
| virtual bool | HitBeamOutline (const csVector3 &start, const csVector3 &end, csVector3 &isect, float *pr) | 
| See imesh/object.h for specification. | |
| virtual void | InvalidateMaterialHandles () | 
| see imesh/object.h for specification. | |
| virtual void | NextFrame (csTicks current_time, const csVector3 &pos, uint currentFrame) | 
| See imesh/object.h for specification. | |
| virtual void | PositionChild (iMeshObject *, csTicks) | 
| see imesh/object.h for specification. | |
| virtual bool | SetColor (const csColor &color) | 
| See imesh/object.h for specification. | |
| virtual bool | SetMaterialWrapper (iMaterialWrapper *material) | 
| See imesh/object.h for specification. | |
| virtual void | SetMeshWrapper (iMeshWrapper *logparent) | 
| See imesh/object.h for specification. | |
| virtual void | SetMixMode (uint) | 
| Set mix mode. Default implementation doesn't do anything. | |
| virtual void | SetObjectBoundingBox (const csBox3 &bbox) | 
| See imesh/objmodel.h for specification. | |
| virtual void | SetVisibleCallback (iMeshObjectDrawCallback *cb) | 
| See imesh/object.h for specification. | |
| virtual bool | SupportsHardTransform () const | 
| See imesh/object.h for specification. | |
| virtual | ~csMeshObject () | 
| Destructor. | |
| Protected Member Functions | |
| void | WantToDie () | 
| Tell the engine that this object wants to be deleted. | |
| Protected Attributes | |
| csBox3 | boundingbox | 
| The bounding box. | |
| iEngine * | Engine | 
| pointer to the engine if available. | |
| csFlags | flags | 
| Flags. | |
| iMeshWrapper * | LogParent | 
| logical parent (usually the wrapper object from the engine) | |
| csRef< iMeshObjectDrawCallback > | VisCallback | 
| the drawing callback | |
Detailed Description
This is an abstract implementation of iMeshObject.It can be used to write custom mesh object implementations more easily. Currently it supports the following common functions of mesh objects:
- Implementation of iMeshObject
- Implementation of iObjectModel
- Storing a "visible callback"
- Storing a logical parent
- Storing object model properties
- Default implementation of most methods
Definition at line 75 of file meshobjtmpl.h.
Constructor & Destructor Documentation
| csMeshObject::csMeshObject | ( | iEngine * | engine | ) | 
Constructor.
| virtual csMeshObject::~csMeshObject | ( | ) |  [virtual] | 
Destructor.
Member Function Documentation
| virtual csPtr<iMeshObject> csMeshObject::Clone | ( | ) |  [inline, virtual] | 
See imesh/object.h for specification.
The default implementation does nothing and returns 0.
Implements iMeshObject.
Definition at line 115 of file meshobjtmpl.h.
| virtual bool csMeshObject::GetColor | ( | csColor & | color | ) | const  [virtual] | 
See imesh/object.h for specification.
The default implementation does not support a base color.
Implements iMeshObject.
| virtual iMeshObjectFactory* csMeshObject::GetFactory | ( | ) | const  [pure virtual] | 
See imesh/object.h for specification.
There is no default implementation for this method.
Implements iMeshObject.
| virtual csFlags& csMeshObject::GetFlags | ( | ) |  [inline, virtual] | 
See imesh/object.h for specification.
Implements iMeshObject.
Definition at line 120 of file meshobjtmpl.h.
| virtual iMaterialWrapper* csMeshObject::GetMaterialWrapper | ( | ) | const  [virtual] | 
See imesh/object.h for specification.
The default implementation does not support a material.
Implements iMeshObject.
| virtual iMeshWrapper* csMeshObject::GetMeshWrapper | ( | ) | const  [virtual] | 
See imesh/object.h for specification.
This function is handled completely in csMeshObject.
Implements iMeshObject.
| virtual uint csMeshObject::GetMixMode | ( | ) | const  [inline, virtual] | 
Get mix mode.
Implements iMeshObject.
Definition at line 224 of file meshobjtmpl.h.
References CS_FX_COPY.
| virtual const csBox3& csMeshObject::GetObjectBoundingBox | ( | ) |  [virtual] | 
See imesh/objmodel.h for specification.
The default implementation returns an infinite bounding box.
Implements iObjectModel.
| virtual void csMeshObject::GetObjectBoundingBox | ( | csBox3 & | bbox | ) |  [virtual] | 
See imesh/objmodel.h for specification.
The default implementation returns an infinite bounding box.
Implements iObjectModel.
| virtual iObjectModel* csMeshObject::GetObjectModel | ( | ) |  [inline, virtual] | 
See imesh/object.h for specification.
Implements iMeshObject.
Definition at line 195 of file meshobjtmpl.h.
| virtual void csMeshObject::GetRadius | ( | float & | radius, | |
| csVector3 & | center | |||
| ) |  [virtual] | 
See imesh/objmodel.h for specification.
The default implementation returns an infinite radius.
Implements iObjectModel.
| virtual csRenderMesh** csMeshObject::GetRenderMeshes | ( | int & | num, | |
| iRenderView * | , | |||
| iMovable * | , | |||
| uint32 | ||||
| ) |  [inline, virtual] | 
See imesh/object.h for specification.
The default implementation does nothing and always returns 0.
Implements iMeshObject.
Definition at line 126 of file meshobjtmpl.h.
| virtual iTerraFormer* csMeshObject::GetTerraFormerColldet | ( | ) |  [inline, virtual] | 
See imesh/objmodel.h for specification.
The default implementation returns 0.
Reimplemented from csObjectModel.
Definition at line 266 of file meshobjtmpl.h.
| virtual iMeshObjectDrawCallback* csMeshObject::GetVisibleCallback | ( | ) | const  [virtual] | 
See imesh/object.h for specification.
This function is handled completely in csMeshObject.
Implements iMeshObject.
| virtual void csMeshObject::HardTransform | ( | const csReversibleTransform & | t | ) |  [virtual] | 
See imesh/object.h for specification.
The default implementation does nothing.
Implements iMeshObject.
| virtual bool csMeshObject::HitBeamObject | ( | const csVector3 & | start, | |
| const csVector3 & | end, | |||
| csVector3 & | isect, | |||
| float * | pr, | |||
| int * | polygon_idx = 0, | |||
| iMaterialWrapper ** | = 0 | |||
| ) |  [virtual] | 
See imesh/object.h for specification.
The default implementation will always return a miss.
Implements iMeshObject.
| virtual bool csMeshObject::HitBeamOutline | ( | const csVector3 & | start, | |
| const csVector3 & | end, | |||
| csVector3 & | isect, | |||
| float * | pr | |||
| ) |  [virtual] | 
See imesh/object.h for specification.
The default implementation will always return a miss.
Implements iMeshObject.
| virtual void csMeshObject::InvalidateMaterialHandles | ( | ) |  [inline, virtual] | 
see imesh/object.h for specification.
The default implementation does nothing.
Implements iMeshObject.
Definition at line 230 of file meshobjtmpl.h.
| virtual void csMeshObject::NextFrame | ( | csTicks | current_time, | |
| const csVector3 & | pos, | |||
| uint | currentFrame | |||
| ) |  [virtual] | 
See imesh/object.h for specification.
The default implementation does nothing.
Implements iMeshObject.
| virtual void csMeshObject::PositionChild | ( | iMeshObject * | , | |
| csTicks | ||||
| ) |  [inline, virtual] | 
see imesh/object.h for specification.
The default implementation does nothing.
Implements iMeshObject.
Definition at line 236 of file meshobjtmpl.h.
| virtual bool csMeshObject::SetColor | ( | const csColor & | color | ) |  [virtual] | 
See imesh/object.h for specification.
The default implementation does not support a base color.
Implements iMeshObject.
| virtual bool csMeshObject::SetMaterialWrapper | ( | iMaterialWrapper * | material | ) |  [virtual] | 
See imesh/object.h for specification.
The default implementation does not support a material.
Implements iMeshObject.
| virtual void csMeshObject::SetMeshWrapper | ( | iMeshWrapper * | logparent | ) |  [virtual] | 
See imesh/object.h for specification.
This function is handled completely in csMeshObject.
Implements iMeshObject.
| virtual void csMeshObject::SetMixMode | ( | uint | ) |  [inline, virtual] | 
Set mix mode. Default implementation doesn't do anything.
Implements iMeshObject.
Definition at line 222 of file meshobjtmpl.h.
| virtual void csMeshObject::SetObjectBoundingBox | ( | const csBox3 & | bbox | ) |  [virtual] | 
See imesh/objmodel.h for specification.
Overrides the default bounding box.
Implements iObjectModel.
| virtual void csMeshObject::SetVisibleCallback | ( | iMeshObjectDrawCallback * | cb | ) |  [virtual] | 
See imesh/object.h for specification.
This function is handled completely in csMeshObject. The actual implementation just has to use the VisCallback variable to perform the callback.
Implements iMeshObject.
| virtual bool csMeshObject::SupportsHardTransform | ( | ) | const  [virtual] | 
See imesh/object.h for specification.
The default implementation returns false.
Implements iMeshObject.
| void csMeshObject::WantToDie | ( | ) |  [protected] | 
Tell the engine that this object wants to be deleted.
Member Data Documentation
| csBox3 csMeshObject::boundingbox  [protected] | 
| iEngine* csMeshObject::Engine  [protected] | 
| csFlags csMeshObject::flags  [protected] | 
| iMeshWrapper* csMeshObject::LogParent  [protected] | 
logical parent (usually the wrapper object from the engine)
Definition at line 83 of file meshobjtmpl.h.
| csRef<iMeshObjectDrawCallback> csMeshObject::VisCallback  [protected] | 
The documentation for this class was generated from the following file:
- cstool/meshobjtmpl.h
Generated for Crystal Space by doxygen 1.4.7

