Classes | Public Member Functions | Static Public Member Functions | Protected Attributes | Friends | List of all members
joint Class Referenceabstract

Abstract base-class for all rigid-body joints. More...

Inheritance diagram for joint:
Inheritance graph
[legend]
Collaboration diagram for joint:
Collaboration graph
[legend]

Classes

class  iNew
 
class  XSvc
 

Public Member Functions

 TypeName ("joint")
 
 declareRunTimeSelectionTable (autoPtr, joint, dictionary,(const dictionary &dict),(dict))
 
 joint (const label nDoF)
 
virtual autoPtr< jointclone () const =0
 
virtual ~joint ()
 
label nDoF () const
 
virtual bool unitQuaternion () const
 
label index () const
 
label qIndex () const
 
const List< spatialVector > & S () const
 
virtual void jcalc (XSvc &J, const scalarField &q, const scalarField &qDot) const =0
 
virtual void write (Ostream &) const
 
quaternion unitQuaternion (const scalarField &q) const
 
void unitQuaternion (const quaternion &quat, scalarField &q) const
 

Static Public Member Functions

static autoPtr< jointNew (joint *jointPtr)
 
static autoPtr< jointNew (const dictionary &dict)
 

Protected Attributes

List< spatialVectorS_
 
label index_
 
label qIndex_
 

Friends

class rigidBodyModel
 
Ostreamoperator<< (Ostream &, const joint &)
 

Detailed Description

Abstract base-class for all rigid-body joints.

Reference:

    Featherstone, R. (2008).
    Rigid body dynamics algorithms.
    Springer.
    Chapter 4.
Source files

Definition at line 81 of file joint.H.

Constructor & Destructor Documentation

◆ joint()

joint ( const label  nDoF)
inline

Definition at line 23 of file jointI.H.

◆ ~joint()

~joint ( )
virtual

Definition at line 71 of file joint.C.

Member Function Documentation

◆ TypeName()

TypeName ( "joint"  )

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr  ,
joint  ,
dictionary  ,
(const dictionary &dict ,
(dict  
)

◆ clone()

virtual autoPtr<joint> clone ( ) const
pure virtual

Implemented in composite, floating, Rs, Rxyz, Ryxz, Rzyx, null, Pa, Px, Pxyz, Py, Pz, Ra, Rx, Ry, and Rz.

◆ New() [1/2]

Foam::autoPtr< Foam::RBD::joint > New ( joint jointPtr)
static

Definition at line 39 of file joint.C.

Referenced by rigidBodyModel::rigidBodyModel().

Here is the caller graph for this function:

◆ New() [2/2]

Foam::autoPtr< Foam::RBD::joint > New ( const dictionary dict)
static

Definition at line 46 of file joint.C.

References dict, Foam::exit(), Foam::FatalIOError, and FatalIOErrorInLookup.

Here is the call graph for this function:

◆ nDoF()

Foam::label nDoF ( ) const
inline

Definition at line 33 of file jointI.H.

Referenced by rigidBodyModel::forwardDynamics(), rigidBodyModel::forwardDynamicsCorrection(), and rigidBodyModel::join_().

Here is the caller graph for this function:

◆ unitQuaternion() [1/3]

bool unitQuaternion ( ) const
inlinevirtual

Reimplemented in Rs.

Definition at line 38 of file jointI.H.

Referenced by Rs::jcalc(), and rigidBodyModel::join_().

Here is the caller graph for this function:

◆ index()

label index ( ) const
inline

◆ qIndex()

label qIndex ( ) const
inline

◆ S()

const Foam::List< Foam::spatialVector > & S ( ) const
inline

Definition at line 53 of file jointI.H.

◆ jcalc()

virtual void jcalc ( XSvc J,
const scalarField q,
const scalarField qDot 
) const
pure virtual

Implemented in composite, Rs, Rxyz, Ryxz, Rzyx, null, Pa, Px, Pxyz, Py, Pz, Ra, Rx, Ry, and Rz.

Referenced by rigidBodyModel::forwardDynamics(), and rigidBodyModel::forwardDynamicsCorrection().

Here is the caller graph for this function:

◆ write()

void write ( Ostream os) const
virtual

Reimplemented in composite, Pa, Ra, and floating.

Definition at line 77 of file joint.C.

References os(), and Foam::type().

Referenced by Foam::RBD::operator<<(), floating::write(), Pa::write(), Ra::write(), and composite::write().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ unitQuaternion() [2/3]

Foam::quaternion unitQuaternion ( const scalarField q) const
inline

Definition at line 62 of file jointI.H.

References Foam::abort(), Field::block(), Foam::FatalError, FatalErrorInFunction, and quaternion::unit().

Here is the call graph for this function:

◆ unitQuaternion() [3/3]

void unitQuaternion ( const quaternion quat,
scalarField q 
) const
inline

Definition at line 78 of file jointI.H.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, quaternion::v(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ rigidBodyModel

friend class rigidBodyModel
friend

Definition at line 118 of file joint.H.

◆ operator<<

Ostream& operator<< ( Ostream ,
const joint  
)
friend

Member Data Documentation

◆ S_

List<spatialVector> S_
protected

◆ index_

label index_
protected

Definition at line 92 of file joint.H.

◆ qIndex_

label qIndex_
protected

Definition at line 95 of file joint.H.


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