00001
00002
00003
00005
00006
00011
00016
00021
00023
00024 #ifndef NURBSTEXTURESURFACE
00025 #define NURBSTEXTURESURFACE
00026
00027 #include "X3DTypes.h"
00028 #include "X3DTextureCoordinateNode.h"
00029
00030 namespace X3DTK {
00031 namespace X3D {
00032
00037
00038 class NurbsTextureSurface : public X3DTextureCoordinateNode
00039 {
00040 public:
00042 NurbsTextureSurface();
00044 NurbsTextureSurface(const MFVec2f &point,
00045 const MFVec2f &controlPoint,
00046 const MFFloat &weight,
00047 SFInt32 uDimension,
00048 SFInt32 vDimension,
00049 const MFDouble &uKnot,
00050 const MFDouble &vKnot,
00051 SFInt32 uOrder,
00052 SFInt32 vOrder);
00054 virtual SFNode clone() const;
00056 virtual ~NurbsTextureSurface();
00057
00059 void setControlPoint(const MFVec2f &controlPoint);
00061 void setWeight(const MFFloat &weight);
00063 void setUDimension(SFInt32 uDimension);
00065 void setVDimension(SFInt32 vDimension);
00067 void setUKnot(const MFDouble &uKnot);
00069 void setVKnot(const MFDouble &vKnot);
00071 void setUOrder(SFInt32 uOrder);
00073 void setVOrder(SFInt32 vOrder);
00074
00076 inline const MFVec2f &getControlPoint() const {return _controlPoint;};
00078 inline const MFFloat &getWeight() const {return _weight;};
00080 inline SFInt32 getUDimension() const {return _uDimension;};
00082 inline SFInt32 getVDimension() const {return _vDimension;};
00084 inline const MFDouble &getUKnot() const {return _uKnot;};
00086 inline const MFDouble &getVKnot() const {return _vKnot;};
00088 inline SFInt32 getUOrder() const {return _uOrder;};
00090 inline SFInt32 getVOrder() const {return _vOrder;};
00091
00093 virtual void load(const X3DFileElement *element);
00095 virtual SFString write() const;
00096
00097 protected:
00099 NurbsTextureSurface(const NurbsTextureSurface &N);
00100
00101 private:
00103 MFVec2f _controlPoint;
00105 MFFloat _weight;
00107 SFInt32 _uDimension;
00109 SFInt32 _vDimension;
00111 MFDouble _uKnot;
00113 MFDouble _vKnot;
00115 SFInt32 _uOrder;
00117 SFInt32 _vOrder;
00118 };
00119
00120 }
00121 }
00122
00123 #endif