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

X3D_NurbsCurve.h

Go to the documentation of this file.
00001 
00002 //                            X3D_NurbsCurve.h                                //
00004 
00005 #ifndef NURBSCURVE
00006 #define NURBSCURVE
00007 
00008 #include "X3DTypes.h"
00009 #include "X3D_X3DParametricGeometryNode.h"
00010 
00011 namespace X3DTK {
00012 namespace X3D {
00013 
00018 
00019 class NurbsCurve : public X3DParametricGeometryNode
00020 {
00021 public:
00023   NurbsCurve();
00025   NurbsCurve(const MFVec3f  &controlPoint,
00026              const SFInt32        &tesselation,
00027              const MFDouble &weight,
00028              const MFDouble &knot,
00029              const SFInt32        &order);
00031   virtual SFAbstractNode clone() const;
00033   virtual ~NurbsCurve();
00034 
00036   void setControlPoint(const MFVec3f &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 MFVec3f &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   NurbsCurve(const NurbsCurve &N);
00065 
00066 private:
00068   MFVec3f _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