291 T m1 = this->massMatrix.Mass();
303 auto com1 = this->Pose().Pos();
304 auto com2 = _inertial.
Pose().Pos();
306 auto com = (m1*com1 + m2*com2) / mass;
313 auto moi = this->Moi() + _inertial.
Moi();
314 ixxyyzz =
Vector3<T>(moi(0, 0), moi(1, 1), moi(2, 2));
315 ixyxzyz =
Vector3<T>(moi(0, 1), moi(0, 2), moi(1, 2));
319 auto dc = com1 - com;
323 ixyxzyz.
X() -= m1 * dc[0] * dc[1];
324 ixyxzyz.
Y() -= m1 * dc[0] * dc[2];
325 ixyxzyz.
Z() -= m1 * dc[1] * dc[2];
328 auto dc = com2 - com;
332 ixyxzyz.
X() -= m2 * dc[0] * dc[1];
333 ixyxzyz.
Y() -= m2 * dc[0] * dc[2];
334 ixyxzyz.
Z() -= m2 * dc[1] * dc[2];
349 T m = this->massMatrix.Mass();
361 auto com = this->Pose().Pos();
362 auto com2 = _inertial.
Pose().Pos();
364 auto com1 = (m*com - m2*com2)/m1;
372 auto moi = this->Moi() - _inertial.
Moi();
373 ixxyyzz =
Vector3<T>(moi(0, 0), moi(1, 1), moi(2, 2));
374 ixyxzyz =
Vector3<T>(moi(0, 1), moi(0, 2), moi(1, 2));
378 auto dc = com1 - com;
382 ixyxzyz.
X() += m1 * dc[0] * dc[1];
383 ixyxzyz.
Y() += m1 * dc[0] * dc[2];
384 ixyxzyz.
Z() += m1 * dc[1] * dc[2];
387 auto dc = com2 - com;
391 ixyxzyz.
X() += m2 * dc[0] * dc[1];
392 ixyxzyz.
Y() += m2 * dc[0] * dc[2];
393 ixyxzyz.
Z() += m2 * dc[1] * dc[2];