Marine systems simulation
CoRiBoDynamics::RigidElement Class Referenceabstract

#include <RigidElement.h>

+ Inheritance diagram for CoRiBoDynamics::RigidElement:

Public Member Functions

virtual void Setup (double T, const double *const X)
 
virtual const mat6 & InertialMatrix ()=0
 
virtual const vec6 & Forces ()=0
 full 6x6 Inertia Matrix More...
 
const vec3 & P ()
 Coriolis forces and other.
 
const Quat & Q ()
 Position.
 
const vec3 & V ()
 Velocity.
 
const vec3 & W ()
 Orientation.
 
const vec3 P (const double *const X)
 Angular velocity.
 
const Quat Q (const double *const X)
 Position.
 
const vec3 V (const double *const X)
 Velocity.
 
const vec3 W (const double *const X)
 Orientation.
 
int ix_P ()
 Angular velocity.
 
int ix_Q ()
 index of Position state
 
int ix_V ()
 index of Orientation state
 
int ix_W ()
 index of Velocity state
 
int ix_N ()
 index of Angular velocity state
 
const mat3 & RotationMatrix ()
 CoRiBoDynamics element index.
 

Protected Member Functions

void set_element_index (int N)
 Orientation in 3x3 matrix form.
 

Protected Attributes

int m_ix_N
 
int m_ix_P
 
int m_ix_Q
 
int m_ix_V
 
int m_ix_W
 
vec3 m_P
 
Quat m_Q
 
vec3 m_V
 
vec3 m_W
 
mat3 m_RotationMatrix
 

Friends

class ConstraintSolver
 

Detailed Description

Author
Jorgen Haavind Jensen

Contains the basic functionality of a 6-degree-of-freedom rigid object.

Member Function Documentation

◆ Forces()

virtual const vec6 & CoRiBoDynamics::RigidElement::Forces ( )
pure virtual

◆ Setup()

virtual void CoRiBoDynamics::RigidElement::Setup ( double  T,
const double *const  X 
)
virtual

Update internal states (position/velocity/inertia etc.)

The basic implementation updates basic state vectors (P,V,Q,W,R) and and kinematic relations (Q_dot)

Reimplemented in CoRiBoDynamics::StandardRigidElement, and CoRiBoDynamics::Structures::ModifiableRigidElement.


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