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

NurbsCurve.h

Go to the documentation of this file.
00001 
00002 
00003 
00005 
00006 
00011 
00016 
00021 //                            NurbsCurve.h                                    //
00023 
00024 #ifndef NURBSCURVE
00025 #define NURBSCURVE
00026 
00027 #include "X3DTypes.h"
00028 #include "X3DParametricGeometryNode.h"
00029 
00030 namespace X3DTK {
00031 namespace X3D {
00032 
00037 
00038 class NurbsCurve : public X3DParametricGeometryNode
00039 {
00040 public:
00042   NurbsCurve();
00044   NurbsCurve(const MFVec3f  &controlPoint,
00045              SFInt32        tesselation,
00046              const MFDouble &weight,
00047              const MFDouble &knot,
00048              SFInt32        order);
00050   virtual SFNode clone() const;
00052   virtual ~NurbsCurve();
00053 
00055   void setControlPoint(const MFVec3f &controlPoint);
00057   void setTesselation(SFInt32 tesselation);
00059   void setWeight(const MFDouble &weight);
00061   void setKnot(const MFDouble &knot);
00063   void setOrder(SFInt32 order);
00064 
00066   inline const MFVec3f &getControlPoint() const {return _controlPoint;};
00068   inline SFInt32 getTesselation() const {return _tesselation;};
00070   inline const MFDouble &getWeight() const {return _weight;};
00072   inline const MFDouble &getKnot() const {return _knot;};
00074   inline SFInt32 getOrder() const {return _order;};
00075 
00077   virtual void load(const X3DFileElement *element);
00079   virtual SFString write() const;
00080 
00081 protected:
00083   NurbsCurve(const NurbsCurve &N);
00084 
00085 private:
00087   MFVec3f _controlPoint;
00089   SFInt32 _tesselation;
00091   MFDouble _weight;
00093   MFDouble _knot;
00095   SFInt32 _order;
00096 };
00097 
00098 }
00099 }
00100 
00101 #endif

Generated on Wed Sep 10 11:25:14 2003 for X3DToolKit by doxygen1.3