216 inline label
index()
const;
220 inline label
qIndex()
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,...
Joint state returned by jcalc.
spatialVector c
The constrained joint acceleration correction.
compactSpatialTensor S
The joint motion sub-space (3-DoF).
spatialVector v
The constrained joint velocity.
spatialVector S1
The joint motion sub-space (1-DoF).
spatialTransform X
The joint transformation.
autoPtr< joint > operator()(Istream &is) const
Abstract base-class for all rigid-body joints.
virtual autoPtr< joint > clone() const =0
Clone this joint (needed by PtrList).
static autoPtr< joint > New(joint *jointPtr)
Simple selector to return an autoPtr<joint> of the given joint*.
List< spatialVector > S_
Joint motion sub-space.
friend class rigidBodyModel
Allow the rigidBodyModel class to set the joint indices.
label qIndex_
Index of this joints data in the rigidBodyModel state.
label nDoF() const
Return the number of degrees of freedom in this joint.
declareRunTimeSelectionTable(autoPtr, joint, dictionary,(const dictionary &dict),(dict))
label qIndex() const
Return start index for the state variables for this joint.
const List< spatialVector > & S() const
Return the joint motion sub-space.
label index() const
Return the index of this joint in the model.
virtual bool unitQuaternion() const
Return true if this joint describes rotation using a quaternion.
label index_
Index of this joint in the rigidBodyModel.
friend Ostream & operator<<(Ostream &, const joint &)
joint(const label nDoF)
Construct joint setting the size of the motion sub-space.
TypeName("joint")
Runtime type information.
virtual ~joint()
Destructor.
virtual void jcalc(XSvc &J, const scalarField &q, const scalarField &qDot) const =0
Update the rigidBodyModel state for the joint given.
Basic rigid-body model representing a system of rigid-bodies connected by 1-6 DoF joints.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Quaternion class used to perform rotations in 3D space.
Ostream & operator<<(Ostream &, const rigidBody &)
SpatialVector< scalar > spatialVector
SpatialVector of scalars.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
CompactSpatialTensor< scalar > compactSpatialTensor
CompactSpatialTensor of scalars.
static constexpr const zero Zero
Global zero (0).
Macros to ease declaration of run-time selection tables.
#define declareRunTimeSelectionTable(ptrWrapper, baseType, argNames, argList, parList)
Declare a run-time selection (variables and adder classes).
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.