78 inline Ostream&
operator<<(Ostream&,
const joint&);
210 inline label
nDoF()
const;
216 inline label index()
const;
220 inline label qIndex()
const;
Abstract base-class for all rigid-body joints.
Ostream & operator<<(Ostream &, const rigidBody &)
A list of keyword definitions, which are a keyword followed by a number of values (eg...
spatialVector v
The constrained joint velocity.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
spatialVector S1
The joint motion sub-space (1-DoF)
label qIndex_
Index of this joints data in the rigidBodyModel state.
compactSpatialTensor S
The joint motion sub-space (3-DoF)
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
declareRunTimeSelectionTable(autoPtr, joint, dictionary,(const dictionary &dict),(dict))
virtual autoPtr< joint > clone() const =0
Clone this joint (needed by PtrList)
label index_
Index of this joint in the rigidBodyModel.
friend class rigidBodyModel
Allow the rigidBodyModel class to set the joint indices.
spatialVector c
The constrained joint acceleration correction.
friend Ostream & operator<<(Ostream &, const joint &)
Joint state returned by jcalc.
virtual void write(Ostream &) const
Write.
virtual ~joint()
Destructor.
Quaternion class used to perform rotations in 3D space.
autoPtr< joint > operator()(Istream &is) const
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.
virtual void jcalc(XSvc &J, const scalarField &q, const scalarField &qDot) const =0
Update the rigidBodyModel state for the joint given.
const List< spatialVector > & S() const
Return the joint motion sub-space.
spatialTransform X
The joint transformation.
joint(const label nDoF)
Construct joint setting the size of the motion sub-space.
TypeName("joint")
Runtime type information.
static autoPtr< joint > New(joint *jointPtr)
Simple selector to return an autoPtr<joint> of the given joint*.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Macros to ease declaration of run-time selection tables.
virtual bool unitQuaternion() const
Return true if this joint describes rotation using a quaternion.
static constexpr const zero Zero
Global zero (0)