Templated 3D spatial vector derived from VectorSpace used to represent the anglular and linear components of position, velocity and acceleration of rigid bodies. More...
Classes | |
class | dual |
Class to represent the dual spatial vector. More... | |
Public Types | |
enum | components { WX , WY , WZ , LX , LY , LZ } |
Component labeling enumeration. More... | |
Public Types inherited from VectorSpace< SpatialVector< Cmpt >, Cmpt, 6 > | |
typedef VectorSpace< SpatialVector< Cmpt >, Cmpt, Ncmpts > | vsType |
VectorSpace type. More... | |
typedef Cmpt | cmptType |
Component type. More... | |
Public Member Functions | |
SpatialVector () | |
Construct null. More... | |
SpatialVector (const Foam::zero) | |
Construct initialised to zero. More... | |
SpatialVector (const typename SpatialVector::vsType &) | |
Construct given VectorSpace of the same rank. More... | |
SpatialVector (const Vector< Cmpt > &w, const Vector< Cmpt > &l) | |
Construct from the angular and linear vector components. More... | |
SpatialVector (const Cmpt &wx, const Cmpt &wy, const Cmpt &wz, const Cmpt &lx, const Cmpt &ly, const Cmpt &lz) | |
Construct given 6 components. More... | |
SpatialVector (Istream &) | |
Construct from Istream. More... | |
const Cmpt & | wx () const |
const Cmpt & | wy () const |
const Cmpt & | wz () const |
const Cmpt & | lx () const |
const Cmpt & | ly () const |
const Cmpt & | lz () const |
Cmpt & | wx () |
Cmpt & | wy () |
Cmpt & | wz () |
Cmpt & | lx () |
Cmpt & | ly () |
Cmpt & | lz () |
Vector< Cmpt > | w () const |
Return the angular part of the spatial vector as a vector. More... | |
Vector< Cmpt > | l () const |
Return the linear part of the spatial vector as a vector. More... | |
dual | operator* () const |
Return the dual spatial vector. More... | |
Public Member Functions inherited from VectorSpace< SpatialVector< Cmpt >, Cmpt, 6 > | |
VectorSpace () | |
Construct null. More... | |
VectorSpace (const Foam::zero) | |
Construct initialised to zero. More... | |
VectorSpace (Istream &) | |
Construct from Istream. More... | |
VectorSpace (const VectorSpace< Form2, Cmpt2, Ncmpts > &) | |
Construct as copy of a VectorSpace with the same size. More... | |
const Cmpt & | component (const direction) const |
Cmpt & | component (const direction) |
void | component (Cmpt &, const direction) const |
void | replace (const direction, const Cmpt &) |
const ConstBlock< SubVector, BStart > | block () const |
const VectorSpace< SpatialVector< Cmpt >, Cmpt, Ncmpts >::template ConstBlock< SubVector, BStart > | block () const |
const Cmpt & | operator[] (const direction) const |
Cmpt & | operator[] (const direction) |
void | operator+= (const VectorSpace< SpatialVector< Cmpt >, Cmpt, Ncmpts > &) |
void | operator-= (const VectorSpace< SpatialVector< Cmpt >, Cmpt, Ncmpts > &) |
void | operator= (const Foam::zero) |
void | operator*= (const Type) |
void | operator/= (const Type) |
Additional Inherited Members | |
Static Public Member Functions inherited from VectorSpace< SpatialVector< Cmpt >, Cmpt, 6 > | |
static direction | size () |
Return the number of elements in the VectorSpace = Ncmpts. More... | |
static SpatialVector< Cmpt > | uniform (const Cmpt &s) |
Return a VectorSpace with all elements = s. More... | |
Public Attributes inherited from VectorSpace< SpatialVector< Cmpt >, Cmpt, 6 > | |
Cmpt | v_ [Ncmpts] |
The components of this vector space. More... | |
Static Public Attributes inherited from VectorSpace< SpatialVector< Cmpt >, Cmpt, 6 > | |
static const direction | dim |
Dimensionality of space. More... | |
static const direction | nComponents |
Number of components in this vector space. More... | |
static const direction | mRows |
static const direction | nCols |
static const char *const | typeName |
static const char *const | componentNames [] |
static const SpatialVector< Cmpt > | zero |
static const SpatialVector< Cmpt > | one |
static const SpatialVector< Cmpt > | max |
static const SpatialVector< Cmpt > | min |
static const SpatialVector< Cmpt > | rootMax |
static const SpatialVector< Cmpt > | rootMin |
static const SpatialVector< Cmpt > | nan |
Templated 3D spatial vector derived from VectorSpace used to represent the anglular and linear components of position, velocity and acceleration of rigid bodies.
Reference:
Featherstone, R. (2008). Rigid body dynamics algorithms. Springer.
Definition at line 62 of file SpatialVector.H.
enum components |
Component labeling enumeration.
Enumerator | |
---|---|
WX | |
WY | |
WZ | |
LX | |
LY | |
LZ |
Definition at line 70 of file SpatialVector.H.
|
inline |
Construct null.
Definition at line 29 of file SpatialVectorI.H.
|
inline |
Construct initialised to zero.
Definition at line 34 of file SpatialVectorI.H.
|
inline |
Construct given VectorSpace of the same rank.
Definition at line 41 of file SpatialVectorI.H.
|
inline |
Construct from the angular and linear vector components.
Definition at line 51 of file SpatialVectorI.H.
References Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().
|
inline |
Construct given 6 components.
Definition at line 67 of file SpatialVectorI.H.
|
inline |
Construct from Istream.
Definition at line 87 of file SpatialVectorI.H.
|
inline |
Definition at line 103 of file SpatialVectorI.H.
Referenced by Rx::jcalc(), and Foam::operator^().
|
inline |
Definition at line 110 of file SpatialVectorI.H.
Referenced by Ry::jcalc(), and Foam::operator^().
|
inline |
Definition at line 117 of file SpatialVectorI.H.
Referenced by Rz::jcalc(), and Foam::operator^().
|
inline |
Definition at line 124 of file SpatialVectorI.H.
Referenced by Foam::operator^().
|
inline |
Definition at line 131 of file SpatialVectorI.H.
Referenced by Foam::operator^().
|
inline |
Definition at line 138 of file SpatialVectorI.H.
Referenced by Foam::operator^().
|
inline |
Definition at line 145 of file SpatialVectorI.H.
|
inline |
Definition at line 152 of file SpatialVectorI.H.
|
inline |
Definition at line 159 of file SpatialVectorI.H.
|
inline |
Definition at line 166 of file SpatialVectorI.H.
|
inline |
Definition at line 173 of file SpatialVectorI.H.
|
inline |
Definition at line 180 of file SpatialVectorI.H.
|
inline |
Return the angular part of the spatial vector as a vector.
Definition at line 187 of file SpatialVectorI.H.
Referenced by rigidBodyMotion::status(), rigidBodyPoints::write(), and rigidBodyState::write().
|
inline |
Return the linear part of the spatial vector as a vector.
Definition at line 193 of file SpatialVectorI.H.
Referenced by rigidBodyMotion::status(), rigidBodyPoints::write(), and rigidBodyState::write().
|
inline |
Return the dual spatial vector.
Definition at line 210 of file SpatialVectorI.H.