TBasicConstraint Class Reference
[Base Classes for plugins]

Inheritance diagram for TBasicConstraint:
I3DExConstraint TBasicDataExchanger IMCUnknown TBasicUnknown IExDataExchanger TMCObject IMCUnknown IMCUnknown

List of all members.

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)

Detailed Description

Basic constraint class. Derive from this for a default implementation of I3DExConstraint

See also:
I3DExConstraint

Member Function Documentation

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.

Parameters:
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

Parameters:
index The degree of freedom
See also:
EFreedomDegree
Parameters:
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.

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.

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.

Parameters:
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.

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.

Implements I3DExConstraint.

virtual MCCOMErr MCCOMAPI TBasicConstraint::IncrementFreedomValue ( int16  index,
real increment 
) [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

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.

Parameters:
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.


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