00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef S5_MOVABLE_H_INCLUDED_
00019 #define S5_MOVABLE_H_INCLUDED_
00020
00021 #include <Inventor/fields/SoSFVec3f.h>
00022 #include <Inventor/fields/SoSFRotation.h>
00023 #include "S5object.h"
00024
00025
00026
00027 class S5movable : public S5object
00028 {
00029
00030 SO_NODE_HEADER(S5movable);
00031
00032 public:
00033
00034 SoSFVec3f speed;
00035 SoSFVec3f accel;
00036 SoSFFloat maxSpeed;
00037 SoSFRotation rotSpeed;
00038 SoSFRotation rotAccel;
00039 SoSFFloat maxRotSpeed;
00040
00041 S5movable();
00042
00043 virtual void timeTick(SbTime dt);
00044
00045 SoINTERNAL public:
00046
00047 static void initClass();
00048
00049 protected:
00050
00051 virtual void applySpeed(SbTime dt);
00052 virtual void applyAccel(SbTime dt);
00053 virtual void applyRotSpeed(SbTime dt);
00054 virtual void applyRotAccel(SbTime dt);
00055
00056 virtual ~S5movable() {};
00057
00058 };
00059
00060
00061
00062 #endif