00001 00002 // NurbsTextureSurface.h // 00004 00005 #ifndef NURBSTEXTURESURFACE 00006 #define NURBSTEXTURESURFACE 00007 00008 #include "X3DTypes.h" 00009 #include "X3DTextureCoordinateNode.h" 00010 00011 namespace X3DTK { 00012 namespace X3D { 00013 00018 00019 class NurbsTextureSurface : public X3DTextureCoordinateNode 00020 { 00021 public: 00023 NurbsTextureSurface(); 00025 NurbsTextureSurface(const MFVec2f &point, 00026 const MFVec2f &controlPoint, 00027 const MFFloat &weight, 00028 SFInt32 uDimension, 00029 SFInt32 vDimension, 00030 const MFDouble &uKnot, 00031 const MFDouble &vKnot, 00032 SFInt32 uOrder, 00033 SFInt32 vOrder); 00035 virtual SFNode clone() const; 00037 virtual ~NurbsTextureSurface(); 00038 00040 void setControlPoint(const MFVec2f &controlPoint); 00042 void setWeight(const MFFloat &weight); 00044 void setUDimension(SFInt32 uDimension); 00046 void setVDimension(SFInt32 vDimension); 00048 void setUKnot(const MFDouble &uKnot); 00050 void setVKnot(const MFDouble &vKnot); 00052 void setUOrder(SFInt32 uOrder); 00054 void setVOrder(SFInt32 vOrder); 00055 00057 inline const MFVec2f &getControlPoint() const {return _controlPoint;}; 00059 inline const MFFloat &getWeight() const {return _weight;}; 00061 inline SFInt32 getUDimension() const {return _uDimension;}; 00063 inline SFInt32 getVDimension() const {return _vDimension;}; 00065 inline const MFDouble &getUKnot() const {return _uKnot;}; 00067 inline const MFDouble &getVKnot() const {return _vKnot;}; 00069 inline SFInt32 getUOrder() const {return _uOrder;}; 00071 inline SFInt32 getVOrder() const {return _vOrder;}; 00072 00074 virtual void load(const X3DFileElement *element); 00076 virtual SFString write() const; 00077 00078 protected: 00080 NurbsTextureSurface(const NurbsTextureSurface &N); 00081 00082 private: 00084 MFVec2f _controlPoint; 00086 MFFloat _weight; 00088 SFInt32 _uDimension; 00090 SFInt32 _vDimension; 00092 MFDouble _uKnot; 00094 MFDouble _vKnot; 00096 SFInt32 _uOrder; 00098 SFInt32 _vOrder; 00099 }; 00100 00101 } 00102 } 00103 00104 #endif