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(); 00024 virtual ~NurbsPositionInterpolator(); 00025 00027 void setFractionAbsolute(const SFBool &fractionAbsolute); 00029 void setDimension(const SFInt32 &dimension); 00031 void setKeyValue(const MFVec3f &keyValue); 00033 void setKeyWeight(const MFDouble &keyWeight); 00035 void setKnot(const MFDouble &knot); 00037 void setOrder(const SFInt32 &order); 00038 00040 inline const SFBool &getFractionAbsolute() const {return _fractionAbsolute;}; 00042 inline const SFInt32 &getDimenstion() const {return _dimension;}; 00044 inline const MFVec3f &getKeyValue() const {return _keyValue;}; 00046 inline const MFDouble &getKeyWeight() const {return _keyWeight;}; 00048 inline const MFDouble &getKnot() const {return _knot;}; 00050 inline const SFInt32 &getOrder() const {return _order;}; 00051 00052 private: 00054 SFBool _fractionAbsolute; 00056 SFInt32 _dimension; 00058 MFVec3f _keyValue; 00060 MFDouble _keyWeight; 00062 MFDouble _knot; 00064 SFInt32 _order; 00065 }; 00066 00067 } 00068 } 00069 00070 #endif