00001 00002 // GL_Box.h // 00004 00005 #ifndef GLBOX_H 00006 #define GLBOX_H 00007 00008 #include "GL_X3DGeometry3DNode.h" 00009 00010 namespace X3DTK { 00011 namespace GL { 00012 00013 class BoxDrawArray; 00014 00016 00017 class Box : public X3DGeometry3DNode 00018 { 00019 public: 00021 Box(); 00023 virtual SFNode clone() const; 00025 virtual ~Box(); 00026 00028 void setSize(SFVec3f size); 00030 void setBoxArray(BoxDrawArray *boxArray); 00031 00033 inline const SFVec3f &getSize() const {return _size;}; 00035 inline BoxDrawArray *getBoxArray() const {return _boxArray;}; 00036 00038 virtual void update(); 00040 virtual void render() const; 00041 00042 protected: 00044 Box(const Box &B); 00045 00046 private: 00048 SFVec3f _size; 00050 BoxDrawArray *_boxArray; 00051 }; 00052 00053 } 00054 } 00055 00056 #endif