30 virtual vec6 GetInternalForces(
const vec6& dX,
const vec3& r,
const quat& q, environment::EnvironmentProvider* environment,
double time,
const double* states) = 0;
33 virtual mat6 GetInertiaMatrix(
const vec3& r,
double time,
const double* states, environment::EnvironmentProvider* environment) = 0;
36 vec13 GetSecondDerivative(
const vec3& r,
const quat& q,
const vec3& v,
const vec3 w,
const vec6& externalForces, environment::EnvironmentProvider* environment,
double time,
const double* states);
39 static vec6 GetCoriolisForce(
const vec6& dX,
const mat6& Inertia);
42#ifdef FH_VISUALIZATION
43 virtual void DrawBody(Ogre::SceneNode* renderNode, Ogre::SceneManager* sceneMgr) = 0;
47 static mat6 ReorientInertiaTranslateRotate(
const mat6& Inertia,
const vec6& orientation);
48 static mat3 MakeDyadic(
const vec3& vector);
49 static mat3 GetRotation(
const vec3& angle);
50 static mat6 GetRotation6(
const vec3& angle);
Definition CRigidBody.h:22