00001 #ifndef X3DTK_GL_BOX_H 00002 #define X3DTK_GL_BOX_H 00003 00004 #include "GL_X3DGeometry3DNode.h" 00005 00006 namespace X3DTK { 00007 namespace GL { 00008 00009 class BoxDrawArray; 00010 00017 class Box : public X3DGeometry3DNode 00018 { 00019 public: 00021 Box(); 00023 virtual SFAbstractNode clone() const; 00025 virtual ~Box(); 00026 00028 void setSize(const 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 draw() 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