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