HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
KIN_AngleConstraint.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: KIN_AngleConstraint.h ( Kinematics Library, C++)
7  *
8  * COMMENTS:
9  * Constraint to restrict angle for a given bone.
10  */
11 
12 #ifndef __KIN_AngleConstraint__
13 #define __KIN_AngleConstraint__
14 
15 #include "KIN_API.h"
16 #include <SYS/SYS_Types.h>
17 
19 {
20 public:
22  virtual ~KIN_AngleConstraint();
23 
24  void setConstraint( fpreal rest[3], fpreal xrange[2],
25  fpreal yrange[2], fpreal zrange[2],
26  fpreal damp[3], fpreal roll[3] );
27  fpreal constrain( int axis, fpreal angle,
28  fpreal step ) const;
29 
30 private:
31  fpreal myRestAngles[3];
32  fpreal myMinAngles[3], myMaxAngles[3];
33  fpreal myMinDamp[3], myMaxDamp[3];
34  fpreal myRolloff[3];
35 };
36 
37 #endif
T angle(const Vec2< T > &v1, const Vec2< T > &v2)
Definition: Vec2.h:480
double fpreal
Definition: SYS_Types.h:269
#define KIN_API
Definition: KIN_API.h:10
GA_API const UT_StringHolder rest