VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtCloudLayerManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
14 
17 
18 #include <matrix/vlVector.h>
19 
20 #include <osg/Vec2f>
21 #include <osg/Vec3f>
22 
23 
24 #include <vector>
25 
26 namespace SilverLining
27 {
28  class Atmosphere;
29  class CloudLayer;
30  class ThreadCameraStreamData;
31 }
32 
33 namespace makVrv
34 {
35 
36  typedef std::vector<DtSilverLiningCloudLayer> CloudLayerList;
37 
38  class DtDe;
39 
42 
45 
47  template <>
48  inline const char* creatorTypeName<DtCloudLayerManager>(void) { return "DtCloudLayerManagerCreator"; }
49 
51  {
52  public:
55 
57  virtual ~DtCloudLayerManager();
58 
60  DtCloudLayerManager() = delete;
61 
63  DtCloudLayerManager(const DtCloudLayerManager& rhs) = delete;
64 
66  DtCloudLayerManager& operator=(const DtCloudLayerManager& rhs) = delete;
67 
68  public:
70  virtual const CloudLayerMap& cloudLayerMap() const;
71 
73  virtual CloudLayerMap& cloudLayerMap();
74 
76  virtual CloudLayerList& destroyedLayers();
77 
79  virtual void setAtmosphere(SilverLining::Atmosphere* atmosphere);
80 
82  virtual const SilverLining::Atmosphere* atmosphere(void) const;
83 
85  virtual void clearAllPrecipitation(void);
86 
88  virtual void addPrecipitationToClouds(int type, float mmPerHour, double maxPrecipitationAltitude);
89 
92  virtual void setCloudWindForAllLayers(const osg::Vec2f& windVector);
93 
96  virtual void setCloudLayerWind(const DtCloudLayerId layerId, const osg::Vec2f& windVector);
97 
99  virtual bool removeCloudLayer(DtCloudLayerId layerId);
100 
102  virtual void removeCloudLayers(void);
103 
105  virtual void addLayer(DtCloudLayerId layerId, const DtSilverLiningCloudLayer& layer);
106 
108  virtual void setLayersRealized(bool realized);
109 
111  virtual bool setCloudLayerEnabled(DtCloudLayerId layerId, bool enabled, SilverLining::ThreadCameraStreamData* tcsData, bool setForAll);
112 
114  virtual void realizeCloudLayerPositionAndOrientation(const DtSilverLiningCloudLayer& cloudLayer, SilverLining::CloudLayer* cloudCloudLayer, bool geocentricMode, osg::Vec3f& lastUpVector, SilverLining::ThreadCameraStreamData* tcsData);
115 
117  virtual void setCloudLayerPositionAndOrientation(DtCloudLayerId layerId, const DtVector& position, float orientation, bool geocentricMode, osg::Vec3f& lastUpVector, SilverLining::ThreadCameraStreamData* tcsData, bool setForAll);
118 
120  virtual bool realizeLayer(const DtSilverLiningCloudLayer& layer
121  , bool geocentricMode
122  , bool curveTowardGround
123  , bool hiResCumulus
124  , std::string& originalVoxelDimension
125  , osg::Vec3f& lastUpVector
126  , bool& created
127  , bool& initializedForTcsDataHere
128  , SilverLining::ThreadCameraStreamData* tcsData);
129 
131  virtual bool realizeLayers(
132  bool& relight
133  , bool geocentricMode
134  , bool curveTowardGround
135  , bool hiResCumulus
136  , std::string& originalVoxelDimension
137  , osg::Vec3f& lastUpVector
138  , const osg::Vec2f& windVector
139  , SilverLining::ThreadCameraStreamData* tcsData);
140 
142  void tcsDataDeleted(SilverLining::ThreadCameraStreamData* tcsData);
143 
144  protected:
145 
148 
149  SilverLining::Atmosphere* myAtmosphere;
150 
152  };
153 
154 }
SilverLining::Atmosphere * myAtmosphere
Definition: DtCloudLayerManager.h:149
Definition: DtSilverLiningCloudLayer.h:28
std::unordered_map< DtCloudLayerId, DtSilverLiningCloudLayer > CloudLayerMap
Definition: DtSilverLiningCloudLayer.h:71
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Contains makVrv::DtCloudCoverManager class.
CloudLayerMap myLayers
Definition: DtCloudLayerManager.h:146
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
DtDe & myDe
Definition: DtCloudLayerManager.h:151
DtVirtualBaseClassCreator< DtCloudLayerManager > DtCloudLayerManagerCreator
creator
Definition: DtCloudLayerManager.h:41
std::vector< DtSilverLiningCloudLayer > CloudLayerList
Definition: DtCloudLayerManager.h:36
Definition: DtCloudLayerManager.h:50
long long DtCloudLayerId
Definition: DtCloudLayer.h:26
const char * creatorTypeName< DtCloudLayerManager >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtCloudLayerManager.h:48
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
CloudLayerList myDestroyedLayers
Definition: DtCloudLayerManager.h:147
Contains makVrv::DtSilverLiningCloudLayer struct.
Definition: vrfObjectManipulationHandlerBaseClass.h:65

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)