composite Class Reference

Prismatic joint for translation along the specified arbitrary axis. More...

Inheritance diagram for composite:
[legend]
Collaboration diagram for composite:
[legend]

Public Member Functions

 TypeName ("composite")
 Runtime type information. More...
 
 composite (const PtrList< joint > &joints)
 Construct for given PtrList<joint> More...
 
 composite (const dictionary &dict)
 Construct for given model from dictionary. More...
 
virtual autoPtr< jointclone () const
 Clone this joint. More...
 
virtual ~composite ()
 Destructor. More...
 
virtual void jcalc (joint::XSvc &J, const scalarField &q, const scalarField &qDot) const
 Update the model state for this joint. More...
 
virtual void write (Ostream &) const
 Write. More...
 
- Public Member Functions inherited from PtrList< joint >
constexpr PtrList () noexcept
 Default construct. More...
 
 PtrList (const label len)
 Construct with specified size, each element initialized to nullptr. More...
 
 PtrList (const PtrList< joint > &list)
 Copy construct using 'clone()' method on each element. More...
 
 PtrList (PtrList< joint > &&list)
 Move construct. More...
 
 PtrList (UList< joint * > &list)
 Take ownership of pointers in the list, set old pointers to null. More...
 
 PtrList (const PtrList< joint > &list, const CloneArg &cloneArgs)
 Copy construct using 'clone()' method on each element. More...
 
 PtrList (PtrList< joint > &list, bool reuse)
 Construct as copy or re-use as specified. More...
 
 PtrList (const SLPtrList< joint > &list)
 Copy construct using 'clone()' on each element of SLPtrList<T> More...
 
 PtrList (Istream &is, const INew &inew)
 Construct from Istream using given Istream constructor class. More...
 
 PtrList (Istream &is)
 Construct from Istream using default Istream constructor class. More...
 
 ~PtrList ()
 Destructor. More...
 
PtrList< joint > clone (Args &&... args) const
 Make a copy by cloning each of the list elements. More...
 
Foam::PtrList< joint > clone (Args &&... args) const
 
const joint * set (const label i) const
 Return const pointer to element (can be nullptr),. More...
 
autoPtr< joint > set (const label i, joint *ptr)
 Set element to given pointer and return old element (can be null) More...
 
autoPtr< joint > set (const label i, autoPtr< joint > &ptr)
 Set element to given autoPtr and return old element. More...
 
autoPtr< joint > set (const label i, autoPtr< joint > &&ptr)
 Set element to given autoPtr and return old element. More...
 
autoPtr< joint > set (const label i, std::unique_ptr< joint > &&ptr)
 Set element to given unique_ptr and return old element. More...
 
autoPtr< joint > set (const label i, const refPtr< joint > &ptr)
 Set element to given refPtr and return old element. More...
 
autoPtr< joint > set (const label i, const tmp< joint > &ptr)
 Set element to given tmp and return old element. More...
 
void clear ()
 Clear the PtrList. Delete allocated entries and set size to zero. More...
 
void resize (const label newLen)
 Adjust size of PtrList. More...
 
void setSize (const label newLen)
 Same as resize() More...
 
void emplace_append (Args &&... args)
 Construct and append an element to the end of the list. More...
 
void append (joint *ptr)
 Append an element to the end of the list. More...
 
void append (autoPtr< joint > &ptr)
 Move append an element to the end of the list. More...
 
void append (autoPtr< joint > &&ptr)
 Move append an element to the end of the list. More...
 
void append (std::unique_ptr< joint > &&ptr)
 Move append an element to the end of the list. More...
 
void append (const refPtr< joint > &ptr)
 Move or clone append a refPtr to the end of the list. More...
 
void append (const tmp< joint > &ptr)
 Move or clone append a tmp to the end of the list. More...
 
autoPtr< joint > emplace (const label i, Args &&... args)
 Construct and set an element. More...
 
Foam::autoPtr< joint > emplace (const label i, Args &&... args)
 
autoPtr< joint > release (const label i)
 Release ownership of the pointer at the given position. More...
 
void transfer (PtrList< joint > &list)
 Transfer into this list and annul the argument list. More...
 
void operator= (const PtrList< joint > &list)
 Copy assignment. More...
 
void operator= (PtrList< joint > &&list)
 Move assignment. More...
 
- Public Member Functions inherited from joint
 TypeName ("joint")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, joint, dictionary,(const dictionary &dict),(dict))
 
 joint (const label nDoF)
 Construct joint setting the size of the motion sub-space. More...
 
virtual ~joint ()
 Destructor. More...
 
label nDoF () const
 Return the number of degrees of freedom in this joint. More...
 
virtual bool unitQuaternion () const
 Return true if this joint describes rotation using a quaternion. More...
 
label index () const
 Return the index of this joint in the model. More...
 
label qIndex () const
 Return start index for the state variables for this joint. More...
 
const List< spatialVector > & S () const
 Return the joint motion sub-space. More...
 
quaternion unitQuaternion (const scalarField &q) const
 Return the unit quaternion for this joint. More...
 
void unitQuaternion (const quaternion &quat, scalarField &q) const
 Set the unit quaternion for this joint. More...
 

Friends

class Foam::RBD::rigidBodyModel
 Allow the rigidBodyModel class to set the last joint state. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from joint
static autoPtr< jointNew (joint *jointPtr)
 Simple selector to return an autoPtr<joint> of the given joint*. More...
 
static autoPtr< jointNew (const dictionary &dict)
 Select from dictionary. More...
 
- Protected Member Functions inherited from PtrList< joint >
void readIstream (Istream &is, const INew &inew)
 Read from Istream using Istream constructor class. More...
 
void free ()
 Delete the allocated entries, but retain the list size. More...
 
- Protected Attributes inherited from joint
List< spatialVectorS_
 Joint motion sub-space. More...
 
label index_
 Index of this joint in the rigidBodyModel. More...
 
label qIndex_
 Index of this joints data in the rigidBodyModel state. More...
 

Detailed Description

Prismatic joint for translation along the specified arbitrary axis.

Reference:

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

Definition at line 69 of file compositeJoint.H.

Constructor & Destructor Documentation

◆ composite() [1/2]

composite ( const PtrList< joint > &  joints)

Construct for given PtrList<joint>

Definition at line 63 of file compositeJoint.C.

◆ composite() [2/2]

composite ( const dictionary dict)

Construct for given model from dictionary.

Definition at line 70 of file compositeJoint.C.

◆ ~composite()

~composite ( )
virtual

Destructor.

Definition at line 85 of file compositeJoint.C.

Member Function Documentation

◆ TypeName()

TypeName ( "composite"  )

Runtime type information.

◆ clone()

Foam::autoPtr< Foam::RBD::joint > clone ( ) const
virtual

Clone this joint.

Implements joint.

Reimplemented in floating.

Definition at line 77 of file compositeJoint.C.

◆ jcalc()

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

Update the model state for this joint.

Implements joint.

Definition at line 92 of file compositeJoint.C.

◆ write()

void write ( Ostream os) const
virtual

Write.

Reimplemented from joint.

Reimplemented in floating.

Definition at line 102 of file compositeJoint.C.

References os(), and joint::write().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ Foam::RBD::rigidBodyModel

friend class Foam::RBD::rigidBodyModel
friend

Allow the rigidBodyModel class to set the last joint state.

Definition at line 87 of file compositeJoint.H.


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