VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtOsgEarthProfileLogic.h
Go to the documentation of this file.
1 /*****************************************************************************
2 * Copyright (c) 2016 MAK Technologies, Inc.
3 * All rights reserved.
4 *****************************************************************************/
5 
9 #pragma once
10 
12 
15 
16 // Class Forward Declarations
17 namespace osgEarth
18 {
19  class MapNode;
20  class Layer;
21  class Extension;
22  namespace Splat
23  {
24  class LandCover;
25  class LandCoverLayer;
26  }
27 }
28 
29 namespace makVrv
30 {
31  // Class Forward Declarations
32  class DtOsgEarthProfileInterface;
33 
37  {
38  public:
40 
42  virtual ~DtOsgEarthProfileLogic();
43 
45  boost::signal<void()> singal_afterPopulateAllLayers;
46 
47  private:
48 
53 
54  protected:
55 
59 
61  virtual void connectSignals();
62 
64  virtual void disconnectSignals();
65 
66 
68  {
70  TerrainLayerOffset =0,
71  BuildingLayerOffset =100,
72  LandCoverOffset = 200,
73  LandCoverLayerOffset = 300
74  };
75 
77  //| Methods connected to Qt Widget signals
78  virtual void slot_selectOsgEarthChanged(const std::string& file);
79  virtual void slot_selectLayerTreeChanged(int parentID,int layerType, int layerID);
80  virtual void slot_layerVisibilityCheckBoxValueChanged(int layerType, int layerID, int checked);
81  virtual void slot_layerOpacitySpinBoxValueChanged(int layerType, int layerID, double value);
82  virtual void slot_lightingEnabledCheckBox_valueChanged(int layerType, int layerID, int checked);
83  virtual void slot_landCoverVisibilityChanged(int parentID,int layerID, int checked);
84  virtual void slot_landCoverDensityChanged(int parentID, int layerID, double value);
85  virtual void slot_landCoverFillChanged(int parentID, int layerID, double value);
86  virtual void slot_landCoverWindChanged(int parentID, int layerID, double value);
87  virtual void slot_landCoverBrightnessChanged(int parentID, int layerID, double value);
88  virtual void slot_landCoverContrastChanged(int parentID, int layerID, double value);
90 
92  virtual void populateLayers();
93 
97  virtual void setBuildingExtensionVisible(osgEarth::Extension* extension,bool visible);
98 
101  virtual bool isBuildingExtensionVisible(osgEarth::Extension* extension);
102 
104  virtual void populateLandCoverLayers(osgEarth::Splat::LandCover * landCover, int parentID);
105 
109  virtual void changeLandCoverVisibility(osgEarth::Splat::LandCoverLayer* layer,float maxDistance,bool visible);
110 
113  virtual void changeLandCoverDensity(osgEarth::Splat::LandCoverLayer* layer,double density);
114 
117  virtual void changeLandCoverFill(osgEarth::Splat::LandCoverLayer* layer,double fill);
118 
121  virtual void changeLandCoverWind(osgEarth::Splat::LandCoverLayer* layer, double wind);
122 
125  virtual void changeLandCoverBrightness(osgEarth::Splat::LandCoverLayer* layer, double brightness);
126 
129  virtual void changeLandCoverContrast(osgEarth::Splat::LandCoverLayer* layer, double contrast);
130 
131  protected:
132  typedef std::vector<osgEarth::Splat::LandCoverLayer*> LandCoverLayersVector;
135  osgEarth::MapNode* myMapNode;
138  std::vector<osgEarth::Extension*> myOsgEarthExtensions;
139  std::vector<osgEarth::Splat::LandCover*> myLandCovers;
140  std::map <osgEarth::Splat::LandCover*, LandCoverLayersVector> myLandCoverLayesMap;
141  };
142 
146  : public DtVirtualBaseClass
147  {
148  public:
149 
150  // Get the creator instance for this DE object. Creates instance if none found
151  static DtOsgEarthProfileLogicCreator& instance(DtDe& de);
152 
153  static void registerInstance(DtDe& de, DtOsgEarthProfileLogicCreator* creator);
154 
155  //Create the widget's logic.
156  static DtOsgEarthProfileLogic* create(DtDe& de, DtOsgEarthProfileInterface* iface);
157  };
158 }

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)