# iODEUniversalJoint Struct Reference

A universal joint is like a ball and socket joint that constrains an extra degree of rotational freedom. More...

`#include <ivaria/ode.h>`

Inheritance diagram for iODEUniversalJoint:

List of all members.

## Public Member Functions

virtual csVector3 GetUniversalAnchor1 ()=0
Get the joint anchor point, in world coordinates.
virtual csVector3 GetUniversalAnchor2 ()=0
Get the joint anchor point, in world coordinates.
virtual csVector3 GetUniversalAxis1 ()=0
Get universal axis on body 1.
virtual csVector3 GetUniversalAxis2 ()=0
Get universal axis on body 2.
virtual void SetUniversalAnchor (float x, float y, float z)=0
Set universal anchor.
virtual void SetUniversalAxis1 (float x, float y, float z)=0
Set axis on body 1 (should be perpendicular to axis 2).
virtual void SetUniversalAxis2 (float x, float y, float z)=0
Set axis on body 2 (should be perpendicular to axis 1).

## Detailed Description

A universal joint is like a ball and socket joint that constrains an extra degree of rotational freedom.

Given axis 1 on body 1, and axis 2 on body 2 that is perpendicular to axis 1, it keeps them perpendicular. In other words, rotation of the two bodies about the direction perpendicular to the two axes will be equal.

Definition at line 613 of file ode.h.

## Member Function Documentation

 virtual csVector3 iODEUniversalJoint::GetUniversalAnchor1 ( ) ` [pure virtual]`

Get the joint anchor point, in world coordinates.

This returns the point on body 1. If the joint is perfectly satisfied, this will be the same as the point on body 2.

 virtual csVector3 iODEUniversalJoint::GetUniversalAnchor2 ( ) ` [pure virtual]`

Get the joint anchor point, in world coordinates.

This returns the point on body 2. If the joint is perfectly satisfied, this will be the same as the point on body 1.

 virtual csVector3 iODEUniversalJoint::GetUniversalAxis1 ( ) ` [pure virtual]`

Get universal axis on body 1.

 virtual csVector3 iODEUniversalJoint::GetUniversalAxis2 ( ) ` [pure virtual]`

Get universal axis on body 2.

 virtual void iODEUniversalJoint::SetUniversalAnchor ( float x, float y, float z ) ` [pure virtual]`

Set universal anchor.

 virtual void iODEUniversalJoint::SetUniversalAxis1 ( float x, float y, float z ) ` [pure virtual]`

Set axis on body 1 (should be perpendicular to axis 2).

 virtual void iODEUniversalJoint::SetUniversalAxis2 ( float x, float y, float z ) ` [pure virtual]`

Set axis on body 2 (should be perpendicular to axis 1).

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

Generated for Crystal Space 2.1 by doxygen 1.6.1