45#ifndef sixDoFRigidBodyMotionConstraint_H
46#define sixDoFRigidBodyMotionConstraint_H
61class sixDoFRigidBodyMotion;
88 TypeName(
"sixDoFRigidBodyMotionConstraint");
103 (
name, sDoFRBMCDict, motion)
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
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,...
Accumulates point constraints through successive applications of the applyConstraint function.
Base class for defining constraints for sixDoF motions.
TypeName("sixDoFRigidBodyMotionConstraint")
Runtime type information.
declareRunTimeSelectionTable(autoPtr, sixDoFRigidBodyMotionConstraint, dictionary,(const word &name, const dictionary &sDoFRBMCDict, const sixDoFRigidBodyMotion &motion),(name, sDoFRBMCDict, motion))
virtual void constrainRotation(pointConstraint &) const =0
Apply and accumulate rotational constraints.
word name_
Name of the constraint.
const word & name() const
Return the name.
virtual autoPtr< sixDoFRigidBodyMotionConstraint > clone() const =0
Construct and return a clone.
virtual void setCentreOfRotation(point &) const
Set the centre of rotation if not the centre of mass.
dictionary sDoFRBMCCoeffs_
Constraint model specific coefficient dictionary.
static autoPtr< sixDoFRigidBodyMotionConstraint > New(const word &name, const dictionary &sDoFRBMCDict, const sixDoFRigidBodyMotion &motion)
Select constructed from the sDoFRBMCDict dictionary and Time.
const sixDoFRigidBodyMotion & motion_
Reference to the body motion.
virtual ~sixDoFRigidBodyMotionConstraint()
Destructor.
virtual void constrainTranslation(pointConstraint &) const =0
Apply and accumulate translational constraints.
virtual bool read(const dictionary &sDoFRBMCDict)
Update properties from given dictionary.
const dictionary & coeffDict() const
Six degree of freedom motion for a rigid body.
A class for handling words, derived from Foam::string.
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.