csMeshObject Class Reference
This is an abstract implementation of iMeshObject. More...
#include <cstool/meshobjtmpl.h>
Inherits scfImplementationExt1<csMeshObject, csObjectModel, iMeshObject>.
Public Member Functions | |
| virtual void | BuildDecal (const csVector3 *pos, float decalRadius, iDecalBuilder *decalBuilder) |
| see imesh/object.h for specification. | |
| 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 iObjectModel * | GetObjectModel () |
| See imesh/object.h for specification. | |
| virtual void | GetRadius (float &radius, csVector3 ¢er) |
| See imesh/objmodel.h for specification. | |
| virtual CS::Graphics::RenderMesh ** | 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 76 of file meshobjtmpl.h.
Constructor & Destructor Documentation
| csMeshObject::csMeshObject | ( | iEngine * | engine | ) |
Constructor.
| virtual csMeshObject::~csMeshObject | ( | ) | [virtual] |
Destructor.
Member Function Documentation
| virtual void csMeshObject::BuildDecal | ( | const csVector3 * | pos, | |
| float | decalRadius, | |||
| iDecalBuilder * | decalBuilder | |||
| ) | [inline, virtual] |
see imesh/object.h for specification.
The default implementation does nothing.
Definition at line 243 of file meshobjtmpl.h.
| virtual csPtr<iMeshObject> csMeshObject::Clone | ( | ) | [inline, virtual] |
See imesh/object.h for specification.
The default implementation does nothing and returns 0.
Definition at line 116 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.
| virtual iMeshObjectFactory* csMeshObject::GetFactory | ( | ) | const [pure virtual] |
See imesh/object.h for specification.
There is no default implementation for this method.
| virtual csFlags& csMeshObject::GetFlags | ( | ) | [inline, virtual] |
| virtual iMaterialWrapper* csMeshObject::GetMaterialWrapper | ( | ) | const [virtual] |
See imesh/object.h for specification.
The default implementation does not support a material.
| virtual iMeshWrapper* csMeshObject::GetMeshWrapper | ( | ) | const [virtual] |
See imesh/object.h for specification.
This function is handled completely in csMeshObject.
| virtual uint csMeshObject::GetMixMode | ( | ) | const [inline, virtual] |
| virtual const csBox3& csMeshObject::GetObjectBoundingBox | ( | ) | [virtual] |
See imesh/objmodel.h for specification.
The default implementation returns an infinite bounding box.
| virtual iObjectModel* csMeshObject::GetObjectModel | ( | ) | [inline, virtual] |
| virtual void csMeshObject::GetRadius | ( | float & | radius, | |
| csVector3 & | center | |||
| ) | [virtual] |
See imesh/objmodel.h for specification.
The default implementation returns an infinite radius.
| virtual CS::Graphics::RenderMesh** csMeshObject::GetRenderMeshes | ( | int & | num, | |
| iRenderView * | , | |||
| iMovable * | , | |||
| uint32 | ||||
| ) | [inline, virtual] |
See imesh/object.h for specification.
The default implementation does nothing and always returns 0.
Definition at line 127 of file meshobjtmpl.h.
| virtual iTerraFormer* csMeshObject::GetTerraFormerColldet | ( | ) | [inline, virtual] |
See imesh/objmodel.h for specification.
The default implementation returns 0.
Definition at line 270 of file meshobjtmpl.h.
| virtual iMeshObjectDrawCallback* csMeshObject::GetVisibleCallback | ( | ) | const [virtual] |
See imesh/object.h for specification.
This function is handled completely in csMeshObject.
| virtual void csMeshObject::HardTransform | ( | const csReversibleTransform & | t | ) | [virtual] |
See imesh/object.h for specification.
The default implementation does nothing.
| 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.
| 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.
| virtual void csMeshObject::InvalidateMaterialHandles | ( | ) | [inline, virtual] |
see imesh/object.h for specification.
The default implementation does nothing.
Definition at line 231 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.
| virtual void csMeshObject::PositionChild | ( | iMeshObject * | , | |
| csTicks | ||||
| ) | [inline, virtual] |
see imesh/object.h for specification.
The default implementation does nothing.
Definition at line 237 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.
| virtual bool csMeshObject::SetMaterialWrapper | ( | iMaterialWrapper * | material | ) | [virtual] |
See imesh/object.h for specification.
The default implementation does not support a material.
| virtual void csMeshObject::SetMeshWrapper | ( | iMeshWrapper * | logparent | ) | [virtual] |
See imesh/object.h for specification.
This function is handled completely in csMeshObject.
| virtual void csMeshObject::SetMixMode | ( | uint | ) | [inline, virtual] |
Set mix mode. Default implementation doesn't do anything.
Definition at line 223 of file meshobjtmpl.h.
| virtual void csMeshObject::SetObjectBoundingBox | ( | const csBox3 & | bbox | ) | [virtual] |
See imesh/objmodel.h for specification.
Overrides the default bounding box.
| 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.
| virtual bool csMeshObject::SupportsHardTransform | ( | ) | const [virtual] |
See imesh/object.h for specification.
The default implementation returns false.
| 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 84 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 1.4.0 by doxygen 1.5.8
