20 #include <unordered_map>
24 class DtCloudLayerRecord;
87 bool isValidCloudCover(
const std::string& cloudCover)
const;
99 virtual std::string cloudCoverForLayer(
DtCloudLayerId layerId)
const;
112 virtual bool getCloudLayerIdFromCloudCoverAndBaseMSL(
113 const std::string& cloudCover,
float baseMSLAltitude,
DtCloudLayerId& result)
const;
124 virtual void addCloudCover(
const std::string& cloudCoverName);
127 virtual void removeCloudCover(
const std::string& cloudCoverName);
130 virtual void renameCloudCover(
const std::string& oldName,
const std::string& newName);
135 virtual DtCloudLayerId addCloudLayer(
const std::string& cloudCoverName,
141 virtual DtCloudLayerId addCloudLayerByRecord(
const std::string& cloudCoverName,
163 float orientation = 0.);
169 virtual bool setCloudLayerEnabled(
DtCloudLayerId layerId,
bool enabled);
194 boost::signalslib::signal<void(DtCloudLayerId layerId, const DtCloudLayer& changedLayer)>
200 boost::signalslib::signal<void(DtCloudLayerId layerId, const DtCloudLayer& oldLayer)>
220 virtual void initialize();
226 virtual void createExternalCloudCover();
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
DtDe & myDe
Definition: DtCloudCoverManager.h:243
DtCloudLayer cloudLayer
Definition: DtCloudCoverManager.h:234
boost::signalslib::signal< void(const std::string &)> signal_cloudCoverToBeRemoved
signal_cloudCoverToBeRemoved is raised just before a cloud cover is removed
Definition: DtCloudCoverManager.h:179
This is the data we'll keep in a map for each layer id.
Definition: DtCloudCoverManager.h:231
std::vector< DtCloudLayerId > CloudLayerIdList
A simple list of cloud layer ids. Each cloud layer added through the API is assigned a unique cloud l...
Definition: DtCloudCoverManager.h:60
boost::signalslib::signal< void(DtCloudLayerId newLayer, const std::string &coverName)> signal_cloudLayerAdded
signal_cloudLayerAdded is raised when a cloud layer is added to a cloud cover
Definition: DtCloudCoverManager.h:204
boost::signalslib::signal< void(DtCloudLayerId oldLayer)> signal_cloudLayerToBeRemoved
signal_cloudLayerToBeRemoved is raised when a cloud layer is about to be removed from a cloud cover ...
Definition: DtCloudCoverManager.h:207
CloudLayerIdMap myCloudLayerIdMap
Definition: DtCloudCoverManager.h:239
boost::signalslib::signal< void(DtCloudLayerId, bool)> signal_cloudLayerEnabledChanged
signal_cloudLayerEnabledChanged is raised when the enabled state of a cloud layer within its cloud co...
Definition: DtCloudCoverManager.h:186
std::string cloudCoverName
Definition: DtCloudCoverManager.h:65
Contains makVrv::DtVirtualBaseClass class.
Record of a single cloud layer's settings.
Definition: DtCloudLayerRecord.h:17
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Representation of a single cloud layer.
Definition: DtCloudLayer.h:34
CloudCoverCloudLayerIdMap myCloudCoverCloudLayerIdMap
Definition: DtCloudCoverManager.h:240
boost::signalslib::signal< void(DtCloudLayerId layerId, const DtCloudLayer &changedLayer)> signal_cloudLayerToBeModified
signal_cloudLayerToBeModified is raised when a cloud layer is about to be changed. The new layer state is provided, and the original can be looked up if needed from the layer id
Definition: DtCloudCoverManager.h:195
boost::signalslib::signal< void(DtCloudLayerId, const DtVector &, float)> signal_cloudLayerPositionAndOrientationChanged
signal_cloudLayerPositionChanged is raised when a cloud layer's position is modified ...
Definition: DtCloudCoverManager.h:189
Contains vrvCore::DtCloudLayerRecord declaration.
boost::signalslib::signal< void(DtCloudLayerId oldLayer)> signal_cloudLayerRemoved
signal_cloudLayerRemoved is raise when a cloud layer is removed from a cloud cover ...
Definition: DtCloudCoverManager.h:210
std::string cloudCover
Definition: DtCloudCoverManager.h:233
long long DtCloudLayerId
Definition: DtCloudLayer.h:26
This is the data we track for each cloud cover.
Definition: DtCloudCoverManager.h:63
boost::signalslib::signal< void(DtCloudLayerId layerId, const DtCloudLayer &oldLayer)> signal_cloudLayerModified
signal_cloudLayerModified is raised when a cloud layer has changed. The old layer state is provided...
Definition: DtCloudCoverManager.h:201
std::map< std::string, CloudCoverData > CloudCoverCloudLayerIdMap
This map is updated as cloud layers are added or removed.
Definition: DtCloudCoverManager.h:71
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
Defines the manager class that manages the different cloud cover configurations being used by VR-Vant...
Definition: DtCloudCoverManager.h:54
std::unordered_map< DtCloudLayerId, LayerIdData > CloudLayerIdMap
This map is created when a data file is read and updated if cloud layers are added or removed...
Definition: DtCloudCoverManager.h:238
CloudLayerIdList cloudLayerIdList
Definition: DtCloudCoverManager.h:66
DtCloudLayerId myFreeCloudLayerId
Definition: DtCloudCoverManager.h:242
boost::signalslib::signal< void(const std::string &)> signal_cloudCoverAdded
BOOST SIGNALS used to let clients know what has transpired in this manager.
Definition: DtCloudCoverManager.h:176
boost::signalslib::signal< void(const std::string &)> signal_cloudCoverRemoved
signal_cloudCoverRemoved is raised immediately after a cloud cover is removed
Definition: DtCloudCoverManager.h:182
Contains DLL export macros.