Public Methods |
virtual iMeshObjectFactory* | GetFactory () const=0 |
| Get the reference to the factory that created this mesh object.
|
virtual bool | DrawTest (iRenderView *rview, iMovable *movable)=0 |
| First part of Draw. More...
|
virtual void | UpdateLighting (iLight **lights, int num_lights, iMovable *movable)=0 |
| Update lighting for the object on the given position.
|
virtual bool | Draw (iRenderView *rview, iMovable *movable, csZBufMode zbufMode)=0 |
| Draw this mesh object. More...
|
virtual void | SetVisibleCallback (iMeshObjectDrawCallback *cb)=0 |
| Register a callback to the mesh object which will be called from within Draw() if the mesh object thinks that the object is really visible. More...
|
virtual iMeshObjectDrawCallback* | GetVisibleCallback () const=0 |
| Get the current visible callback.
|
virtual void | GetObjectBoundingBox (csBox3 &bbox, int type=CS_BBOX_NORMAL)=0 |
| Get the bounding box in object space for this mesh object. More...
|
virtual void | GetRadius (csVector3 &radius, csVector3 ¢er)=0 |
| Get the radius and center of this object in object space.
|
virtual void | NextFrame (csTicks current_time)=0 |
| Control animation of this object.
|
virtual bool | WantToDie () const=0 |
| If this method returns true this object wants to die. More...
|
virtual void | HardTransform (const csReversibleTransform &t)=0 |
| Do a hard transform of this object. More...
|
virtual bool | SupportsHardTransform () const=0 |
| Return true if HardTransform is supported for this mesh object type.
|
virtual bool | HitBeamOutline (const csVector3 &start, const csVector3 &end, csVector3 &isect, float *pr)=0 |
| Check if this mesh is hit by this object space vector. More...
|
virtual bool | HitBeamObject (const csVector3 &start, const csVector3 &end, csVector3 &isect, float *pr)=0 |
| Check if this mesh is hit by this object space vector. More...
|
virtual long | GetShapeNumber () const=0 |
| Return a number which will change as soon as the object undergoes a fundamental change that affects the maximum bounding box. More...
|
virtual void | SetLogicalParent (iBase *logparent)=0 |
| Set a reference to some logical parent in the context that holds the mesh objects. More...
|
virtual iBase* | GetLogicalParent () const=0 |
| Get the logical parent for this mesh object. More...
|
The mesh object only manages its shape, texture etc. but *not* its position, sector or similar information. For this reason, a mesh object can only be used in the engine if a hook object is created for it in the engine that does the required management. The hook object is called mesh wrapper.