#include <vpscenenode.h>
Inheritance diagram for VPSceneNode:
Public Types | |
enum | TypeID { NONE, GRAPHIC_OBJ, BOX, CONE, CURVE, BEZIER, CYLINDER, IMAGE, IMAGE_2D, VOLUME, MESH_OBJECT, SPHERE, JOINT, BIAXIAL_JOINT, CONDYLAR_JOINT, ELLIPSOID_JOINT, SADDLE_JOINT, PLANE_JOINT, POLYAXIAL_JOINT, UNIAXIAL_JOINT, HINGE_JOINT, PIVOT_JOINT } |
Public Member Functions | |
VPSceneNode () | |
Creates an uninitialized scene node. | |
VPSceneNode (const VPSceneNode &node) | |
virtual | ~VPSceneNode () |
VPSceneNode & | operator= (const VPSceneNode &node) |
const std::string & | GetDescription () const |
Returns a copy of the object's description. | |
void | SetDescription (const std::string &desc) |
Changes the object's description. | |
void | AddChild (const VPSceneNode &child) |
Add a child at the end of child list. | |
virtual bool | DrawOGL () const |
Recursive drawing using OpenGL commands. | |
virtual TypeID | GetID () const |
void | AutoDeleteChildren () const |
Deletes (dealocate memory) recursively all children marked as 'autoDelete'. | |
Protected Member Functions | |
virtual bool | DrawInstanceOGL () const |
Non-recursive drawing - should be overriden by every derived clas. | |
Protected Attributes | |
std::list< const VPSceneNode * > | childList |
Child list. | |
std::string | description |
Textual identification. |
A SceneNode is something directly related to the rendering engine such as shapes (VPGraphicObj), transformations (VPTransform) and lights (VPLight). Several nodes together create an environment (VPScene) that is draw every rendering cicle. SceneNodes have childs to allow creating a hierarchy of objects. This class should be considered abstract.
Definition at line 22 of file vpscenenode.h.
|
Definition at line 26 of file vpscenenode.h. |
|
Creates an uninitialized scene node.
Definition at line 21 of file vpscenenode.cpp. |
|
Definition at line 30 of file vpscenenode.cpp. References childList, and description. |
|
Definition at line 25 of file vpscenenode.cpp. |
|
Add a child at the end of child list.
Definition at line 43 of file vpscenenode.cpp. References childList. |
|
Deletes (dealocate memory) recursively all children marked as 'autoDelete'.
Definition at line 59 of file vpscenenode.cpp. References childList. |
|
Non-recursive drawing - should be overriden by every derived clas.
Reimplemented in VPMesh, VPMeshObject, and VPSphere. Definition at line 53 of file vpscenenode.h. Referenced by DrawOGL(). |
|
Recursive drawing using OpenGL commands.
Reimplemented in VPTransform. Definition at line 48 of file vpscenenode.cpp. References childList, and DrawInstanceOGL(). |
|
Returns a copy of the object's description.
Definition at line 39 of file vpscenenode.h. References description. |
|
Reimplemented in VPMeshObject. Definition at line 47 of file vpscenenode.h. References NONE. |
|
Definition at line 36 of file vpscenenode.cpp. References childList, and description. |
|
Changes the object's description.
Definition at line 41 of file vpscenenode.h. References description. |
|
Child list.
Definition at line 53 of file vpscenenode.h. Referenced by AddChild(), AutoDeleteChildren(), VPGraphicObj::ComputeRecursiveBoundingBox(), VPTransform::DrawOGL(), DrawOGL(), operator=(), and VPSceneNode(). |
|
Textual identification.
Definition at line 58 of file vpscenenode.h. Referenced by GetDescription(), operator=(), VPLight::operator=(), SetDescription(), VPLight::VPLight(), VPSceneNode(), and VPVolume::VPVolume(). |