OpenSim::UnilateralConstraint Class Reference

A parent class for implementing an OpenSim UnilateralConstraint. More...

#include <UnilateralConstraint.h>

Inheritance diagram for OpenSim::UnilateralConstraint:
OpenSim::Constraint OpenSim::ModelComponent OpenSim::Object OpenSim::RollingOnSurfaceConstraint

List of all members.

Public Member Functions

 UnilateralConstraint ()
 Default constructor.
 UnilateralConstraint (const UnilateralConstraint &aUnilateralConstraint)
 Copy constructor.
virtual ~UnilateralConstraint ()
 Destructor.
virtual Objectcopy () const
 Copy this UnilateralConstraint and return a pointer to the copy.
UnilateralConstraintoperator= (const UnilateralConstraint &aUnilateralConstraint)
 Assignment operator.
void copyData (const UnilateralConstraint &aUnilateralConstraint)
 Copy data members from one UnilateralConstraint to another.
 OPENSIM_DECLARE_DERIVED (UnilateralConstraint, Constraint)
virtual void setup (Model &aModel)
 Perform some set up functions that happen after the object has been deserialized or copied.
virtual int getNumConstraintEquations ()
virtual std::vector< bool > unilateralConditionsSatisfied ()

Protected Attributes

int _numConstraintEquations
 number of constraint equations and thus unilateral conditions to be satisfied

Friends

class SimbodyEngine

Detailed Description

A parent class for implementing an OpenSim UnilateralConstraint.

Specific UnilateralConstraints should be derived from this class.

It is expeced that constraints used to model contact will be unilateral. Furthermore, complex contact constraints can themselves employ several SimTK::Constraints. In this case, disabling methods on Constraint should be overriden and the appropriate logic applied to enabling/disabling individual underlying constraints. In most cases, the unilateral conditions should be sufficient to determine the states of the internal (underlying) constraints based on the global disabled condition.

Author:
Ajay Seth
Version:
1.0

Constructor & Destructor Documentation

UnilateralConstraint::UnilateralConstraint (  ) 

Default constructor.

UnilateralConstraint::UnilateralConstraint ( const UnilateralConstraint aUnilateralConstraint  ) 

Copy constructor.

Parameters:
aUnilateralConstraint UnilateralConstraint to be copied.
UnilateralConstraint::~UnilateralConstraint (  )  [virtual]

Destructor.


Member Function Documentation

Object * UnilateralConstraint::copy (  )  const [virtual]

Copy this UnilateralConstraint and return a pointer to the copy.

The copy constructor for this class is used.

Returns:
Pointer to a copy of this UnilateralConstraint.

Reimplemented from OpenSim::Constraint.

Reimplemented in OpenSim::RollingOnSurfaceConstraint.

void UnilateralConstraint::copyData ( const UnilateralConstraint aUnilateralConstraint  ) 

Copy data members from one UnilateralConstraint to another.

Parameters:
aUnilateralConstraint UnilateralConstraint to be copied.

Reimplemented from OpenSim::Constraint.

Reimplemented in OpenSim::RollingOnSurfaceConstraint.

virtual int OpenSim::UnilateralConstraint::getNumConstraintEquations (  )  [inline, virtual]
OpenSim::UnilateralConstraint::OPENSIM_DECLARE_DERIVED ( UnilateralConstraint  ,
Constraint   
)
UnilateralConstraint & UnilateralConstraint::operator= ( const UnilateralConstraint aConstraint  ) 

Assignment operator.

Returns:
Reference to this object.

Reimplemented from OpenSim::Constraint.

Reimplemented in OpenSim::RollingOnSurfaceConstraint.

void UnilateralConstraint::setup ( Model aModel  )  [virtual]

Perform some set up functions that happen after the object has been deserialized or copied.

Parameters:
aEngine dynamics engine containing this UnilateralConstraint.

Reimplemented from OpenSim::Constraint.

Reimplemented in OpenSim::RollingOnSurfaceConstraint.

virtual std::vector<bool> OpenSim::UnilateralConstraint::unilateralConditionsSatisfied (  )  [inline, virtual]

Friends And Related Function Documentation

friend class SimbodyEngine [friend]

Reimplemented from OpenSim::Constraint.

Reimplemented in OpenSim::RollingOnSurfaceConstraint.


Member Data Documentation

number of constraint equations and thus unilateral conditions to be satisfied


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

Generated on Wed Dec 16 15:03:48 2009 for OpenSim by  doxygen 1.6.1