#include <ArticulatedBody.h>
Inheritance diagram for Physsim::ArticulatedBody:

Public Member Functions | |
| Matrix3 | det_collision_matrix (const Matrix3 &collision_frame, const Vector3 &contact_point, RigidBodyPtr colliding_link) |
| Computes the collision matrix K (as described in [Mirtich, 1996], p. 144, for this body only. | |
| virtual void | transform (const Matrix4 &T) |
| Transforms all links in the articulated body by the given transform. | |
| virtual void | correct_joint_limit_collisions (Real collision_tolerance)=0 |
| Abstract method for correcting joint limit collisions. | |
| virtual void | correct_joint_limit_violations ()=0 |
| Abstract method for correcting joint limit violations. | |
| virtual bool | joint_limit_collision (Real collision_tolerance) const=0 |
| Abstract method for determining whether or not there is a collision at the joint-limit. | |
| virtual void | apply_impulse (const Vector3 &j, const Vector3 &k, const Vector3 &p, RigidBodyPtr link)=0 |
| Abstract method for applying an impulse to this articulated body. | |
| virtual VectorN | get_state ()=0 |
| Abstract method for getting the state of the articulated body. | |
| virtual VectorN | get_state_deriv ()=0 |
| Abstract method for getting the state derivative of the articulated body. | |
| virtual void | set_state (const VectorN &state)=0 |
| Abstract method for setting the state of the articulated body. | |
| virtual std::list< RigidBodyPtr > | get_rigid_bodies () const=0 |
| Virtual method for getting all of the rigid bodies (links) that comprise this articulated body. | |
|
virtual std::list< sorted_pair< RigidBodyPtr > > | get_adjacent_links () const=0 |
| Virtual method for getting each pair of adjacent links in the body. | |
| virtual void | reset_accumulators ()=0 |
| Method for resetting the force and torque accumulators on all links. | |
| virtual void | compile ()=0 |
| Method for "compiling" the body (if necessary). | |
Static Public Member Functions | |
| static Matrix3 | det_collision_matrix (const Matrix3 &collision_frame, const Vector3 &contact_point, RigidBodyPtr link1, boost::shared_ptr< RigidBody > link2) |
| void ArticulatedBody::transform | ( | const Matrix4 & | T | ) | [virtual] |
Transforms all links in the articulated body by the given transform.
The given transformation is cumulative; the links will not necessarily be set to T.
Implements Physsim::DynamicBody.
| virtual void Physsim::ArticulatedBody::apply_impulse | ( | const Vector3 & | j, | |
| const Vector3 & | k, | |||
| const Vector3 & | p, | |||
| RigidBodyPtr | link | |||
| ) | [pure virtual] |
Abstract method for applying an impulse to this articulated body.
| j | the linear component of an impulse | |
| k | the angular component of an impulse | |
| p | the point at which to apply the impulse | |
| link | link in the articulated body where the impulse is applied |
Implemented in Physsim::RCArticulatedBody.
1.5.1