opal::JointData Class Reference

A data structure describing a Joint. More...

#include <JointData.h>

List of all members.

Public Member Functions

OPAL_DECL JointData ()
OPAL_DECL JointData (const JointData &data)
virtual OPAL_DECL ~JointData ()
OPAL_DECL void operator= (const JointData &data)
virtual OPAL_DECL void OPAL_CALL setType (JointType type)
virtual OPAL_DECL JointType
OPAL_CALL 
getType () const

Public Attributes

bool enabled
std::string name
Solidsolid0
Solidsolid1
int internal_solid0Index
int internal_solid1Index
std::string solid0BlueprintRefName
std::string solid1BlueprintRefName
Point3r anchor
JointAxis axis [3]
JointBreakMode breakMode
real breakThresh
real accumThresh
real accumDamage
bool contactsEnabled
bool isBroken

Protected Attributes

JointType mType


Detailed Description

A data structure describing a Joint.

Definition at line 82 of file JointData.h.


Constructor & Destructor Documentation

OPAL_DECL opal::JointData::JointData  )  [inline]
 

Definition at line 85 of file JointData.h.

References accumDamage, opal::defaults::joint::accumThresh, accumThresh, opal::defaults::joint::anchor, anchor, axis, opal::defaults::joint::axis0Direction, opal::defaults::joint::axis1Direction, opal::defaults::joint::axis2Direction, opal::defaults::joint::breakMode, breakMode, opal::defaults::joint::breakThresh, breakThresh, opal::defaults::joint::contactsEnabled, contactsEnabled, opal::JointAxis::direction, opal::defaults::joint::enabled, enabled, internal_solid0Index, internal_solid1Index, isBroken, mType, name, solid0, solid0BlueprintRefName, solid1, solid1BlueprintRefName, and opal::defaults::joint::type.

OPAL_DECL opal::JointData::JointData const JointData data  )  [inline]
 

Copy constructor.

Definition at line 111 of file JointData.h.

virtual OPAL_DECL opal::JointData::~JointData  )  [inline, virtual]
 

Definition at line 116 of file JointData.h.


Member Function Documentation

virtual OPAL_DECL JointType OPAL_CALL opal::JointData::getType  )  const [inline, virtual]
 

Returns the Joint's type.

Definition at line 153 of file JointData.h.

Referenced by opal::ODEJoint::attachODEBodies(), opal::ODEJoint::getAnchor(), opal::ODEJoint::getAngle(), opal::ODEJoint::getAxis(), opal::ODEJoint::getDistance(), opal::Joint::getType(), opal::ODEJoint::getVelocity(), opal::ODEJoint::init(), opal::ODEJoint::internal_getJointID(), opal::ODEJoint::setAnchor(), opal::ODEJoint::setAxis(), opal::ODEJoint::setJointParam(), and opal::ODEJoint::setLimitHardness().

OPAL_DECL void opal::JointData::operator= const JointData data  )  [inline]
 

Makes a deep copy.

Definition at line 120 of file JointData.h.

References anchor, axis, enabled, internal_solid0Index, internal_solid1Index, mType, name, solid0, solid0BlueprintRefName, solid1, and solid1BlueprintRefName.

virtual OPAL_DECL void OPAL_CALL opal::JointData::setType JointType  type  )  [inline, virtual]
 

Sets the Joint's type.

Definition at line 147 of file JointData.h.


Member Data Documentation

real opal::JointData::accumDamage
 

The amount of accumulated damage.

Definition at line 200 of file JointData.h.

Referenced by opal::Joint::getAccumulatedDamage(), JointData(), opal::Joint::repairAccumDamage(), and opal::Joint::updateDamage().

real opal::JointData::accumThresh
 

Force/torque exceeding this adds to accumulated damage.

Definition at line 197 of file JointData.h.

Referenced by opal::Joint::getAccumulatedThresh(), JointData(), opal::Joint::setBreakParams(), and opal::Joint::updateDamage().

Point3r opal::JointData::anchor
 

The anchor point for this Joint. This is not used for every Joint type.

Definition at line 184 of file JointData.h.

Referenced by JointData(), operator=(), and opal::Joint::setAnchor().

JointAxis opal::JointData::axis[3]
 

The axes that describe the Joint's degrees of freedom. Not all axes are used for every Joint type.

Definition at line 188 of file JointData.h.

Referenced by opal::Joint::addForce(), opal::Joint::addTorque(), opal::Joint::areLimitsEnabled(), opal::Joint::getData(), opal::Joint::getHighLimit(), opal::Joint::getLimitBounciness(), opal::Joint::getLimitHardness(), opal::Joint::getLowLimit(), JointData(), operator=(), opal::Joint::setAxis(), opal::Joint::setLimitBounciness(), opal::Joint::setLimitHardness(), opal::ODEJoint::setLimitRange(), opal::Joint::setLimitRange(), opal::ODEJoint::setLimitsEnabled(), and opal::Joint::setLimitsEnabled().

JointBreakMode opal::JointData::breakMode
 

Determines how damage is handled.

Definition at line 191 of file JointData.h.

Referenced by opal::ODEJoint::calcStress(), opal::Joint::getBreakingMode(), JointData(), opal::Joint::setBreakParams(), and opal::Joint::updateDamage().

real opal::JointData::breakThresh
 

Joint breaks if force/torque exceeds this value.

Definition at line 194 of file JointData.h.

Referenced by opal::Joint::getBreakThresh(), JointData(), opal::Joint::setBreakParams(), and opal::Joint::updateDamage().

bool opal::JointData::contactsEnabled
 

Determines whether Solids connected by this Joint should make contacts when they collide. If multiple Joints connect the same two Solids, each with different contactsEnabled settings, the behavior is undefined.

Definition at line 206 of file JointData.h.

Referenced by opal::Joint::areContactsEnabled(), JointData(), and opal::Joint::setContactsEnabled().

bool opal::JointData::enabled
 

Determines whether the Joint is enabled.

Definition at line 159 of file JointData.h.

Referenced by opal::Joint::addForce(), opal::Joint::addTorque(), opal::ODEJoint::filterSolidForStaticness(), opal::ODEJoint::internal_update(), opal::Joint::isEnabled(), JointData(), operator=(), and opal::Joint::setEnabled().

int opal::JointData::internal_solid0Index
 

Internal data used for Blueprint instantiation.

Definition at line 171 of file JointData.h.

Referenced by JointData(), and operator=().

int opal::JointData::internal_solid1Index
 

Internal data used for Blueprint instantiation.

Definition at line 174 of file JointData.h.

Referenced by JointData(), and operator=().

bool opal::JointData::isBroken
 

If true, the joint is broken.

Note:
the default is false - joint is not broken

Definition at line 212 of file JointData.h.

Referenced by opal::Joint::isBroken(), JointData(), and opal::Joint::updateDamage().

JointType opal::JointData::mType [protected]
 

The Joint type.

Definition at line 216 of file JointData.h.

Referenced by JointData(), and operator=().

std::string opal::JointData::name
 

An identifier for the Joint.

Definition at line 162 of file JointData.h.

Referenced by opal::Blueprint::addJoint(), opal::Joint::getName(), JointData(), operator=(), and opal::Joint::setName().

Solid* opal::JointData::solid0
 

Pointer to the Joint's Solid0.

Definition at line 165 of file JointData.h.

Referenced by opal::Joint::addForce(), opal::Joint::addTorque(), opal::Joint::getSolid0(), opal::Joint::internal_dependsOnSolid(), JointData(), operator=(), opal::ODEJoint::setEnabled(), opal::Joint::setSolids(), and opal::Joint::wakeSolids().

std::string opal::JointData::solid0BlueprintRefName
 

String used for for intra-Blueprint references.

Definition at line 177 of file JointData.h.

Referenced by JointData(), and operator=().

Solid* opal::JointData::solid1
 

Pointer to the Joint's Solid1.

Definition at line 168 of file JointData.h.

Referenced by opal::Joint::addForce(), opal::Joint::addTorque(), opal::Joint::getSolid1(), opal::Joint::internal_dependsOnSolid(), JointData(), operator=(), opal::ODEJoint::setEnabled(), opal::Joint::setSolids(), and opal::Joint::wakeSolids().

std::string opal::JointData::solid1BlueprintRefName
 

String used for for intra-Blueprint references.

Definition at line 180 of file JointData.h.

Referenced by JointData(), and operator=().


The documentation for this class was generated from the following file:
Generated on Tue May 16 17:49:56 2006 for OPAL by  doxygen 1.4.6-NO