00001 #ifndef X3DTK_X3D_NURBSPOSITIONINTERPOLATOR 00002 #define X3DTK_X3D_NURBSPOSITIONINTERPOLATOR 00003 00004 #include "X3DTypes.h" 00005 #include "X3D_X3DInterpolatorNode.h" 00006 00007 namespace X3DTK { 00008 namespace X3D { 00009 00018 class NurbsPositionInterpolator : public X3DInterpolatorNode 00019 { 00020 public: 00022 NurbsPositionInterpolator(); 00023 00025 void setFractionAbsolute(const SFBool &fractionAbsolute); 00027 void setDimension(const SFInt32 &dimension); 00029 void setKeyValue(const MFVec3f &keyValue); 00031 void setKeyWeight(const MFDouble &keyWeight); 00033 void setKnot(const MFDouble &knot); 00035 void setOrder(const SFInt32 &order); 00036 00038 inline const SFBool &getFractionAbsolute() const {return _fractionAbsolute;}; 00040 inline const SFInt32 &getDimenstion() const {return _dimension;}; 00042 inline const MFVec3f &getKeyValue() const {return _keyValue;}; 00044 inline const MFDouble &getKeyWeight() const {return _keyWeight;}; 00046 inline const MFDouble &getKnot() const {return _knot;}; 00048 inline const SFInt32 &getOrder() const {return _order;}; 00049 00050 private: 00052 SFBool _fractionAbsolute; 00054 SFInt32 _dimension; 00056 MFVec3f _keyValue; 00058 MFDouble _keyWeight; 00060 MFDouble _knot; 00062 SFInt32 _order; 00063 }; 00064 00065 } 00066 } 00067 00068 #endif