69 class rigidBodyModelState;
74 inline Ostream&
operator<<(Ostream&,
const joint&);
226 inline label index()
const;
230 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.
iNew(const rigidBodyModel &model)
autoPtr< joint > operator()(Istream &is) const
Abstract base-class for all rigid-body joints.
joint(const rigidBodyModel &model, const label nDoF)
Construct joint setting the size of the motion sub-space.
static autoPtr< joint > New(joint *jointPtr)
Simple selector to return an autoPtr<joint> of the given joint*.
List< spatialVector > S_
Joint motion sub-space.
virtual void write(Ostream &) const
Write.
declareRunTimeSelectionTable(autoPtr, joint, dictionary,(const rigidBodyModel &model, const dictionary &dict),(model, dict))
label qIndex_
Index of this joints data in the rigidBodyModel state.
label nDoF() const
Return the number of degrees of freedom in this joint.
friend Ostream & operator<<(Ostream &, const joint &)
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.
label index_
Index of this joint in the rigidBodyModel.
void operator=(const joint &j)
Assignment.
TypeName("joint")
Runtime type information.
const rigidBodyModel & model_
Reference to the model.
virtual autoPtr< joint > clone() const =0
Clone this joint (needed by PtrList)
virtual ~joint()
Destructor.
virtual void jcalc(XSvc &J, const rigidBodyModelState &state) const =0
Update the rigidBodyModel state for the joint given.
Holds the motion state of rigid-body model.
Basic rigid-body model representing a system of rigid-bodies connected by 1-6 DoF joints.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A list of keyword definitions, which are a keyword followed by any number of values (e....
Quaternion class used to perform rotations in 3D space.
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.
Macros to ease declaration of run-time selection tables.