Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

physics::ODEContactConstraint Class Reference

Inheritance diagram for physics::ODEContactConstraint:

Inheritance graph
[legend]
Collaboration diagram for physics::ODEContactConstraint:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ODEContactConstraint ()
virtual ~ODEContactConstraint ()
virtual String className () const
virtual void attach (ref< Body > body1, ref< Body > body2)
 attach this constraint to two bodies

virtual ref< BodygetBody (Int index)
 get Body (index is 1 or 2); returns null if unattached

virtual ref< const BodygetBody (Int index) const
virtual void setContactPosition (const Point3 &pos)
 set contact point (in body1 frame)

virtual void setContactNormal (const Vector3 &normal)
 set contact normal (in body1 frame)

virtual void setContactDepth (Real depth)
 set contact depth

virtual void setParameter (const String &name, Real value, Int dof=1)
virtual bool isSameKindAs (const ReferencedObject &) const
virtual bool isSameKindAs (const Object &) const
void reference () const
bool unreference () const
const int referenceCount () const
void enableOnUnreferenceCall (bool enabled)
virtual void onUnreference () const

Protected Member Functions

virtual void onConstraintGroupAdd (ref< ConstraintGroup > g)
 called by ConstraintGroup::addConstraint()

void checkAddedAndAttached () const
virtual void setJointID (dJointID jointID)

Protected Attributes

ref< Bodybody1
ref< Bodybody2
bool addedToGroup
dContact oc
Point3 position
Vector3 normal
Real depth
int _refCount
bool onUnreferenceEnabled
ref< ConstraintGroupgroup
dJointID jointID

Friends

class ODEConstraintGroup

Constructor & Destructor Documentation

physics::ODEContactConstraint::ODEContactConstraint  ) 
 

virtual physics::ODEContactConstraint::~ODEContactConstraint  )  [virtual]
 


Member Function Documentation

virtual void physics::ODEContactConstraint::attach ref< Body body1,
ref< Body body2
[virtual]
 

attach this constraint to two bodies

Implements physics::ContactConstraint.

void physics::ODEContactConstraint::checkAddedAndAttached  )  const [inline, protected]
 

!! check cond.

Definition at line 59 of file ODEContactConstraint.

References Assertm, body1, and body2.

virtual String physics::ODEContactConstraint::className  )  const [inline, virtual]
 

return the name of the object's class type. Must be defined by derived classes.

Implements base::Object.

Definition at line 43 of file ODEContactConstraint.

void base::Referenced::enableOnUnreferenceCall bool  enabled  )  [inline, inherited]
 

If enabled, each call to unreference() will also call virtual method onUnreference()

Definition at line 115 of file Referenced.

References base::Referenced::onUnreferenceEnabled.

virtual ref<const Body> physics::ODEContactConstraint::getBody Int  index  )  const [virtual]
 

Implements physics::ContactConstraint.

virtual ref<Body> physics::ODEContactConstraint::getBody Int  index  )  [virtual]
 

get Body (index is 1 or 2); returns null if unattached

Implements physics::ContactConstraint.

virtual bool base::Object::isSameKindAs const Object  )  const [inline, virtual, inherited]
 

Definition at line 47 of file Object.

virtual bool base::ReferencedObject::isSameKindAs const ReferencedObject  )  const [inline, virtual, inherited]
 

Definition at line 52 of file ReferencedObject.

virtual void physics::ODEContactConstraint::onConstraintGroupAdd ref< ConstraintGroup g  )  [protected, virtual]
 

called by ConstraintGroup::addConstraint()

Implements physics::ODEConstraint.

virtual void base::Referenced::onUnreference  )  const [inline, virtual, inherited]
 

Called by unreference() if enabled via enableOnUnreferenceCall(true). Typically overridden in subclasses that wish to know about unreference() calls - for example to handle manually breaking cyclic references

Reimplemented in robot::control::ControllableAdaptor::AdaptorControlInterface, and robot::control::ControllableAdaptor.

Definition at line 121 of file Referenced.

Referenced by base::Referenced::unreference().

void base::Referenced::reference  )  const [inline, inherited]
 

Increment the reference count by one, indicating that this object has another pointer which is referencing it.

Definition at line 65 of file Referenced.

References base::Referenced::_refCount.

const int base::Referenced::referenceCount  )  const [inline, inherited]
 

Return the number pointers currently referencing this object.

Definition at line 112 of file Referenced.

References base::Referenced::_refCount.

Referenced by robot::control::ControllableAdaptor::AdaptorControlInterface::onUnreference().

virtual void physics::ODEContactConstraint::setContactDepth Real  depth  )  [virtual]
 

set contact depth

Implements physics::ContactConstraint.

virtual void physics::ODEContactConstraint::setContactNormal const Vector3 normal  )  [virtual]
 

set contact normal (in body1 frame)

Implements physics::ContactConstraint.

virtual void physics::ODEContactConstraint::setContactPosition const Point3 pos  )  [virtual]
 

set contact point (in body1 frame)

Implements physics::ContactConstraint.

virtual void physics::ODEConstraint::setJointID dJointID  jointID  )  [inline, protected, virtual, inherited]
 

Parameters:
jointID  call in derived when ODE joint created (dJointDestroy() called by destructor)

Definition at line 45 of file ODEConstraint.

virtual void physics::ODEContactConstraint::setParameter const String &  name,
Real  value,
Int  dof = 1
[inline, virtual]
 

Reimplemented from physics::ContactConstraint.

Definition at line 53 of file ODEContactConstraint.

bool base::Referenced::unreference  )  const [inline, inherited]
 

Decrement the reference count by one, indicating that a pointer to this object is referencing it. If the refence count goes to zero, it is assumed that this object is nolonger referenced and is automatically deleted.

Definition at line 81 of file Referenced.

References base::Referenced::_refCount, Exception, base::Referenced::onUnreference(), and base::Referenced::onUnreferenceEnabled.


Friends And Related Function Documentation

friend class ODEConstraintGroup [friend, inherited]
 

Definition at line 51 of file ODEConstraint.


Member Data Documentation

int base::Referenced::_refCount [mutable, protected, inherited]
 

Definition at line 136 of file Referenced.

Referenced by base::Referenced::reference(), base::Referenced::referenceCount(), base::Referenced::Referenced(), base::Referenced::unreference(), and base::Referenced::~Referenced().

bool physics::ODEContactConstraint::addedToGroup [protected]
 

Definition at line 68 of file ODEContactConstraint.

ref<Body> physics::ODEContactConstraint::body1 [protected]
 

Definition at line 65 of file ODEContactConstraint.

Referenced by checkAddedAndAttached().

ref<Body> physics::ODEContactConstraint::body2 [protected]
 

Definition at line 66 of file ODEContactConstraint.

Referenced by checkAddedAndAttached().

Real physics::ODEContactConstraint::depth [protected]
 

Definition at line 73 of file ODEContactConstraint.

ref<ConstraintGroup> physics::ODEConstraint::group [protected, inherited]
 

Definition at line 48 of file ODEConstraint.

dJointID physics::ODEConstraint::jointID [protected, inherited]
 

Definition at line 49 of file ODEConstraint.

Vector3 physics::ODEContactConstraint::normal [protected]
 

Definition at line 72 of file ODEContactConstraint.

dContact physics::ODEContactConstraint::oc [protected]
 

Definition at line 70 of file ODEContactConstraint.

bool base::Referenced::onUnreferenceEnabled [protected, inherited]
 

Definition at line 137 of file Referenced.

Referenced by base::Referenced::enableOnUnreferenceCall(), base::Referenced::Referenced(), and base::Referenced::unreference().

Point3 physics::ODEContactConstraint::position [protected]
 

Definition at line 71 of file ODEContactConstraint.


The documentation for this class was generated from the following file:
Generated on Thu Jul 29 16:41:04 2004 for OpenSim by doxygen 1.3.6