00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00027
00029 #ifndef __POSITIONINTERPOLATOR_H__
00030 #define __POSITIONINTERPOLATOR_H__
00031
00032 #include "X3DInterpolatorNode.h"
00033 #include "SFVec3f.h"
00034 #include "MFVec3f.h"
00035
00036 namespace H3D {
00037
00048 class H3DAPI_API PositionInterpolator : public X3DInterpolatorNode {
00049 public:
00050
00057 struct H3DAPI_API SFValue : TypedField< SFVec3f,
00058 Types< SFFloat,
00059 MFFloat,
00060 MFVec3f > >{
00061 virtual void update();
00062 };
00063
00065 PositionInterpolator( Inst< SFNode > _metadata = 0,
00066 Inst< SFFloat > _set_fraction = 0,
00067 Inst< MFFloat > _key = 0,
00068 Inst< MFVec3f > _keyValue = 0,
00069 Inst< SFValue > _value_changed = 0 );
00070
00072 auto_ptr< MFVec3f > keyValue;
00073
00075 auto_ptr< SFValue > value_changed;
00076
00078 static H3DNodeDatabase database;
00079 };
00080 }
00081
00082 #endif