61 if (model_.unitQuaternions())
65 const label qi = model_.joints()[i].qIndex();
67 if (model_.joints()[i].unitQuaternion())
71 scalar magDv =
mag(dv);
81 model_.joints()[i].unitQuaternion(q0())*dQuat
86 model_.joints()[i].unitQuaternion(quat, q());
Six degree of freedom motion for a rigid body.
void correctQuaternionJoints()
Correct the quaternion joints based on the current change in q.
virtual ~rigidBodySolver()
Destructor.
Creates a single block of cells from point coordinates, numbers of cells in each direction and an exp...
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Quaternion class used to perform rotations in 3D space.
quaternion & normalise()
Inplace normalise the quaternion by its magnitude.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
dimensionedScalar cos(const dimensionedScalar &ds)
#define defineRunTimeSelectionTable(baseType, argNames)
Define run-time selection table.
#define forAll(list, i)
Loop across all elements in list.