// // Axis Manipulation functions // void GetLocalForwardInWorld(Vector3D *v) const { Check_Object(this); Check_Pointer(v); v->x = APPLY_FORWARD_SIGN((*this)(FORWARD_AXIS, X_Axis)); v->y = APPLY_FORWARD_SIGN((*this)(FORWARD_AXIS, Y_Axis)); v->z = APPLY_FORWARD_SIGN((*this)(FORWARD_AXIS, Z_Axis)); }
void GetWorldForwardInLocal(Vector3D *v) const { Check_Object(this); Check_Pointer(v); v->x = APPLY_FORWARD_SIGN((*this)(X_Axis, FORWARD_AXIS)); v->y = APPLY_FORWARD_SIGN((*this)(Y_Axis, FORWARD_AXIS)); v->z = APPLY_FORWARD_SIGN((*this)(Z_Axis, FORWARD_AXIS)); }
Scalar GetForwardComponent() {Check_Object(this); return APPLY_FORWARD_SIGN((*this)[FORWARD_AXIS]);}