69 class rigidBodyModelState;
74 inline Ostream&
operator<<(Ostream&,
const joint&);
226 inline label index()
const;
230 inline label qIndex()
const;
Abstract base-class for all rigid-body joints.
Ostream & operator<<(Ostream &, const rigidBody &)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
A list of keyword definitions, which are a keyword followed by any number of values (e...
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)
virtual void jcalc(XSvc &J, const rigidBodyModelState &state) const =0
Update the rigidBodyModel state for the joint given.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
virtual autoPtr< joint > clone() const =0
Clone this joint (needed by PtrList)
void operator=(const joint &j)
Assignment.
label index_
Index of this joint in the rigidBodyModel.
spatialVector c
The constrained joint acceleration correction.
declareRunTimeSelectionTable(autoPtr, joint, dictionary,(const rigidBodyModel &model, const dictionary &dict),(model, dict))
Holds the motion state of rigid-body model.
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.
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.
spatialTransform X
The joint transformation.
TypeName("joint")
Runtime type information.
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...
Macros to ease declaration of run-time selection tables.
virtual bool unitQuaternion() const
Return true if this joint describes rotation using a quaternion.