00001 #ifndef X3DTK_X3D_COLLISION_H 00002 #define X3DTK_X3D_COLLISION_H 00003 00004 #include "X3D_X3DGroupingNode.h" 00005 #include "X3D_X3DBoundedObject.h" 00006 #include "X3D_X3DSensorNode.h" 00007 00008 namespace X3DTK { 00009 namespace X3D { 00010 00019 class Collision : public X3DGroupingNode, public X3DBoundedObject//, public X3DSensorNode 00020 { 00021 public: 00023 Collision(); 00025 Collision(//const SFBool &enabled, 00026 const SFBool &collide, 00027 const SFVec3f &bboxCenter, 00028 const SFVec3f &bboxSize, 00029 X3DChildNode *proxy); 00031 virtual SFAbstractNode clone() const; 00033 virtual ~Collision(); 00034 00036 void setCollide(const SFBool &collide); 00038 void setProxy(X3DChildNode *proxy); 00039 00041 inline const SFBool &getCollide() const {return _collide;}; 00043 inline SFNode getProxy() const {return _proxy;}; 00044 00046 virtual MFAbstractNode getChildList() const; 00047 00049 virtual void load(const X3DFileElement *element); 00051 virtual SFString &write(SFString &output) const; 00052 00053 protected: 00055 Collision(const Collision &C); 00056 00057 private: 00058 SFBool _collide; 00059 SFNode _proxy; 00060 }; 00061 00062 } 00063 } 00064 00065 #endif