Public Member Functions | |
virtual MCCOMErr MCCOMAPI | QueryInterface (const MCIID &riid, void **ppvObj) |
virtual uint32 MCCOMAPI | AddRef () |
virtual int16 MCCOMAPI | GetNbrFreedom () const |
virtual MCCOMErr MCCOMAPI | IncrementFreedomValue (int16 index, real &increment) |
virtual MCCOMErr MCCOMAPI | GetMotionLimit (int16 index, ELimitType &limit) const |
virtual MCCOMErr MCCOMAPI | GetFreedomRange (int16 index, real &min, real &max) const |
virtual MCCOMErr MCCOMAPI | GetFreedomValue (int16 index, real &outValue) const |
virtual MCCOMErr MCCOMAPI | GetRotationsOrder (EEulerAnglesOrder &outOrder) const |
Returns the order used to apply the different rotations. | |
virtual MCCOMErr MCCOMAPI | GetGimbalToLocalRotation (TMatrix33 &outRotation) const |
Fix for the axis constraint that rotates its Gimbal coordinates. | |
virtual MCCOMErr MCCOMAPI | GetTransform (TTransform3D &transform) const |
virtual MCCOMErr MCCOMAPI | GetTransformPartialDerivate (int16 index, TTransform3D &transform) const |
virtual MCCOMErr MCCOMAPI | GetTransformSecondPartialDerivative (int16 index1, int16 index2, TTransform3D &transform) const |
virtual MCCOMErr MCCOMAPI | SetTransform (TTransform3D &transform) |
Basic constraint class. Derive from this for a default implementation of I3DExConstraint
virtual uint32 MCCOMAPI TBasicConstraint::AddRef | ( | ) | [inline, virtual] |
Increments the reference count of the object
Reimplemented from TBasicDataExchanger.
virtual MCCOMErr MCCOMAPI TBasicConstraint::GetFreedomRange | ( | int16 | index, | |
real & | min, | |||
real & | max | |||
) | const [virtual] |
Returns the maximum range of increment and decrement for a given degree of freedom.
index | The index of the degree of freedom | |
min | The minimum value | |
max | The maximum value |
Implements I3DExConstraint.
virtual MCCOMErr MCCOMAPI TBasicConstraint::GetFreedomValue | ( | int16 | index, | |
real & | outValue | |||
) | const [virtual] |
Get the current value of the given freedom
index | The degree of freedom |
outValue | The value of the freedom |
Implements I3DExConstraint.
virtual MCCOMErr MCCOMAPI TBasicConstraint::GetGimbalToLocalRotation | ( | TMatrix33 & | outRotation | ) | const [virtual] |
Fix for the axis constraint that rotates its Gimbal coordinates.
Implements I3DExConstraint.
virtual MCCOMErr MCCOMAPI TBasicConstraint::GetMotionLimit | ( | int16 | index, | |
ELimitType & | limit | |||
) | const [virtual] |
Returns the constraint for a given degree of freedom.
Implements I3DExConstraint.
virtual int16 MCCOMAPI TBasicConstraint::GetNbrFreedom | ( | ) | const [virtual] |
Returns the number of degrees of freedom. Because the freedom value can be limited, you have to give the range of values. This range is defined as a range of increment/decrement around the value.
Implements I3DExConstraint.
virtual MCCOMErr MCCOMAPI TBasicConstraint::GetRotationsOrder | ( | EEulerAnglesOrder & | outOrder | ) | const [virtual] |
Returns the order used to apply the different rotations.
Implements I3DExConstraint.
virtual MCCOMErr MCCOMAPI TBasicConstraint::GetTransform | ( | TTransform3D & | transform | ) | const [virtual] |
Returns the rotation matrix and translation vector due to the freedom values.
transform | A reference to a transform. |
Implements I3DExConstraint.
virtual MCCOMErr MCCOMAPI TBasicConstraint::GetTransformPartialDerivate | ( | int16 | index, | |
TTransform3D & | transform | |||
) | const [virtual] |
To allow the inverse kinematics mechanism to work with a constraint, implement the GetTransfromPartialDerivate() function. A partial derivative transformation is a transformation where each element is derived by a freedom degree.
index | The degree of freedom used to derivate the transform. | |
transform | The partial derivative of the transform. |
Implements I3DExConstraint.
virtual MCCOMErr MCCOMAPI TBasicConstraint::GetTransformSecondPartialDerivative | ( | int16 | index1, | |
int16 | index2, | |||
TTransform3D & | transform | |||
) | const [virtual] |
Returns the second order partial derivative of the transform. A partial derivative transformation is a transformation where each element is derived by a freedom degree.
index1 | The first degree of freedom used to derivate the transform. | |
index2 | The second degree of freedom used to derivate the transform. | |
transform | The partial derivative of the transform. |
Implements I3DExConstraint.
virtual MCCOMErr MCCOMAPI TBasicConstraint::IncrementFreedomValue | ( | int16 | index, | |
real & | increment | |||
) | [virtual] |
Modify the value of a degree of freedom by adding an increment
index | The degree of freedom |
increment | The increment value |
Implements I3DExConstraint.
virtual MCCOMErr MCCOMAPI TBasicConstraint::QueryInterface | ( | const MCIID & | riid, | |
void ** | ppvObj | |||
) | [virtual] |
Check if the object supports a given interface and returns a pointer to that interface if it does. Note that QueryInterface will increment the reference count of the object by one if the interface is found.
riid | GUID of the interface | |
ppvObj | A pointer to the pointer being returned. |
Reimplemented from TBasicDataExchanger.
virtual MCCOMErr MCCOMAPI TBasicConstraint::SetTransform | ( | TTransform3D & | transform | ) | [virtual] |
Sets the transformation matrix.
Implements I3DExConstraint.