Main Page | Modules | Namespace List | Class Hierarchy | Compound List | File List | Namespace Members | Compound Members | File Members | Related Pages

X3D_NurbsCurve2D.h

Go to the documentation of this file.
00001 #ifndef X3DTK_X3D_NURBSCURVE2D
00002 #define X3DTK_X3D_NURBSCURVE2D
00003 
00004 #include "X3DTypes.h"
00005 #include "X3D_X3DParametricGeometryNode.h"
00006 
00007 namespace X3DTK {
00008 namespace X3D {
00009 
00018 class NurbsCurve2D : public X3DParametricGeometryNode
00019 {
00020 public:
00022   NurbsCurve2D();
00024   NurbsCurve2D(const MFVec2f  &controlPoint,
00025                const SFInt32        &tesselation,
00026                const MFDouble &weight,
00027                const MFDouble &knot,
00028                const SFInt32       & order);
00030   virtual SFAbstractNode clone() const;
00032   virtual ~NurbsCurve2D();
00033 
00035   void setControlPoint(const MFVec2f &controlPoint);
00037   void setTesselation(const SFInt32 &tesselation);
00039   void setWeight(const MFDouble &weight);
00041   void setKnot(const MFDouble &knot);
00043   void setOrder(const SFInt32 &order);
00044 
00046   inline const MFVec2f &getControlPoint() const {return _controlPoint;};
00048   inline const SFInt32 &getTesselation() const {return _tesselation;};
00050   inline const MFDouble &getWeight() const {return _weight;};
00052   inline const MFDouble &getKnot() const {return _knot;};
00054   inline const SFInt32 &getOrder() const {return _order;};
00055 
00057   virtual void load(const X3DFileElement *element);
00059   virtual SFString &write(SFString &output) const;
00060 
00061 protected:
00063   NurbsCurve2D(const NurbsCurve2D &N);
00064 
00065 private:
00067   MFVec2f _controlPoint;
00069   SFInt32 _tesselation;
00071   MFDouble _weight;
00073   MFDouble _knot;
00075   SFInt32 _order;
00076 };
00077 
00078 }
00079 }
00080 
00081 #endif

Generated on Wed Apr 7 12:15:22 2004 for X3DToolKit by doxygen 1.3.3