Compound list Compound Members
Object3D Class Reference
3D World Object. More...
List of all members.
Public Members
- Object3D (Mesh* m=NULL)
- Construct a world object.
- virtual long add (Object* O)
- this checks to make sure that any Object added to a Object3D is derived from Object3D.
- Mesh* getMesh ()
- Retrieve the mesh to be rendered for this object.
- void setMesh (Mesh* m)
- Set the mesh to be rendered for this object.
- virtual long render (View& view)
- Main rendering method.
- virtual long preRender (View& view)
- called to determine whether to render this.
- virtual long advance (float Fraction)
- Main progress method.
- long orientSounds ()
- Positions the 3D sounds the object has.
- long startSound (SoundClip* SC, int Loop=1)
- Attaches a soundclip to the object.
- long stopSound (SoundClip* SC)
- Stops a soundclip that is currently playing.
- float getRadius () const
- Get the object's rough radius, (non-optimized bounding sphere).
- long setRadius (const float Radius)
- Set the object's radius, other than its actual one.
- virtual long visible ()
- Returns non-zero if this object should be rendered.
- virtual long radarDetectable ()
- Returns non-zero if it should be added to the radar object, if any.
- virtual int isCollision (Collidable_Object* O)
- implement the abstract Collidable_Object functions.
- virtual long collision (Collidable_Object* O)
- Provides behaviour in case of a collision with another object.
- virtual int isCollidable ()
- Returns non-zero if you want this object to be checked for collisions Defaults to Yes.
Detailed Description
3D World Object.
Connects the concepts of a 3D World and the Mesh.
Provides transformation, movement and collision detection for 3D objects.
Member Function Documentation
Object3D::Object3D(Mesh* m=NULL)
Construct a world object.
Requires the world the object is in,
the mesh that is associated with the object and the object's
parent in the objects hierarchy. The parent defaults to the
world in case the parameter is NULL.
virtual long Object3D::add(Object* O) [virtual]
this checks to make sure that any Object added to a Object3D is derived from Object3D.
Returns -1 if dynamic_cast fails.
Mesh* Object3D::getMesh()
Retrieve the mesh to be rendered for this object.
void Object3D::setMesh(Mesh* m)
Set the mesh to be rendered for this object.
This can be NULL
to render nothing for this object. If not NULL, object radius is set to
the mesh's radius.
virtual long Object3D::render(View& view) [virtual]
Main rendering method.
Renders the object to the current active camera.
The parameter is specified as a View so that this render function will
override the version in the base class World_Object, but the parameter
must actually be of the View3D type.
virtual long Object3D::preRender(View& view) [virtual]
called to determine whether to render this.
Default implementation simply
returns !visible().
virtual long Object3D::advance(float Fraction) [virtual]
Main progress method.
The Fraction indicates how much progress should be done.
For example: If this objects advances at speed 5 units per second,
and Fraction=0.2 then the object should advance 5*0.2=1 unit.
This allows keeping a synchronized behaviour, regardless to frame rate.
long Object3D::orientSounds()
Positions the 3D sounds the object has.
(Called by advance automatically)
long Object3D::startSound(SoundClip* SC, int Loop=1)
Attaches a soundclip to the object.
This must be dynamically allocated,
and the object will delete it automatically.
long Object3D::stopSound(SoundClip* SC)
Stops a soundclip that is currently playing.
Note: Stopping the soundclip, causes it to be deleted.
float Object3D::getRadius() const
Get the object's rough radius, (non-optimized bounding sphere).
long Object3D::setRadius(const float Radius)
Set the object's radius, other than its actual one.
virtual long Object3D::visible() [virtual]
Returns non-zero if this object should be rendered.
Defaults to Yes
virtual long Object3D::radarDetectable() [virtual]
Returns non-zero if it should be added to the radar object, if any.
Defaults to Yes
virtual int Object3D::isCollision(Collidable_Object* O) [virtual]
implement the abstract Collidable_Object functions.
virtual long Object3D::collision(Collidable_Object* O) [virtual]
Provides behaviour in case of a collision with another object.
Defaults to nothing.
virtual int Object3D::isCollidable() [virtual]
Returns non-zero if you want this object to be checked for collisions Defaults to Yes.
The documentation for this class was generated from the following file: