34 namespace sixDoFRigidBodyMotionConstraints
95 sDoFRBMCCoeffs_.lookup(
"axis") >> axis_;
97 scalar magFixedAxis(
mag(axis_));
99 if (magFixedAxis > vSmall)
101 axis_ /= magFixedAxis;
106 <<
"axis has zero length"
Macros for easy insertion into run-time selection tables.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of keyword definitions, which are a keyword followed by any number of values (e....
Accumulates point constraints through successive applications of the applyConstraint function.
void combine(const pointConstraint &)
Combine constraints.
Base class for defining constraints for sixDoF motions.
virtual bool read(const dictionary &sDoFRBMCDict)
Update properties from given dictionary.
Orientation constraint: may only rotate around a fixed axis.
virtual void write(Ostream &) const
Write.
virtual ~axis()
Destructor.
virtual void constrainRotation(pointConstraint &) const
Apply and accumulate rotational constraints.
virtual bool read(const dictionary &sDoFRBMCCoeff)
Update properties from given dictionary.
axis(const word &name, const dictionary &sDoFRBMCDict, const sixDoFRigidBodyMotion &motion)
Construct from components.
virtual void constrainTranslation(pointConstraint &) const
Apply and accumulate translational constraints.
Six degree of freedom motion for a rigid body.
A class for handling words, derived from string.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
defineTypeNameAndDebug(axis, 0)
addToRunTimeSelectionTable(sixDoFRigidBodyMotionConstraint, axis, dictionary)
word name(const bool)
Return a word representation of a bool.
errorManip< error > abort(error &err)
void writeEntry(Ostream &os, const HashTable< T, Key, Hash > &ht)
dimensioned< scalar > mag(const dimensioned< Type > &)