00001 00002 // X3D_Collision.h // 00004 00005 #ifndef COLLISION_H 00006 #define COLLISION_H 00007 00008 #include "X3D_X3DGroupingNode.h" 00009 #include "X3D_X3DBoundedObject.h" 00010 #include "X3D_X3DSensorNode.h" 00011 00012 namespace X3DTK { 00013 namespace X3D { 00014 00017 00018 class Collision : public X3DGroupingNode, public X3DBoundedObject//, public X3DSensorNode 00019 { 00020 public: 00022 Collision(); 00024 Collision(//const SFBool &enabled, 00025 const SFBool &collide, 00026 const SFVec3f &bboxCenter, 00027 const SFVec3f &bboxSize, 00028 X3DChildNode *proxy); 00030 virtual SFAbstractNode clone() const; 00032 virtual ~Collision(); 00033 00035 void setCollide(const SFBool &collide); 00037 void setProxy(X3DChildNode *proxy); 00038 00040 inline const SFBool &getCollide() const {return _collide;}; 00042 inline SFNode getProxy() const {return _proxy;}; 00043 00045 virtual MFAbstractNode getChildrenList() const; 00046 00048 virtual void load(const X3DFileElement *element); 00050 virtual SFString &write(SFString &output) const; 00051 00052 protected: 00054 Collision(const Collision &C); 00055 00056 private: 00057 SFBool _collide; 00058 SFNode _proxy; 00059 }; 00060 00061 } 00062 } 00063 00064 #endif