Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

vpscenenode.h

Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 // ChangeLog is at the implementation file.
00006 
00007 #ifndef __VPSCENENODE_H
00008 #define __VPSCENENODE_H
00009 
00010 #include "vpmemoryobj.h"
00011 #include <list>
00012 #include <string>
00013 
00022 class VPSceneNode : public VPMemoryObj
00023 {
00024     public:
00025     // PUBLIC TYPES
00026         enum TypeID { NONE, GRAPHIC_OBJ, BOX, CONE, CURVE, BEZIER,
00027                       CYLINDER, IMAGE, IMAGE_2D, VOLUME, MESH_OBJECT,
00028                       SPHERE, JOINT, BIAXIAL_JOINT, CONDYLAR_JOINT,
00029                       ELLIPSOID_JOINT, SADDLE_JOINT, PLANE_JOINT,
00030                       POLYAXIAL_JOINT, UNIAXIAL_JOINT, HINGE_JOINT,
00031                       PIVOT_JOINT };
00032     // PUBLIC METHODS
00034         VPSceneNode();
00035         VPSceneNode(const VPSceneNode& node);
00036         virtual ~VPSceneNode();
00037         VPSceneNode& operator=(const VPSceneNode& node);
00039         const std::string& GetDescription() const { return description; }
00041         void SetDescription(const std::string& desc) { description = desc; }
00043         void AddChild(const VPSceneNode& child);
00046         virtual bool DrawOGL() const;
00047         virtual TypeID GetID() const { return NONE; }
00049         void AutoDeleteChildren() const;
00050     protected:
00051     // PROTECTED METHODS
00053         virtual bool DrawInstanceOGL() const { return false; };
00054     // PROTECTED ATTRIBUTES
00056         std::list<const VPSceneNode*> childList;
00058         std::string description;
00059 };
00060 
00061 #endif

Generated on Tue Sep 6 10:00:06 2005 for VPAT by  doxygen 1.4.4