WSF
WsfBMTerrainEngine.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI//REL TO USA ONLY
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// The use, dissemination or disclosure of data in this file is subject to
7// limitation or restriction. See accompanying README and LICENSE for details.
8// ****************************************************************************
9// Classification: UNCLASSIFIED
10
11#ifndef WSF_BM_TERRAIN_ENGINE_HPP
12#define WSF_BM_TERRAIN_ENGINE_HPP
13
14#include <memory>
15#include <WsfBMCommon.hpp>
16#include "WsfTerrain.hpp"
17#include <iadsLib/terrainInterface.hpp>
18
19class WsfSimulation;
20
21class WSF_IADS_C2_LIB_EXPORT WsfBMTerrainInterface : public il::terrainInterface
22{
23 public:
26
27 // delayed initialization requirement - we need to wait until we can obtain a valid simulation pointer
28 bool SetSimulation(WsfSimulation* sim_ptr);
29
35 double GetElevation(const il::positionRecord& position) override /* const */;
36
44 bool IsLOSMasked(const il::positionRecord& position1, const il::positionRecord& position2, const bool ignore_features = true) override /* const */;
45
46 protected:
47 WsfSimulation* m_sim_ptr; // not owned by us, must slice
48 std::unique_ptr<wsf::Terrain> m_terrain; // owned by us, must maintain
49};
50
51#endif
std::unique_ptr< wsf::Terrain > m_terrain
Definition WsfBMTerrainEngine.hpp:48
double GetElevation(const il::positionRecord &position) override
Get terrain elevation at a specified point.
Definition WsfBMTerrainEngine.cpp:37
bool IsLOSMasked(const il::positionRecord &position1, const il::positionRecord &position2, const bool ignore_features=true) override
Determine if there is terrain obscuration between two points.
Definition WsfBMTerrainEngine.cpp:46
WsfSimulation * m_sim_ptr
Definition WsfBMTerrainEngine.hpp:47
WsfBMTerrainInterface()
Definition WsfBMTerrainEngine.cpp:18
bool SetSimulation(WsfSimulation *sim_ptr)
Definition WsfBMTerrainEngine.cpp:28
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Copyrights Multiple, All Rights Reserved