Prismatic joint for translation along the specified arbitrary axis. More...
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< joint > | clone () 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) noexcept | |
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. Frees all pointers. 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), or nullptr for out-of-range access (ie, with bounds checking). 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, std::unique_ptr< joint > &&ptr) |
Set element to given unique_ptr 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, 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... | |
autoPtr< joint > | set (const label i, autoPtr< joint > &ptr) |
Set element to given autoPtr and return old element. More... | |
void | clear () |
Clear the PtrList. Delete allocated entries and set size to zero. More... | |
void | free () |
Free memory and nullify all entries. Does not change the list size. More... | |
void | resize (const label newLen) |
Adjust size of PtrList. More... | |
void | resize_null (const label newLen) |
Set the addressed list to the given size, deleting all existing entries. Afterwards the list contains all nullptr entries. More... | |
joint & | emplace_back (Args &&... args) |
Construct and append an element to the end of the list, return reference to the new list element. More... | |
void | push_back (joint *ptr) |
Append an element to the end of the list. More... | |
void | push_back (std::unique_ptr< joint > &&ptr) |
Move append an element to the end of the list. More... | |
void | push_back (autoPtr< joint > &&ptr) |
Move append an element to the end of the list. More... | |
void | push_back (const refPtr< joint > &ptr) |
Move or clone append a refPtr to the end of the list. More... | |
void | push_back (const tmp< joint > &ptr) |
Move or clone append a tmp to the end of the list. More... | |
void | push_back (PtrList< joint > &&other) |
Move append another list to the end of this list. More... | |
void | push_back (autoPtr< joint > &ptr)=delete |
Disallow push_back with autoPtr without std::move. More... | |
joint & | emplace_set (const label i, Args &&... args) |
Construct and set a new element at given position, (discard old element at that location). More... | |
joint & | emplace (const label i, Args &&... args) |
Same as emplace_set() More... | |
joint & | try_emplace (const label i, Args &&... args) |
Like emplace_set() but will not overwrite an occupied (non-null) location. More... | |
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... | |
void | setSize (const label newLen) |
Same as resize() More... | |
void | append (autoPtr< joint > &ptr) |
Move 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 (std::unique_ptr< 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 (const refPtr< joint > &ptr) |
Move or clone append a tmp 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... | |
void | append (PtrList< joint > &&other) |
Move append another list to the end of this list. More... | |
Public Member Functions inherited from UPtrList< T > | |
constexpr | UPtrList () noexcept=default |
Default construct. More... | |
UPtrList (const label len) | |
Construct with specified size and set all entries to nullptr . More... | |
UPtrList (const UPtrList< T > &list) | |
Copy construct (shallow copies addresses) More... | |
UPtrList (UPtrList< T > &&list) noexcept | |
Move construct. More... | |
UPtrList (UPtrList< T > &list, bool reuse) | |
Construct as shallow copy or re-use as specified. More... | |
UPtrList (PtrList< T > &list) | |
Shallow copy from PtrList. More... | |
UPtrList (const UList< T *> &list) | |
Construct from UList of pointers (shallow copy) More... | |
UPtrList (UList< T > &list) | |
Construct from UList, taking the address of each list element. More... | |
bool | empty () const noexcept |
True if the list is empty (ie, size() is zero) More... | |
label | size () const noexcept |
The number of entries in the list. More... | |
label | capacity () const noexcept |
Size of the underlying storage. More... | |
label | count_nonnull () const noexcept |
The number of non-nullptr entries in the list. More... | |
T & | front () |
Reference to the first element of the list. More... | |
const T & | front () const |
Reference to first element of the list. More... | |
T & | back () |
Reference to the last element of the list. More... | |
const T & | back () const |
Reference to the last element of the list. More... | |
const T * | test (const label i) const |
Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). More... | |
const T * | get (const label i) const |
Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). More... | |
T * | get (const label i) |
Return pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). More... | |
const T * | set (const label i) const |
Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie, with bounds checking). More... | |
void | clear () |
Set list size to zero. More... | |
void | free () |
Nullify all entries. Does not change the list size. More... | |
void | resize (const label newLen) |
Change the size of the list. Any new entries are nullptr . More... | |
void | resize_null (const label newLen) |
Set the list to the given size and set all entries to nullptr . More... | |
label | squeezeNull () |
Squeeze out nullptr entries in the list of pointers after which any null pointers will be at the end of the list. More... | |
void | trimTrailingNull () |
Reduce addressable list size to ignore any trailing null pointers. More... | |
void | push_back (T *ptr) |
Append an element to the end of the list. More... | |
void | push_back (UPtrList< T > &&other) |
Move append another list to the end of this list. More... | |
void | swap (UPtrList< T > &list) noexcept |
Swap content. More... | |
void | transfer (UPtrList< T > &list) |
Transfer contents into this list and annul the argument. More... | |
T * | set (const label i, T *ptr) |
Set element to specified pointer and return the old list element, which can be a nullptr. More... | |
void | reorder (const labelUList &oldToNew, const bool check=false) |
Reorder elements. Reordering must be unique (ie, shuffle). More... | |
void | sortOrder (const labelUList &order, const bool check=false) |
Reorder elements according to new order mapping (newToOld). Reordering must be unique (ie, shuffle). More... | |
void | checkNonNull () const |
Check and raise FatalError if any nullptr exists in the list. More... | |
const T & | at (const label i) const |
Return const reference to the element at given position. FatalError for bounds problem or nullptr. More... | |
T & | at (const label i) |
Return reference to the element at given position. FatalError for bounds problem or nullptr. More... | |
const T & | operator[] (const label i) const |
Return const reference to the element at given position. FatalError for bounds problem or nullptr. Same as at(). More... | |
T & | operator[] (const label i) |
Return reference to the element at given position. FatalError for bounds problem or nullptr. Same as at(). More... | |
FOAM_DEPRECATED_FOR (2022-09, "get(), set() or test() methods") const T *operator()(const label i) const | |
Deprecated(2022-09) - same as get() More... | |
void | operator= (const UPtrList< T > &list) |
Copy assignment (shallow copies addresses) More... | |
void | operator= (UPtrList< T > &&list) |
Move assignment. More... | |
T ** | begin_ptr () noexcept |
Iterator to begin of raw pointers traversal (use with caution) More... | |
T ** | end_ptr () noexcept |
Iterator beyond end of raw pointers traversal (use with caution) More... | |
iterator | begin () |
Return iterator to begin traversal of non-nullptr entries. More... | |
iterator | end () noexcept |
Return iterator beyond end of UPtrList traversal. More... | |
const_iterator | cbegin () const |
Return const_iterator to begin traversal of non-nullptr entries. More... | |
const_iterator | cend () const noexcept |
Return const_iterator beyond end of UPtrList traversal. More... | |
const_iterator | begin () const |
Return const_iterator to begin traversal of non-nullptr entries. More... | |
const_iterator | end () const noexcept |
Return const_iterator beyond end of UPtrList traversal. More... | |
void | setSize (const label n) |
Alias for resize() More... | |
T & | first () |
Reference to the first element of the list. More... | |
const T & | first () const |
Return reference to first element of the list. More... | |
T & | last () |
Return reference to the last element of the list. More... | |
const T & | last () const |
Return reference to the last element of the list. More... | |
void | append (T *ptr) |
Append an element to the end of the list. More... | |
void | append (UPtrList< T > &&other) |
Move append another list to the end of this list. More... | |
label | count () const noexcept |
The number of non-nullptr entries in the list. 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 | |
Public Types inherited from UPtrList< T > | |
typedef T | value_type |
Type of values the list contains. More... | |
typedef T & | reference |
A non-const reference to the value_type. More... | |
typedef const T & | const_reference |
A const reference to the value_type. More... | |
Static Public Member Functions inherited from joint | |
static autoPtr< joint > | New (joint *jointPtr) |
Simple selector to return an autoPtr<joint> of the given joint*. More... | |
static autoPtr< joint > | New (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... | |
Protected Member Functions inherited from UPtrList< T > | |
void | setAddressableSize (const label n) noexcept |
Adjust addressable size. More... | |
label | find_next (label pos) const |
The next non-null entry after the specified position. More... | |
UPtrList (Detail::PtrListDetail< T > &&ptrs) noexcept | |
Low-level move construct. More... | |
Protected Attributes inherited from UPtrList< T > | |
Detail::PtrListDetail< T > | ptrs_ |
The list of pointers. More... | |
Protected Attributes inherited from joint | |
List< spatialVector > | S_ |
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... | |
Prismatic joint for translation along the specified arbitrary axis.
Featherstone, R. (2008). Rigid body dynamics algorithms. Springer. Chapter 4.
Definition at line 65 of file compositeJoint.H.
Construct for given PtrList<joint>
Definition at line 56 of file compositeJoint.C.
composite | ( | const dictionary & | dict | ) |
Construct for given model from dictionary.
Definition at line 63 of file compositeJoint.C.
|
virtual |
Destructor.
Definition at line 78 of file compositeJoint.C.
TypeName | ( | "composite" | ) |
Runtime type information.
|
virtual |
Clone this joint.
Implements joint.
Reimplemented in floating.
Definition at line 70 of file compositeJoint.C.
|
virtual |
Update the model state for this joint.
Implements joint.
Definition at line 85 of file compositeJoint.C.
|
virtual |
Write.
Reimplemented from joint.
Reimplemented in floating.
Definition at line 95 of file compositeJoint.C.
References os(), and joint::write().
|
friend |
Allow the rigidBodyModel class to set the last joint state.
Definition at line 90 of file compositeJoint.H.