39#ifndef RBD_rigidBody_H
40#define RBD_rigidBody_H
59inline Ostream&
operator<<(Ostream&,
const rigidBody&);
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
const vector & c() const
Return the centre of mass of the rigid-body.
scalar m() const
Return the mass of the rigid-body.
const symmTensor & Ic() const
Return the inertia tensor of the rigid-body about the centre of mass.
static autoPtr< rigidBody > New(const word &name, const scalar &m, const vector &c, const symmTensor &Ic)
Select constructed from components.
virtual bool massless() const
Return false as this body is not massless.
void merge(const subBody &)
Merge a body into this parent body.
virtual ~rigidBody()
Destructor.
virtual autoPtr< rigidBody > clone() const
Return clone of this rigidBody.
friend Ostream & operator<<(Ostream &, const rigidBody &)
declareRunTimeSelectionTable(autoPtr, rigidBody, dictionary,(const word &name, const dictionary &dict),(name, dict))
TypeName("rigidBody")
Runtime type information.
const word & name() const
Return name.
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,...
This specialized rigidBody holds the original body after it has been merged into a master.
A class for handling words, derived from Foam::string.
Ostream & operator<<(Ostream &, const rigidBody &)
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.