1#include "Game/Gravity.hpp"
2#include "Game/Util.hpp"
4PointGravity::PointGravity() :
6 mOrigPosition(0, 0, 0),
12bool PointGravity::calcOwnGravityVector(TVec3f *pDest, f32 *pScalar,
const TVec3f &rPosition)
const {
14 direction.subInline(rPosition, mTranslation);
15 f32 scalar = VECMag((Vec*)&direction);
18 if (MR::isNearZero(scalar, 0.01f)) {
25 direction.scaleInline(1.0f / scalar);
29 if (!isInRangeDistance(scalar)) {
35 pDest->setInlinePS(direction);
45void PointGravity::updateMtx(
const TPos3f &rMtx) {
48 rMtx.mult(mOrigPosition, mTranslation);