Main Page   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 
00002 //                            X3D_NurbsCurve2D.h                              //
00004 
00005 #ifndef NURBSCURVE2D
00006 #define NURBSCURVE2D
00007 
00008 #include "X3DTypes.h"
00009 #include "X3D_X3DParametricGeometryNode.h"
00010 
00011 namespace X3DTK {
00012 namespace X3D {
00013 
00018 
00019 class NurbsCurve2D : public X3DParametricGeometryNode
00020 {
00021 public:
00023   NurbsCurve2D();
00025   NurbsCurve2D(const MFVec2f  &controlPoint,
00026                const SFInt32        &tesselation,
00027                const MFDouble &weight,
00028                const MFDouble &knot,
00029                const SFInt32       & order);
00031   virtual SFAbstractNode clone() const;
00033   virtual ~NurbsCurve2D();
00034 
00036   void setControlPoint(const MFVec2f &controlPoint);
00038   void setTesselation(const SFInt32 &tesselation);
00040   void setWeight(const MFDouble &weight);
00042   void setKnot(const MFDouble &knot);
00044   void setOrder(const SFInt32 &order);
00045 
00047   inline const MFVec2f &getControlPoint() const {return _controlPoint;};
00049   inline const SFInt32 &getTesselation() const {return _tesselation;};
00051   inline const MFDouble &getWeight() const {return _weight;};
00053   inline const MFDouble &getKnot() const {return _knot;};
00055   inline const SFInt32 &getOrder() const {return _order;};
00056 
00058   virtual void load(const X3DFileElement *element);
00060   virtual SFString &write(SFString &output) const;
00061 
00062 protected:
00064   NurbsCurve2D(const NurbsCurve2D &N);
00065 
00066 private:
00068   MFVec2f _controlPoint;
00070   SFInt32 _tesselation;
00072   MFDouble _weight;
00074   MFDouble _knot;
00076   SFInt32 _order;
00077 };
00078 
00079 }
00080 }
00081 
00082 #endif

Generated on Mon Jan 19 10:32:07 2004 for X3DToolKit by doxygen1.2.18