SoJointBall Class Reference
[libipsa classesJoint Classes]

Defines a ball-and-socket joint. More...

#include <SoJointBall.h>

Inheritance diagram for SoJointBall:

Inheritance graph
[legend]
Collaboration diagram for SoJointBall:

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void setParams ()
 SoJointBall (const SbString &BodyOne="", const SbString &BodyTwo="", const SbString &nodeName="")

Static Public Member Functions

static void initClass ()

Public Attributes

SoSFFloat CFM
SoSFFloat ERP
SoSFVec3f soAnchor

Protected Member Functions

virtual void createOdeJoint (const dWorldID soWorldId)
virtual SoNode * createVisualisation ()
virtual void updateOdeJointProperties (const SbMatrix &modelMatrix)

Private Member Functions

 SO_KIT_HEADER (SoJointBall)


Detailed Description

Defines a ball-and-socket joint.

The ball-and-socket joint allows a wide arrange of movement.

ball-and-socket.jpg

A ball and socket joint.

Definition at line 32 of file SoJointBall.h.


Constructor & Destructor Documentation

SoJointBall::SoJointBall ( const SbString &  BodyOne = "",
const SbString &  BodyTwo = "",
const SbString &  nodeName = "" 
)

The parameterized constructor of SoJointBall.

Parameters:
BodyOne name of the first body to connect with (default = "")
BodyTwo name of the second body to connect with (default = "")
nodeName name of the node in the Inventor scenegraph

Definition at line 72 of file SoJointBall.cpp.

References CFM, ERP, SoJoint::INIT_CFM, SoJoint::INIT_ERP, soAnchor, and SoJoint::updateOdeParametersTrigger.


Member Function Documentation

void SoJointBall::createOdeJoint ( const dWorldID  soWorldId  )  [protected, virtual]

This method creates a ball joint using the soWorldId.

Parameters:
soWorldId the ODE world ID used for creating the joint

Reimplemented from SoJoint.

Definition at line 102 of file SoJointBall.cpp.

References SoJoint::soJointGroupId, and SoJoint::soJointId.

SoNode * SoJointBall::createVisualisation (  )  [protected, virtual]

This method must be overridden by any subclass of SoJoint to return a visualisation matching the joint type.

Reimplemented from SoJoint.

Definition at line 128 of file SoJointBall.cpp.

References soAnchor, and SoJoint::VisualisationScale.

void SoJointBall::initClass (  )  [static]

Initialises the class and it's type id variables.

Reimplemented from SoJoint.

Definition at line 60 of file SoJointBall.cpp.

void SoJointBall::setParams (  )  [virtual]

This method must be overridden by any subclass of SoJoint to set the ODE parameters of the object.

Reimplemented from SoJoint.

Definition at line 89 of file SoJointBall.cpp.

References CFM, ERP, and SoJoint::soJointId.

SoJointBall::SO_KIT_HEADER ( SoJointBall   )  [private]

void SoJointBall::updateOdeJointProperties ( const SbMatrix &  modelMatrix  )  [protected, virtual]

This method updates the anchor of the ball joint using the modelMatrix as reference.

Parameters:
modelMatrix model matrix taken from Coin

Reimplemented from SoJoint.

Definition at line 114 of file SoJointBall.cpp.

References soAnchor, and SoJoint::soJointId.


Member Data Documentation

The constraint force mixing (CFM) value used when not at a stop (default = SoJoint::INIT_CFM).

Definition at line 45 of file SoJointBall.h.

Referenced by setParams(), and SoJointBall().

The error reduction parameter (ERP) value used when not at a stop (default = SoJoint::INIT_ERP).

Definition at line 46 of file SoJointBall.h.

Referenced by setParams(), and SoJointBall().

The anchor for the ball-and-socket joint (default = {0.0f, 0.0f, 0.0f}).

Definition at line 44 of file SoJointBall.h.

Referenced by createVisualisation(), SoJointBall(), and updateOdeJointProperties().


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

Get IPSA - Inventor Physics Simulation API at SourceForge.net. Fast, secure and Free Open Source software downloads
Generated on Sat Mar 10 20:00:20 2012 for IPSA by  doxygen 1.5.8