swift
terrainprobe.h
1 // SPDX-FileCopyrightText: Copyright (C) 2017 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
4 #ifndef SWIFT_SIM_XSWIFTBUS_ELEVATIONPROVIDER_H
5 #define SWIFT_SIM_XSWIFTBUS_ELEVATIONPROVIDER_H
6 
7 #include <XPLM/XPLMScenery.h>
8 
9 #include <array>
10 #include <string>
11 
12 namespace XSwiftBus
13 {
18  {
19  public:
21  CTerrainProbe();
22 
25 
28  CTerrainProbe(const CTerrainProbe &) = delete;
31 
36  std::array<double, 3> getElevation(double degreesLatitude, double degreesLongitude,
37  double metersAltitude) const;
38  std::array<double, 3> getElevation(double degreesLatitude, double degreesLongitude, double metersAltitude,
39  const std::string &callsign, bool &o_isWater) const;
41 
42  private:
43  XPLMProbeRef m_ref = nullptr;
44  mutable int m_logMessageCount = 0;
45  };
46 } // namespace XSwiftBus
47 
48 #endif // SWIFT_SIM_XSWIFTBUS_ELEVATIONPROVIDER_H
Class based interface to X-Plane SDK terrain probe.
Definition: terrainprobe.h:18
CTerrainProbe(const CTerrainProbe &)=delete
Not copyable.
std::array< double, 3 > getElevation(double degreesLatitude, double degreesLongitude, double metersAltitude) const
Get the elevation in meters at the given point in OpenGL space.
~CTerrainProbe()
Destructor;.
CTerrainProbe()
Constructor.
CTerrainProbe & operator=(const CTerrainProbe &)=delete
Not copyable.
Plugin loaded by X-Plane which publishes a DBus service.
Definition: command.h:14