A ball joint constrains all 3 translations. More...
#include <dynJoint.h>
Public Member Functions | |
BallDynJoint (Joint *j1, Joint *j2, Joint *j3, DynamicBody *pLink, DynamicBody *nLink, const transf &pFrame=transf::IDENTITY, const transf &nFrame=transf::IDENTITY) | |
virtual void | getConstraints (char *c) |
Only enforces translation; allows all rotation axes. | |
virtual transf | getNextTrans () |
virtual int | getNumConstraints () |
virtual transf | getPrevTrans () |
virtual DynamicJointT | getType () |
Returns the type of this dynamic joint. | |
virtual void | updateValues () |
Private Attributes | |
Joint * | joint1 |
Revolute joint connected to the end of the prevLink. | |
Joint * | joint2 |
Revolute joint connected to joint1 and joint2. | |
Joint * | joint3 |
Revolute joint connected to the start of the nextLink. |
A ball joint constrains all 3 translations.
A ball joint consits of three co-located revolute joints with perpendicular axes. It constrains the relative translational motion between the two connected links but not of the rotational motions.
Definition at line 254 of file dynJoint.h.
BallDynJoint::BallDynJoint | ( | Joint * | j1, | |
Joint * | j2, | |||
Joint * | j3, | |||
DynamicBody * | pLink, | |||
DynamicBody * | nLink, | |||
const transf & | pFrame = transf::IDENTITY , |
|||
const transf & | nFrame = transf::IDENTITY | |||
) | [inline] |
Initializes the class with pointers and transforms of the two links connected to this joint. It also requires a pointer to the 3 joints in the kinematic chain that this dynJoint is associated with.
Definition at line 270 of file dynJoint.h.
virtual void BallDynJoint::getConstraints | ( | char * | c | ) | [inline, virtual] |
Only enforces translation; allows all rotation axes.
Implements DynJoint.
Definition at line 278 of file dynJoint.h.
transf BallDynJoint::getNextTrans | ( | ) | [virtual] |
Returns the transform from the next link to the coordinate system of this joint
Implements DynJoint.
Definition at line 451 of file dynJoint.cpp.
virtual int BallDynJoint::getNumConstraints | ( | ) | [inline, virtual] |
Returns the number of constrained DOF's for this joint.
Implements DynJoint.
Definition at line 275 of file dynJoint.h.
transf BallDynJoint::getPrevTrans | ( | ) | [virtual] |
Returns the transform from the previous link to the coordinate system of this joint
Implements DynJoint.
Definition at line 445 of file dynJoint.cpp.
virtual DynamicJointT BallDynJoint::getType | ( | ) | [inline, virtual] |
Returns the type of this dynamic joint.
Implements DynJoint.
Definition at line 289 of file dynJoint.h.
void BallDynJoint::updateValues | ( | ) | [virtual] |
After a timestep has been completed, this computes the current joint angles and velocities from the relative positions and velocities of the connected links.
Implements DynJoint.
Definition at line 346 of file dynJoint.cpp.
Joint* BallDynJoint::joint1 [private] |
Revolute joint connected to the end of the prevLink.
Definition at line 256 of file dynJoint.h.
Joint* BallDynJoint::joint2 [private] |
Revolute joint connected to joint1 and joint2.
Definition at line 259 of file dynJoint.h.
Joint* BallDynJoint::joint3 [private] |
Revolute joint connected to the start of the nextLink.
Definition at line 262 of file dynJoint.h.