00001 #ifndef X3DTK_X3D_SWITCH_H 00002 #define X3DTK_X3D_SWITCH_H 00003 00004 #include "X3DTypes.h" 00005 #include "X3D_X3DGroupingNode.h" 00006 #include "X3D_X3DBoundedObject.h" 00007 00008 namespace X3DTK { 00009 namespace X3D { 00010 00019 class Switch : public X3DGroupingNode, public X3DBoundedObject 00020 { 00021 public: 00023 Switch(); 00025 Switch(const SFInt32 &whichChoice, 00026 const SFVec3f &bboxCenter, 00027 const SFVec3f &bboxSize); 00029 virtual SFAbstractNode clone() const; 00031 virtual ~Switch(); 00032 00034 void setWhichChoice(const SFInt32 &whichChoice); 00035 00037 inline const SFInt32 &getWhichChoice() const {return _whichChoice;}; 00038 00040 void load(const X3DFileElement *element); 00042 virtual SFString &write(SFString &output) const; 00043 00044 protected: 00046 Switch(const Switch &T); 00047 00048 private: 00050 SFInt32 _whichChoice; 00051 }; 00052 00053 } 00054 } 00055 00056 #endif