60 #include "FGFDMExec.h" 61 #include "FGJSBBase.h" 62 #include "math/FGMatrix33.h" 63 #include "math/FGColumnVector3.h" 69 #define ID_FORCE "$Id: FGForce.h,v 1.17 2012/04/01 17:05:51 bcoconni Exp $" 239 enum TransformType { tNone, tWindBody, tLocalBody, tCustom };
243 inline double GetBodyXForce(
void)
const {
return vFb(eX); }
244 inline double GetBodyYForce(
void)
const {
return vFb(eY); }
245 inline double GetBodyZForce(
void)
const {
return vFb(eZ); }
250 inline void SetLocation(
double x,
double y,
double z) {
270 inline void SetLocationX(
double x) {vXYZn(eX) = x; vActingXYZn(eX) = x;}
271 inline void SetLocationY(
double y) {vXYZn(eY) = y; vActingXYZn(eY) = y;}
272 inline void SetLocationZ(
double z) {vXYZn(eZ) = z; vActingXYZn(eZ) = z;}
273 inline double SetActingLocationX(
double x) {vActingXYZn(eX) = x;
return x;}
274 inline double SetActingLocationY(
double y) {vActingXYZn(eY) = y;
return y;}
275 inline double SetActingLocationZ(
double z) {vActingXYZn(eZ) = z;
return z;}
279 inline double GetLocationX(
void )
const {
return vXYZn(eX);}
280 inline double GetLocationY(
void )
const {
return vXYZn(eY);}
281 inline double GetLocationZ(
void )
const {
return vXYZn(eZ);}
282 inline double GetActingLocationX(
void )
const {
return vActingXYZn(eX);}
283 inline double GetActingLocationY(
void )
const {
return vActingXYZn(eY);}
284 inline double GetActingLocationZ(
void )
const {
return vActingXYZn(eZ);}
286 const FGColumnVector3& GetActingLocation(
void)
const {
return vActingXYZn; }
295 void SetAnglesToBody(
double broll,
double bpitch,
double byaw);
297 SetAnglesToBody(vv(eRoll), vv(ePitch), vv(eYaw));
300 void UpdateCustomTransformMatrix(
void);
301 void SetPitch(
double pitch) {vOrient(ePitch) = pitch; UpdateCustomTransformMatrix();}
302 void SetYaw(
double yaw) {vOrient(eYaw) = yaw; UpdateCustomTransformMatrix();}
304 double GetPitch(
void)
const {
return vOrient(ePitch);}
305 double GetYaw(
void)
const {
return vOrient(eYaw);}
307 inline const FGColumnVector3& GetAnglesToBody(
void)
const {
return vOrient;}
308 inline double GetAnglesToBody(
int axis)
const {
return vOrient(axis);}
310 inline void SetTransformType(TransformType ii) { ttype=ii; }
311 inline TransformType GetTransformType(
void)
const {
return ttype; }
331 void Debug(
int from);
void SetActingLocation(double x, double y, double z)
Acting point of application.
FGForce(FGFDMExec *FDMExec)
Constructor.
This class implements a 3 element column vector.
Handles matrix math operations.
Encapsulates the JSBSim simulation executive.
Utility class that aids in the conversion of forces between coordinate systems and calculation of mom...