VR-Forces 4.8 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) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
14 
16 
18 
19 #include <matrix/vlVector.h>
20 
21 #include <osg/Vec3f>
22 
23 #include <boost/unordered_map.hpp>
24 
25 #include <vector>
26 
27 namespace SilverLining
28 {
29  class Atmosphere;
30  class CloudLayer;
31 }
32 
33 namespace makVrv
34 {
35  class DtDe;
36 
38  {
39  public:
41  virtual ~DtCloudLayerManager();
42 
43  virtual const CloudLayerMap& cloudLayerMap() const;
44  virtual CloudLayerMap& cloudLayerMap();
45  virtual CloudLayerList& destroyedLayers();
46 
47  virtual void setAtmosphere(SilverLining::Atmosphere* atmosphere);
48  const SilverLining::Atmosphere* atmosphere(void);
49 
50  virtual void clearAllPrecipitation(void);
51  virtual void addPrecipitationToClouds(int type, float mmPerHour, double maxPrecipitationAltitude);
52 
53  virtual bool removeCloudLayer(DtCloudLayerId layerId);
54  virtual void removeCloudLayers(void);
55 
56  virtual void addLayer(DtCloudLayerId layerId, const DtSilverLiningCloudLayer& layer);
57 
58  virtual void setLayersRealized(bool realized);
59  virtual bool setCloudLayerEnabled(DtCloudLayerId layerId, bool enabled);
60 
61  virtual void realizeCloudLayerPositionAndOrientation(const DtSilverLiningCloudLayer& cloudLayer,
62  SilverLining::CloudLayer* cloudCloudLayer, bool geocentricMode, osg::Vec3f& lastUpVector);
63 
64  virtual void setCloudLayerPositionAndOrientation(DtCloudLayerId layerId, const DtVector& position, float orientation, bool geocentricMode, osg::Vec3f& lastUpVector);
65 
66  virtual bool realizeLayer(const DtSilverLiningCloudLayer& layer
67  , bool geocentricMode
68  , bool curveTowardGround
69  , bool hiResCumulus
70  , std::string& originalVoxelDimension
71  , osg::Vec3f& lastUpVector);
72 
73  virtual bool realizeLayers(
74  bool& relight
75  , bool geocentricMode
76  , bool curveTowardGround
77  , bool hiResCumulus
78  , std::string& originalVoxelDimension
79  , osg::Vec3f& lastUpVector);
80  protected:
81 
84 
85  SilverLining::Atmosphere* myAtmosphere;
86 
88  };
89 
91  {
92  public:
94  virtual ~DtCloudLayerManagerCreator();
95 
96  virtual DtCloudLayerManager* create(void) const;
97 
98  static DtCloudLayerManagerCreator& instance(DtDe& de);
99  static const std::string& theClassName();
100  protected:
101 
102  protected:
104  };
105 }
SilverLining::Atmosphere * myAtmosphere
Definition: DtCloudLayerManager.h:85
Virtual base class.
Definition: DtVirtualBaseClass.h:22
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Contains makVrv::DtCloudCoverManager class.
CloudLayerMap myLayers
Definition: DtCloudLayerManager.h:82
DtDe & myDe
Definition: DtCloudLayerManager.h:87
Contains makVrv::DtVirtualBaseClass class.
DtDe & myDe
Definition: DtCloudLayerManager.h:103
Definition: DtCloudLayerManager.h:37
boost::unordered_map< DtCloudLayerId, DtSilverLiningCloudLayer > CloudLayerMap
Definition: DtSilverLiningCloudLayer.h:41
Definition: DtSilverLiningCloudLayer.h:23
long long DtCloudLayerId
Definition: DtCloudLayer.h:26
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
std::vector< DtSilverLiningCloudLayer > CloudLayerList
Definition: DtSilverLiningCloudLayer.h:40
CloudLayerList myDestroyedLayers
Definition: DtCloudLayerManager.h:83
Contains makVrv::DtSilverLiningCloudLayer struct.
Definition: DtCloudLayerManager.h:90
Definition: vrfObjectManipulationHandlerBaseClass.h:67

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)