10typedef Eigen::Matrix<double, 6, 6> mat6;
11typedef Eigen::Matrix<double, 6, 1> vec6;
12typedef Eigen::Matrix<double, 3, 3> mat3;
13typedef Eigen::Matrix<double, 3, 1> vec3;
14typedef Eigen::Matrix<double, 13, 1> vec13;
15typedef Eigen::Quaternion<double> quat;
26 virtual vec6 GetInternalForces(
const vec6& dX,
const vec3& r,
const quat& q,
CEnvironment* environment,
double time,
const double* states) = 0;
29 virtual mat6 GetInertiaMatrix(
const vec3& r,
double time,
const double* states,
CEnvironment* environment) = 0;
32 vec13 GetSecondDerivative(
const vec3& r,
const quat& q,
const vec3& v,
const vec3 w,
const vec6& externalForces,
CEnvironment* environment,
double time,
const double* states);
35 static vec6 GetCoriolisForce(
const vec6& dX,
const mat6& Inertia);
38#ifdef FH_VISUALIZATION
39 virtual void DrawBody(Ogre::SceneNode* renderNode, Ogre::SceneManager* sceneMgr) = 0;
43 static mat6 ReorientInertiaTranslateRotate(
const mat6& Inertia,
const vec6& orientation);
44 static mat3 MakeDyadic(
const vec3& vector);
45 static mat3 GetRotation(
const vec3& angle);
46 static mat6 GetRotation6(
const vec3& angle);
Definition: CEnvironment.h:10
Definition: CRigidBody.h:18