I3DShConstraint Struct Reference
[Shell Interfaces]
List of all members.
Detailed Description
Constraints provide constraints between Tree Elements. A constraint, known as a link in RDS, defines motion links between Tree Elements. It allows you to define "mechanical" constrains (degrees of freedom) between one Tree Element and its father.
There are two interfaces to access a constraint: The shell interface (I3DShConstraint) and the external interface (I3DExConstraint) . You can get one from the other using QueryInterface.
You should use the Shell interface (I3DShConstraint) to access the component because the Shell will make sure that the parameter map of the external component is valid. This is especially important if the component is animated. For more information on components see the Overview of the SDK.
- See also:
- I3DExConstraint
Member Function Documentation
virtual boolean MCCOMAPI I3DShConstraint::CanUseGimbalRotation |
( |
|
) |
const [pure virtual] |
Returns tue if the gimbal mode is allowed for the constraint.
virtual MCCOMErr MCCOMAPI I3DShConstraint::GetFreedomRange |
( |
int16 |
index, |
|
|
real & |
min, |
|
|
real & |
max | |
|
) |
| | const [pure virtual] |
Returns the maximum range of increment and decrement for a given degree of freedom.
- Parameters:
-
| index | The index of the degree of freedom |
| min | The minimum value |
| max | The maximum value |
virtual MCCOMErr MCCOMAPI I3DShConstraint::GetFreedomValue |
( |
int16 |
index, |
|
|
real & |
outValue | |
|
) |
| | const [pure virtual] |
Get the current value of the given freedom
- Parameters:
-
| index | The degree of freedom |
- See also:
- EFreedomDegree
- Parameters:
-
| outValue | The value of the freedom |
virtual MCCOMErr MCCOMAPI I3DShConstraint::GetGimbalToLocalRotation |
( |
TMatrix33 & |
outRotation |
) |
const [pure virtual] |
Fix for the axis constraint that rotates its Gimbal coordinates.
Returns the constraint for a given degree of freedom.
- Parameters:
-
virtual int16 MCCOMAPI I3DShConstraint::GetNbrFreedom |
( |
|
) |
const [pure 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.
Returns the order used to apply the different rotations.
virtual MCCOMErr MCCOMAPI I3DShConstraint::GetTransform |
( |
TTransform3D & |
transform |
) |
const [pure virtual] |
Returns the rotation matrix and translation vector due to the freedom values.
- Note:
- When the freedom values are initialized the function GetTransform must return the identity matrix for the rotation and a null vector for the translation.
- Parameters:
-
| transform | A reference to a transform. |
virtual MCCOMErr MCCOMAPI I3DShConstraint::GetTransformPartialDerivate |
( |
int16 |
index, |
|
|
TTransform3D & |
transform | |
|
) |
| | const [pure 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.
- Parameters:
-
| index | The degree of freedom used to derivate the transform. |
| transform | The partial derivative of the transform. |
virtual MCCOMErr MCCOMAPI I3DShConstraint::GetTransformSecondPartialDerivative |
( |
int16 |
index1, |
|
|
int16 |
index2, |
|
|
TTransform3D & |
transform | |
|
) |
| | const [pure 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.
- Parameters:
-
| 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. |
virtual MCCOMErr MCCOMAPI I3DShConstraint::IncrementFreedomValue |
( |
int16 |
index, |
|
|
real & |
increment | |
|
) |
| | [pure virtual] |
Modify the value of a degree of freedom by adding an increment
- Parameters:
-
| index | The degree of freedom |
- See also:
- EFreedomDegree
- Parameters:
-
| increment | The increment value |
virtual boolean MCCOMAPI I3DShConstraint::IsNewConstraint |
( |
|
) |
const [pure virtual] |
Sets the transformation matrix.
- Parameters:
-
The documentation for this struct was generated from the following file: