87#ifndef Foam_sixDoFRigidBodyMotionAxisConstraint_H
88#define Foam_sixDoFRigidBodyMotionAxisConstraint_H
107 public sixDoFRigidBodyMotionConstraint
118 autoPtr<Function1<scalar>> maxCWThetaPtr_;
121 autoPtr<Function1<scalar>> maxCCWThetaPtr_;
132 label rotationSector(
const vector& oldDir,
const vector& newDir)
const;
136 bool calcDir(
const vector& fm,
const bool rotationSector)
const;
169 virtual ~axis() =
default;
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.
const word & name() const
Return the name.
sixDoFRigidBodyMotionConstraint(const word &name, const dictionary &sDoFRBMCDict, const sixDoFRigidBodyMotion &motion)
Construct from the sDoFRBMCDict dictionary and Time.
const sixDoFRigidBodyMotion & motion() const noexcept
Return const access to motion.
This constraint imposes an orientation limitation where bodies are restricted to rotate only around a...
virtual ~axis()=default
Destructor.
TypeName("axis")
Runtime type information.
virtual void constrainRotation(pointConstraint &) const
Apply and accumulate rotational constraints.
virtual bool read(const dictionary &sDoFRBMCCoeff)
Update properties from given dictionary.
virtual autoPtr< sixDoFRigidBodyMotionConstraint > clone() const
Construct and return a clone.
axis(const word &name, const dictionary &sDoFRBMCDict, const sixDoFRigidBodyMotion &motion)
Construct from components.
virtual void constrainTranslation(pointConstraint &) const
Apply and accumulate translational constraints.
void operator=(const sixDoFRigidBodyMotionConstraint &)=delete
No copy assignment.
Six degree of freedom motion for a rigid body.
A class for handling words, derived from Foam::string.
Namespace for six DoF motion constraints.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.