X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FFDM%2FJSBSim%2FFGForce.cpp;h=72256d198a91e605bfadb735412ffcbf1c99cc17;hb=fbee3d10f0aafd4178fc1313edb8593c156b2874;hp=91dd746e6f2a6a8b9800080120203bde3b6645f0;hpb=5d8a04291c948150de469cf7a7719e62f6d88f74;p=flightgear.git diff --git a/src/FDM/JSBSim/FGForce.cpp b/src/FDM/JSBSim/FGForce.cpp index 91dd746e6..72256d198 100644 --- a/src/FDM/JSBSim/FGForce.cpp +++ b/src/FDM/JSBSim/FGForce.cpp @@ -43,11 +43,12 @@ and the cg. #include "FGFDMExec.h" #include "FGAircraft.h" #include "FGTranslation.h" -#include "FGMatrix33.h" -#include "FGColumnVector3.h" -#include "FGColumnVector4.h" +#include "FGMassBalance.h" +#include "FGState.h" #include "FGForce.h" +namespace JSBSim { + static const char *IdSrc = "$Id$"; static const char *IdHdr = ID_FORCE; @@ -81,9 +82,7 @@ FGColumnVector3& FGForce::GetBodyForces(void) // needs to be done like this to convert from structural to body coords. // CG and RP values are in inches - vDXYZ(eX) = -(vActingXYZn(eX) - fdmex->GetMassBalance()->GetXYZcg(eX))*inchtoft; - vDXYZ(eY) = (vActingXYZn(eY) - fdmex->GetMassBalance()->GetXYZcg(eY))*inchtoft; - vDXYZ(eZ) = -(vActingXYZn(eZ) - fdmex->GetMassBalance()->GetXYZcg(eZ))*inchtoft; + vDXYZ = fdmex->GetMassBalance()->StructuralToBody(vActingXYZn); vM = vMn + vDXYZ*vFb; @@ -100,7 +99,6 @@ FGMatrix33 FGForce::Transform(void) case tLocalBody: return fdmex->GetState()->GetTl2b(); case tCustom: - case tNone: return mT; default: @@ -179,4 +177,4 @@ void FGForce::Debug(int from) } } } - +}