00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef HINGEJOINT_HH
00028 #define HINGEJOINT_HH
00029
00030 #include "Vector.hh"
00031 #include "Joint.hh"
00032
00033 class World;
00034 class JointGroup;
00035
00036 class HingeJoint : public Joint
00037 {
00039 public: HingeJoint(World *world);
00040
00043 public: HingeJoint( dWorldID worldId, JointGroup *group=NULL );
00044
00045
00046 public: virtual ~HingeJoint();
00047
00048
00049 public: double GetAngle() const;
00050
00051
00052 public: double GetAngleRate() const;
00053
00054
00055 public: virtual double GetParam( int parameter ) const;
00056
00058 public: void SetAnchor(GzVector anchor);
00059
00061 public: void SetAxis(GzVector axis);
00062
00065 public: void SetAnchor( double x, double y, double z );
00066
00069 public: void SetAxis( double x, double y, double z );
00070
00073 public: void GetAnchor( dVector3 result ) const;
00074
00077 public: void GetAxis( dVector3 result ) const;
00078
00079
00080 public: virtual void SetParam( int parameter, double value );
00081
00082 };
00083
00084 #endif
00085