83 <<
"Attempt to get the quaternion for a non-spherical joint" 100 <<
"Attempt to set quaternion for a non-spherical joint"
Abstract base-class for all rigid-body joints.
Ostream & operator<<(Ostream &, const rigidBody &)
Ostream & indent(Ostream &os)
Indent stream.
A list of keyword definitions, which are a keyword followed by any number of values (e...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
label qIndex_
Index of this joints data in the rigidBodyModel state.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
static quaternion unit(const vector &v)
Return the unit quaternion (versor) from the given vector.
Ostream & endl(Ostream &os)
Add newline and flush stream.
void operator=(const joint &j)
Assignment.
label index_
Index of this joint in the rigidBodyModel.
virtual void write(Ostream &) const
Write.
const vector & v() const
Vector part of the quaternion ( = axis of rotation)
Quaternion class used to perform rotations in 3D space.
VSForm block(const label start) const
errorManip< error > abort(error &err)
joint(const rigidBodyModel &model, const label nDoF)
Construct joint setting the size of the motion sub-space.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
label nDoF() const
Return the number of degrees of freedom in this joint.
List< spatialVector > S_
Joint motion sub-space.
const List< spatialVector > & S() const
Return the joint motion sub-space.
Ostream & decrIndent(Ostream &os)
Decrement the indent level.
static autoPtr< joint > New(joint *jointPtr)
Simple selector to return an autoPtr<joint> of the given joint*.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
const rigidBodyModel & model_
Reference to the model.
Basic rigid-body model representing a system of rigid-bodies connected by 1-6 DoF joints...
Ostream & incrIndent(Ostream &os)
Increment the indent level.
virtual bool unitQuaternion() const
Return true if this joint describes rotation using a quaternion.