00001 #ifndef X3DTK_X3D_NURBSGROUP 00002 #define X3DTK_X3D_NURBSGROUP 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 NurbsGroup : public X3DGroupingNode, public X3DBoundedObject 00020 { 00021 public: 00023 NurbsGroup(); 00025 NurbsGroup(const SFVec3f &bboxCenter, 00026 const SFVec3f &bboxSize, 00027 const SFFloat &tesselationScale); 00029 virtual SFAbstractNode clone() const; 00031 virtual ~NurbsGroup(); 00032 00034 void setTesselationScale(const SFFloat &tesselationScale); 00035 00037 inline const SFFloat &getTesselation() const {return _tesselationScale;}; 00038 00040 virtual bool addChild(const SFAbstractNode &N); 00042 virtual bool setChild(const SFAbstractNode &N); 00043 00045 virtual void load(const X3DFileElement *element); 00047 virtual SFString &write(SFString &output) const; 00048 00049 protected: 00051 NurbsGroup(const NurbsGroup &N); 00052 00053 private: 00055 SFFloat _tesselationScale; 00056 }; 00057 00058 } 00059 } 00060 00061 #endif