Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

oxygen::UniversalJoint Class Reference

#include <universaljoint.h>

Inheritance diagram for oxygen::UniversalJoint:

Inheritance graph
[legend]
Collaboration diagram for oxygen::UniversalJoint:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 UniversalJoint ()
virtual ~UniversalJoint ()
void SetAnchor (const salt::Vector3f &anchor)
 sets the joint anchor point.
salt::Vector3f GetAnchor (EBodyIndex idx)
 returns the joint anchor point in local coordinates on one of the two bodies.
void SetAxis1 (salt::Vector3f &axis)
 This function sets up the first axis of the joint.
void SetAxis2 (salt::Vector3f &axis)
 This function sets up the second axis of the joint.
salt::Vector3f GetAxis (EAxisIndex idx)
 returns the vector describing one of the two axis (in local coordinates)
float GetAngle (EAxisIndex idx)
 returns one of the axis angles in degrees, measured between the two bodies, or between the body and the static environment.
float GetAngleRate (EAxisIndex idx)
 returns the time derivate of one of the hinge angles
virtual void SetParameter (int parameter, float value)
 sets a joint parameter value
virtual float GetParameter (int parameter)
 returns a joint parameter value

Protected Member Functions

virtual void OnLink ()
 creates a new universal joint

Detailed Description

Definition at line 29 of file universaljoint.h.


Constructor & Destructor Documentation

UniversalJoint::UniversalJoint  ) 
 

Definition at line 27 of file universaljoint.cpp.

UniversalJoint::~UniversalJoint  )  [virtual]
 

Definition at line 31 of file universaljoint.cpp.


Member Function Documentation

Vector3f UniversalJoint::GetAnchor EBodyIndex  idx  ) 
 

returns the joint anchor point in local coordinates on one of the two bodies.

If the joint is perfectly satisfied, the joint anchor point will be the same for both bodies.

Definition at line 54 of file universaljoint.cpp.

References oxygen::Joint::BI_FIRST, oxygen::Joint::BI_SECOND, oxygen::BaseNode::GetLocalPos(), and oxygen::Joint::mODEJoint.

Here is the call graph for this function:

float UniversalJoint::GetAngle EAxisIndex  idx  ) 
 

returns one of the axis angles in degrees, measured between the two bodies, or between the body and the static environment.

Definition at line 120 of file universaljoint.cpp.

References oxygen::Joint::AI_FIRST, oxygen::Joint::AI_SECOND, salt::gRadToDeg(), and oxygen::Joint::mODEJoint.

Here is the call graph for this function:

float UniversalJoint::GetAngleRate EAxisIndex  idx  ) 
 

returns the time derivate of one of the hinge angles

Definition at line 135 of file universaljoint.cpp.

References oxygen::Joint::AI_FIRST, oxygen::Joint::AI_SECOND, salt::gRadToDeg(), and oxygen::Joint::mODEJoint.

Here is the call graph for this function:

Vector3f UniversalJoint::GetAxis EAxisIndex  idx  ) 
 

returns the vector describing one of the two axis (in local coordinates)

Parameters:
idx index of the desired axis

Definition at line 93 of file universaljoint.cpp.

References oxygen::Joint::AI_FIRST, oxygen::Joint::AI_SECOND, oxygen::BaseNode::GetLocalPos(), and oxygen::Joint::mODEJoint.

Here is the call graph for this function:

float UniversalJoint::GetParameter int  parameter  )  [virtual]
 

returns a joint parameter value

Implements oxygen::Joint.

Definition at line 155 of file universaljoint.cpp.

References oxygen::Joint::mODEJoint.

void UniversalJoint::OnLink  )  [protected, virtual]
 

creates a new universal joint

Reimplemented from oxygen::Joint.

Definition at line 35 of file universaljoint.cpp.

References oxygen::ODEObject::GetWorldID(), and oxygen::Joint::mODEJoint.

Here is the call graph for this function:

void UniversalJoint::SetAnchor const salt::Vector3f anchor  ) 
 

sets the joint anchor point.

The joint will try to keep this point on each body together. The input is specified in local coordinates.

Definition at line 47 of file universaljoint.cpp.

References oxygen::BaseNode::GetWorldTransform(), and oxygen::Joint::mODEJoint.

Here is the call graph for this function:

void UniversalJoint::SetAxis1 salt::Vector3f axis  ) 
 

This function sets up the first axis of the joint.

Parameters:
axis a vector describing the axis in relative coordinates

Definition at line 81 of file universaljoint.cpp.

References oxygen::BaseNode::GetWorldTransform(), and oxygen::Joint::mODEJoint.

Here is the call graph for this function:

void UniversalJoint::SetAxis2 salt::Vector3f axis  ) 
 

This function sets up the second axis of the joint.

Parameters:
axis a vector describing the axis in local coordinates

Definition at line 87 of file universaljoint.cpp.

References oxygen::BaseNode::GetWorldTransform(), and oxygen::Joint::mODEJoint.

Here is the call graph for this function:

void UniversalJoint::SetParameter int  parameter,
float  value
[virtual]
 

sets a joint parameter value

Implements oxygen::Joint.

Definition at line 150 of file universaljoint.cpp.

References oxygen::Joint::mODEJoint.


The documentation for this class was generated from the following files:
Generated on Thu Apr 6 15:46:44 2006 for rcssserver3d by  doxygen 1.4.4