Marine systems simulation
|
#include <ConstraintSet.h>
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) |
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.
|
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
|
protected |
Function purpose is to pass on ConstraintSolver friendship privileges to subclasses Returns the computed acceleration of 'element'
|
protected |
Function purpose is to pass on ConstraintSolver friendship privileges to subclasses Adds a constraint force (force and torque) to 'element'
|
protected |
Adds the 6x6 sub matrix to the global system matrix.
|
protected |
Function purpose is to pass on ConstraintSolver friendship privileges to subclasses Returns the computed angular acceleration of 'element'
|
pure virtual |
Computes and returns the constraint system matrix for the current states (T and X). Adds constraint forces.
Implemented in CoRiBoDynamics::CollisionManager, CoRiBoDynamics::JointConstraint, CoRiBoDynamics::Structures::LineStructure, CoRiBoDynamics::Structures::RingStructure, CoRiBoDynamics::Structures::PointRetractableCable, CoRiBoDynamics::Structures::SupergridCableCollisionManager, CoRiBoDynamics::Structures::SupergridLineStructure, CoRiBoDynamics::Structures::SupergridWinchCable, CoRiBoDynamics::Structures::SupergridWinchCableCollisionManager, CoRiBoDynamics::TrawlCableJointConstraint, CoRiBoDynamics::TrawlCableCollisionManager, CoRiBoDynamics::EnvironmentForces, CoRiBoDynamics::ConstraintCableInterface, BuoyCable, CollarChain, FrameCable, LineStructureGravityHydro, NetTensionCable, ShipContact, Netcage::RingEnvironmentForces, RingStructureGravityHydro, and System::RingCoRiBoForces.
|
protected |
Function purpose is to pass on ConstraintSolver friendship privileges to subclasses Returns a reference to the element vector of the ConstraintSolver
|
protected |
Function purpose is to pass on ConstraintSolver friendship privileges to subclasses Returns the computed second derivatives (acceleration and angular acceleration) of 'element'