Public Member Functions
Kinematics Class Reference

## Detailed Description

The Kinematics object represents the kinematics property of an X3DObject object.

See also:
  X3DObject::GetKinematics

Example:
  Illustrates how to convert a position from local coordinates to global coordinates.

            using namespace XSI;
            Application app;
            Model root = app.GetActiveSceneRoot();

            Model myModel;
            CRefArray emptyModel;
            root.AddModel( emptyModel, L"MyModel", myModel );
            myModel.GetParameter(L"posx").PutValue( (double)5.0 );

            Null myNull;
            myModel.AddNull( L"", myNull );
            myNull.GetParameter(L"posx").PutValue( (double)5.0 );

            // get local position
            MATH::CVector3 v3Pos( myNull.GetParameterValue(L"posx"),
                                myNull.GetParameterValue(L"posy"),
                                myNull.GetParameterValue(L"posz") );

            app.LogMessage( L"Local position = " +
                            CValue(v3Pos.GetX()).GetAsText() + L", " +
                            CValue(v3Pos.GetY()).GetAsText() + L", " +
                            CValue(v3Pos.GetZ()).GetAsText() );

            // transform local to global position
            MATH::CVector3 v3GlobalPos = MATH::MapObjectPositionToObjectSpace(
                myNull.GetKinematics().GetGlobal().GetTransform(),
                myNull.GetKinematics().GetLocal().GetTransform(),
                v3Pos );

            app.LogMessage( L"Global position = " +
                            CValue(v3GlobalPos.GetX()).GetAsText() + L", " +
                            CValue(v3GlobalPos.GetY()).GetAsText() + L", " +
                            CValue(v3GlobalPos.GetZ()).GetAsText() );

`#include <xsi_kinematics.h>`

Inheritance diagram for Kinematics:
[legend]

List of all members.

## Public Member Functions
| Kinematics ()
| ~Kinematics ()
| Kinematics (const CRef &in_ref)
| Kinematics (const Kinematics &in_obj)
bool | IsA (siClassID in_ClassID) const
siClassID | GetClassID () const
Kinematics & | operator= (const Kinematics &in_obj)
Kinematics & | operator= (const CRef &in_ref)
CRefArray | GetConstraints () const
CStatus | AddConstraint (const CString &in_preset, const CRefArray &in_cnsning, bool in_bComp, const MATH::CVector3 &in_offsetCnsned, const MATH::CVector3 &in_offsetCnsning, Constraint &out_constraint)
KinematicState | GetLocal () const
KinematicState | GetGlobal () const

## Constructor & Destructor Documentation

Kinematics | ( |  | ) |

Default constructor.

~Kinematics | ( |  | ) |

Default destructor.

Kinematics | ( | const CRef & | in_ref | ) |

Constructor.

Parameters:

  in_ref | constant reference object.

Kinematics | ( | const Kinematics & | in_obj | ) |

Copy constructor.

Parameters:

  in_obj | constant class object.

## Member Function Documentation

bool IsA | ( | siClassID | in_ClassID | ) | const `[virtual]`

Returns true if a given class type is compatible with this API class.

Parameters:

  in_ClassID | class type.

Returns:
  true if the class is compatible, false otherwise.

Reimplemented from Property.

siClassID GetClassID | ( |  | ) | const `[virtual]`

Returns the type of the API class.

Returns:
  The class type.

Reimplemented from Property.

Kinematics& operator= | ( | const Kinematics & | in_obj | ) |

Creates an object from another object. The newly created object is set to empty if the input object is not compatible.

Parameters:

  in_obj | constant class object.

Returns:
  The new Kinematics object.

Kinematics& operator= | ( | const CRef & | in_ref | ) |

Creates an object from a reference object. The newly created object is set to empty if the input reference object is not compatible.

Parameters:

  in_ref | constant class object.

Returns:
  The new Kinematics object.

Reimplemented from Property.

CRefArray GetConstraints | ( |  | ) | const

Returns an array of Constraint objects that are constraining the parent of this object.

Returns:
  Array of Constraint objects.

CStatus AddConstraint | ( | const CString & | in_preset,
|  | const CRefArray & | in_cnsning,
|  | bool | in_bComp,
|  | const MATH::CVector3 & | in_offsetCnsned,
|  | const MATH::CVector3 & | in_offsetCnsning,
|  | Constraint & | out_constraint
| ) |  |

Applies a constraint to this object's parent.

Parameters:

  in_preset | The type of constraint to add.
  in_cnsning | An array of X3DObject references that will act as constrainers.
  in_bComp | Compensation mode, true to turn compensation on.
  in_offsetCnsned | Optional offset which is applied in translation on the constrained object. The offset is used for Distance and Position constraints.
  in_offsetCnsning | Optional offset applied on the constraining object for Distance, Position, Surface and Trajectory constraints. The offset will be applied in rotation for the Orientation constraint, in translation for the Direction constraint and in scaling for the Scaling constraint.

Return values:

  out_constraint | New constraint object

Returns:
  CStatus::OK success
  CStatus::InvalidArgument Preset or constraining objects are invalid.
  CStatus::Fail failure

KinematicState GetLocal | ( |  | ) | const

Returns a KinematicState object containing the local transformation of the X3DObject object (that is, the transformation relative to the parent).

Returns:
  The KinematicState object.

See also:
  X3DObject::GetLocalTranslation, X3DObject::GetLocalScaling, X3DObject::GetLocalRotation, X3DObject::PutLocalTranslation, X3DObject::PutLocalScaling, X3DObject::PutLocalRotation

KinematicState GetGlobal | ( |  | ) | const

Returns a KinematicState object containing the global transformation of the X3DObject object (that is, the transformation relative to the parent).

Returns:
  The KinematicState object.

The documentation for this class was generated from the following file:

- xsi_kinematics.h