PhySuspension class PhySuspension is a joint implementing the system of springs, shock absorbers and linkages that connects a vehicle to a wheel and allows relative motion between the two. More...

Inheritance diagram for PhySuspension:

List of all members.

Public Member Functions

 PhySuspension (const wVector &axis, const wVector &centre, const wVector &x_axis, PhyObject *parent, PhyObject *child, bool cp=true)
 Constructor.
virtual wVector centre () const
 Return the centre of this joint in world coordinate.
virtual void updateJointInfo ()
 Update the Joint informations (each PhyDOF will be updated)

Protected Member Functions

void createPrivateJoint ()
 Engine encapsulation.
virtual void updateJoint (real timestep)

Protected Attributes

wMatrix globalMatrixChild
 Global Matrix respect to Child.
wMatrix globalMatrixParent
 Global Matrix respect to Parent.
wMatrix localMatrixChild
 Local frame of the joint respect to the child matrix.
wMatrix localMatrixParent
 Local frame of the joint respect to the parent matrix.

Detailed Description

PhySuspension class PhySuspension is a joint implementing the system of springs, shock absorbers and linkages that connects a vehicle to a wheel and allows relative motion between the two.

This joint ignore the following options of PhyDOF:

  • the limits are ignored
  • the movement is allowed only by velocity, any other settings will be ignore

Definition at line 41 of file physuspension.h.


Constructor & Destructor Documentation

PhySuspension ( const wVector axis,
const wVector centre,
const wVector x_axis,
PhyObject parent,
PhyObject child,
bool  cp = true 
)

Constructor.

Parameters:
axisis the axis on which the wheel rotates (respect to parent object frame)
centreis the center of wheel rotation (respect to parent object frame)
x_axisis the 'vertical' axis on which the suspesion move up/down the wheel (respect to parent object frame)
parentis the parent object.
childis the child object
cpis internal; ignore it The local frame is translated toward centre and the Z axis is aligned with axis in order to create the complete local coordinate frame of this joint

Definition at line 33 of file physuspension.cpp.

References PhySuspension::centre(), PhySuspension::createPrivateJoint(), PhyJoint::dofsv, PhyJoint::dofv, PhySuspension::globalMatrixParent, wMatrix::inverse(), PhySuspension::localMatrixChild, PhySuspension::localMatrixParent, WObject::matrix(), wMatrix::sanitifize(), and wMatrix::sanityCheck().


Member Function Documentation

wVector centre ( ) const [virtual]

Return the centre of this joint in world coordinate.

Implements PhyJoint.

Definition at line 76 of file physuspension.cpp.

References PhySuspension::globalMatrixParent, PhySuspension::localMatrixParent, WObject::matrix(), and PhyJoint::parent().

Referenced by PhySuspension::PhySuspension().

void createPrivateJoint ( ) [protected]

Engine encapsulation.

Definition at line 84 of file physuspension.cpp.

References PhyJoint::priv.

Referenced by PhySuspension::PhySuspension().


Member Data Documentation

Global Matrix respect to Child.

This represent the local frame of joint in global coordinate starting from localMatrixParent representation.

Definition at line 89 of file physuspension.h.

Referenced by PhySuspension::updateJointInfo().

wMatrix globalMatrixParent [mutable, protected]

Global Matrix respect to Parent.

This represent the local frame of joint in global coordinate starting from localMatrixParent representation.

Note: The differences between globalMatrixParent and globalMatrixChild are due to numerical error on joint solver of physic engine used. Note: This is mutable because it can be changed in the centre() const function

Definition at line 83 of file physuspension.h.

Referenced by PhySuspension::centre(), PhySuspension::PhySuspension(), and PhySuspension::updateJointInfo().

Local frame of the joint respect to the child matrix.

Definition at line 71 of file physuspension.h.

Referenced by PhySuspension::PhySuspension(), and PhySuspension::updateJointInfo().

Local frame of the joint respect to the parent matrix.

This matrix is calculated from Axis and Centre passed to constructor Axis will became the Z-axis of local frame (axis of rotation), and the two others axes are calculated in order to get a local frame Centre is copied as it is into w_pos of localMatrixParent

Definition at line 69 of file physuspension.h.

Referenced by PhySuspension::centre(), PhySuspension::PhySuspension(), and PhySuspension::updateJointInfo().


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