I3DExConstraint Struct Reference
[External Interfaces]

Inheritance diagram for I3DExConstraint:
IMCUnknown TBasicConstraint

List of all members.

Public Member Functions

virtual int16 MCCOMAPI GetNbrFreedom () const =0
virtual MCCOMErr MCCOMAPI IncrementFreedomValue (int16 index, real &increment)=0
virtual MCCOMErr MCCOMAPI GetMotionLimit (int16 index, ELimitType &limit) const =0
virtual MCCOMErr MCCOMAPI GetFreedomRange (int16 index, real &min, real &max) const =0
virtual MCCOMErr MCCOMAPI GetFreedomValue (int16 index, real &outValue) const =0
virtual MCCOMErr MCCOMAPI GetRotationsOrder (EEulerAnglesOrder &outOrder) const =0
 Returns the order used to apply the different rotations.
virtual MCCOMErr MCCOMAPI GetGimbalToLocalRotation (TMatrix33 &outRotation) const =0
 Fix for the axis constraint that rotates its Gimbal coordinates.
virtual MCCOMErr MCCOMAPI GetTransform (TTransform3D &transform) const =0
virtual MCCOMErr MCCOMAPI GetTransformPartialDerivate (int16 index, TTransform3D &transform) const =0
virtual MCCOMErr MCCOMAPI GetTransformSecondPartialDerivative (int16 index1, int16 index2, TTransform3D &transform) const =0
virtual MCCOMErr MCCOMAPI SetTransform (TTransform3D &transform)=0

Detailed Description

I3DExConstraint provides 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.


Member Function Documentation

virtual MCCOMErr MCCOMAPI I3DExConstraint::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

Implemented in TBasicConstraint.

virtual MCCOMErr MCCOMAPI I3DExConstraint::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

Implemented in TBasicConstraint.

virtual MCCOMErr MCCOMAPI I3DExConstraint::GetGimbalToLocalRotation ( TMatrix33 outRotation  )  const [pure virtual]

Fix for the axis constraint that rotates its Gimbal coordinates.

Implemented in TBasicConstraint.

virtual MCCOMErr MCCOMAPI I3DExConstraint::GetMotionLimit ( int16  index,
ELimitType limit 
) const [pure virtual]

Returns the constraint for a given degree of freedom.

Implemented in TBasicConstraint.

virtual int16 MCCOMAPI I3DExConstraint::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.

Implemented in TBasicConstraint.

virtual MCCOMErr MCCOMAPI I3DExConstraint::GetRotationsOrder ( EEulerAnglesOrder outOrder  )  const [pure virtual]

Returns the order used to apply the different rotations.

Implemented in TBasicConstraint.

virtual MCCOMErr MCCOMAPI I3DExConstraint::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.

Implemented in TBasicConstraint.

virtual MCCOMErr MCCOMAPI I3DExConstraint::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.

Implemented in TBasicConstraint.

virtual MCCOMErr MCCOMAPI I3DExConstraint::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.

Implemented in TBasicConstraint.

virtual MCCOMErr MCCOMAPI I3DExConstraint::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

Implemented in TBasicConstraint.

virtual MCCOMErr MCCOMAPI I3DExConstraint::SetTransform ( TTransform3D transform  )  [pure virtual]

Sets the transformation matrix.

Implemented in TBasicConstraint.


The documentation for this struct was generated from the following file:
Generated on Mon Apr 26 22:47:37 2010 for Carrara SDK Doc by  doxygen 1.6.3