00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __KIN_AngleConstraint__
00021 #define __KIN_AngleConstraint__
00022
00023 #include "KIN_API.h"
00024
00025 class KIN_API KIN_AngleConstraint
00026 {
00027 public:
00028 KIN_AngleConstraint();
00029 virtual ~KIN_AngleConstraint();
00030
00031 const KIN_AngleConstraint &operator=(const KIN_AngleConstraint &src);
00032 void setConstraint( float rest[3], float xrange[2],
00033 float yrange[2], float zrange[2],
00034 float damp[3], float roll[3] );
00035 float constrain( int axis, float angle,
00036 float step ) const;
00037
00038 private:
00039 float myRestAngles[3];
00040 float myMinAngles[3], myMaxAngles[3];
00041 float myMinDamp[3], myMaxDamp[3];
00042 float myRolloff[3];
00043 };
00044
00045 #endif