Marine systems simulation
CoRiBoDynamics::ConstraintSet Class Referenceabstract

#include <ConstraintSet.h>

+ Inheritance diagram for CoRiBoDynamics::ConstraintSet:

Public Member Functions

 ConstraintSet (ConstraintSolver *solver)
 
virtual void ComputeConstraints (const double T, const double *const X)=0
 

Protected Member Functions

const std::vector< RigidElement * > & ElementVector ()
 
void addConstraintResultantForce (int element, const vec6 &Force)
 
const vec3 Acceleration (int element)
 
const vec3 AngularAcceleration (int element)
 
const vec6 SecondDerivatives (int element)
 
void addMatrix (int i, int j, const mat6 &M)
 

Detailed Description

Author
Jorgen Haavind Jensen

Constraint sets inherit from this class.

The only functionality that is implemented is to establish a unique ConstraintSet-ConstraintSolver relationship, plus the passing of selected friendship privileges to child classes.

Note
The associated ConstraintSolver will take the responsibility of deleting the set and freeing memory.
Revision history:
Q3 2011 JHJ: Initial version.

Constructor & Destructor Documentation

◆ ConstraintSet()

CoRiBoDynamics::ConstraintSet::ConstraintSet ( ConstraintSolver solver)
explicit

Stores the given ConstraintSolver reference, and adds itself to the solver. Note that the solver will take over memory management of the set, and delete it when the solver itself is deleted

Member Function Documentation

◆ Acceleration()

const vec3 CoRiBoDynamics::ConstraintSet::Acceleration ( int  element)
protected

Function purpose is to pass on ConstraintSolver friendship privileges to subclasses Returns the computed acceleration of 'element'

◆ addConstraintResultantForce()

void CoRiBoDynamics::ConstraintSet::addConstraintResultantForce ( int  element,
const vec6 &  Force 
)
protected

Function purpose is to pass on ConstraintSolver friendship privileges to subclasses Adds a constraint force (force and torque) to 'element'

◆ addMatrix()

void CoRiBoDynamics::ConstraintSet::addMatrix ( int  i,
int  j,
const mat6 &  M 
)
protected

Adds the 6x6 sub matrix to the global system matrix.

◆ AngularAcceleration()

const vec3 CoRiBoDynamics::ConstraintSet::AngularAcceleration ( int  element)
protected

Function purpose is to pass on ConstraintSolver friendship privileges to subclasses Returns the computed angular acceleration of 'element'

◆ ComputeConstraints()

◆ ElementVector()

const std::vector< RigidElement * > & CoRiBoDynamics::ConstraintSet::ElementVector ( )
protected

Function purpose is to pass on ConstraintSolver friendship privileges to subclasses Returns a reference to the element vector of the ConstraintSolver

◆ SecondDerivatives()

const vec6 CoRiBoDynamics::ConstraintSet::SecondDerivatives ( int  element)
protected

Function purpose is to pass on ConstraintSolver friendship privileges to subclasses Returns the computed second derivatives (acceleration and angular acceleration) of 'element'


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