00001 #ifndef X3DTK_X3D_NURBSCURVE 00002 #define X3DTK_X3D_NURBSCURVE 00003 00004 #include "X3DTypes.h" 00005 #include "X3D_X3DParametricGeometryNode.h" 00006 00007 namespace X3DTK { 00008 namespace X3D { 00009 00018 class NurbsCurve : public X3DParametricGeometryNode 00019 { 00020 public: 00022 NurbsCurve(); 00024 virtual ~NurbsCurve(); 00025 00027 void setControlPoint(const MFVec3f &controlPoint); 00029 void setTesselation(const SFInt32 &tesselation); 00031 void setWeight(const MFDouble &weight); 00033 void setKnot(const MFDouble &knot); 00035 void setOrder(const SFInt32 &order); 00036 00038 inline const MFVec3f &getControlPoint() const {return _controlPoint;}; 00040 inline const SFInt32 &getTesselation() const {return _tesselation;}; 00042 inline const MFDouble &getWeight() const {return _weight;}; 00044 inline const MFDouble &getKnot() const {return _knot;}; 00046 inline const SFInt32 &getOrder() const {return _order;}; 00047 00048 private: 00050 MFVec3f _controlPoint; 00052 SFInt32 _tesselation; 00054 MFDouble _weight; 00056 MFDouble _knot; 00058 SFInt32 _order; 00059 }; 00060 00061 } 00062 } 00063 00064 #endif