flightgear/test_suite/FGTestApi/PrivateAccessorFDM.hxx
2022-10-20 20:29:11 +08:00

54 lines
1.6 KiB
C++

#ifndef _FG_PRIVATE_ACCESSOR_FDM_HXX
#define _FG_PRIVATE_ACCESSOR_FDM_HXX
#include <map>
#include <memory>
#include <vector>
#include <simgear/math/SGMath.hxx>
#include <simgear/structure/SGSharedPtr.hxx>
// Forward declarations for src/FDM/AIWake.
class AIWakeData;
class AIWakeGroup;
class AircraftMesh;
class WakeMesh;
class AeroElement;
typedef SGSharedPtr<AeroElement> AeroElement_ptr;
// Forward declaration for: src/FDM/YASim.
namespace yasim {
class Atmosphere;
}
namespace FGTestApi {
namespace PrivateAccessor {
namespace FDM {
class Accessor
{
public:
// Access variables from src/FDM/AIWake/AIWakeGroup.hxx.
WakeMesh* read_FDM_AIWake_AIWakeGroup_aiWakeData(AIWakeGroup* instance, int i);
// Access variables from src/FDM/AIWake/AircraftMesh.hxx.
const std::vector<SGVec3d> read_FDM_AIWake_AircraftMesh_collPt(AircraftMesh* instance) const;
const std::vector<SGVec3d> read_FDM_AIWake_AircraftMesh_midPt(AircraftMesh* instance) const;
// Access variables from src/FDM/AIWake/WakeMesh.hxx.
const std::vector<AeroElement_ptr> read_FDM_AIWake_WakeMesh_elements(WakeMesh* instance) const;
int read_FDM_AIWake_WakeMesh_nelm(WakeMesh* instance) const;
double **read_FDM_AIWake_WakeMesh_Gamma(WakeMesh* instance) const;
// Access variables from src/FDM/YASim/Atmosphere.hxx.
float read_FDM_YASim_Atmosphere_numColumns(std::unique_ptr<yasim::Atmosphere> &instance) const;
float read_FDM_YASim_Atmosphere_data(std::unique_ptr<yasim::Atmosphere> &instance, int i, int j) const;
};
} // End of namespace FDM.
} // End of namespace PrivateAccessor.
} // End of namespace FGTestApi.
#endif // _FG_PRIVATE_ACCESSOR_FDM_HXX