50inline Foam::label Foam::RBD::joint::index()
const
55inline Foam::label Foam::RBD::joint::qIndex()
const
73 if (!unitQuaternion())
76 <<
"Attempt to get the quaternion for a non-spherical joint"
90 if (!unitQuaternion())
93 <<
"Attempt to set quaternion for a non-spherical joint"
97 q[qIndex_] = quat.
v().
x();
98 q[qIndex_+1] = quat.
v().
y();
99 q[qIndex_+2] = quat.
v().
z();
VSForm block(const label start) const
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Abstract base-class for all rigid-body joints.
virtual void write(Ostream &) const
Write.
label nDoF() const
Return the number of degrees of freedom in this joint.
const List< spatialVector > & S() const
Return the joint motion sub-space.
virtual bool unitQuaternion() const
Return true if this joint describes rotation using a quaternion.
const Cmpt & z() const
Access to the vector z component.
const Cmpt & y() const
Access to the vector y component.
const Cmpt & x() const
Access to the vector x component.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
virtual word unit() const
Return time unit.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
friend Ostream & operator(Ostream &, const faMatrix< Type > &)
Quaternion class used to perform rotations in 3D space.
const vector & v() const noexcept
Vector part of the quaternion ( = axis of rotation)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
OBJstream os(runTime.globalPath()/outputName)
Ostream & operator<<(Ostream &, const rigidBody &)
errorManip< error > abort(error &err)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh > > &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.