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 __ORIENTATIONINTERPOLATOR_H__
00030 #define __ORIENTATIONINTERPOLATOR_H__
00031
00032 #include "X3DInterpolatorNode.h"
00033 #include "SFRotation.h"
00034 #include "MFRotation.h"
00035
00036 namespace H3D {
00037
00068 class H3DAPI_API OrientationInterpolator : public X3DInterpolatorNode {
00069 public:
00070
00077 struct H3DAPI_API SFValue : TypedField< SFRotation,
00078 Types< SFFloat,
00079 MFFloat,
00080 MFRotation > >{
00081 virtual void update();
00082 };
00083
00085 OrientationInterpolator( Inst< SFNode > _metadata = 0,
00086 Inst< SFFloat > _set_fraction = 0,
00087 Inst< MFFloat > _key = 0,
00088 Inst< MFRotation > _keyValue = 0,
00089 Inst< SFValue > _value_changed = 0 );
00090
00092 auto_ptr< MFRotation > keyValue;
00093
00095 auto_ptr< SFValue > value_changed;
00096
00098 static H3DNodeDatabase database;
00099 };
00100 }
00101
00102 #endif