VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
earthLayerVisibilityManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
7 
8 #pragma once
9 
10 #include <vrfGuiCore/vrfGuiCore.h>
13 #include <osg/ref_ptr>
14 
15 namespace makVrv
16 {
17  class DtDe;
18  class DtInputDriver;
19  class DtObserver;
20 }
21 
22 namespace osgEarth
23 {
24  class MapNode;
25  class ImageLayer;
26  class ModelLayer;
27 }
28 
29 namespace makVrf
30 {
34  {
35  public:
38 
41 
43  static DtEarthLayerVisibilityManager& instance(makVrv::DtDe& de);
44 
46  static void registerInstance(makVrv::DtDe&, DtEarthLayerVisibilityManager*);
47 
49  virtual void setImageLayerVisibleForMode(int layer, bool visible, int mode = -1);
50  virtual void setImageLayerVisibleForMode(const std::string& layerName, bool visible, int mode = -1);
51 
53  virtual void setModelLayerVisibleForMode(int layer, bool visible, int mode = -1);
54  virtual void setModelLayerVisibleForMode(const std::string& layerName, bool visible, int mode = -1);
55 
57  virtual std::vector<bool> imageLayerEnabledStates(int layer) const;
58  virtual std::vector<bool> imageLayerEnabledStates(const std::string& imageLayerName) const;
59 
61  virtual bool imageLayerEnabledState(int layer, int mode) const;
62  virtual bool imageLayerEnabledState(const std::string& imageLayerName, int mode) const;
63 
65  virtual std::vector<bool> modelLayerEnabledStates(int layer) const;
66  virtual std::vector<bool> modelLayerEnabledStates(const std::string& modelLayerName) const;
67 
69  virtual bool modelLayerEnabledState(int layer, int mode) const;
70  virtual bool modelLayerEnabledState(const std::string& modelLayerName, int mode) const;
71 
72  protected:
74  virtual std::string imageLayerName(int) const;
75  virtual int indexOfImageLayer(const std::string&) const;
76 
78  virtual std::string modelLayerName(int) const;
79  virtual int indexOfModelLayer(const std::string&) const;
80 
82  virtual std::string nameFromLayer(const std::string&) const;
83 
86  virtual void setLayerVisibilityState(const std::string& name, bool visible, bool curVisible, int mode) const;
87 
89  virtual void setup();
90 
92  virtual void slot_terrainCleared();
93 
94  virtual std::vector<bool> visibilityStates(const std::string& layerName) const;
95 
96  virtual bool visibilityState(const std::string& layerName, int mode) const;
97 
98  virtual void onCurrentObserverChanged(makVrv::DtInputDriver*, makVrv::DtObserver*);
99  virtual void onObserverAboutToBeDestroyed(makVrv::DtInputDriver*, makVrv::DtObserver*);
100  virtual void onObserverModeChanged(makVrv::DtObserver*, int mode);
101  virtual void setCurrentObserver(makVrv::DtObserver*);
102 
103  virtual void setupLayersBasedOnCurrentObserver();
104 
105  protected:
108 
109  mutable osgEarth::MapNode* myMapNode;
111 
112  typedef std::vector<osg::ref_ptr<osgEarth::ImageLayer> > ImageLayerVector;
114 
115  typedef std::vector<osg::ref_ptr<osgEarth::ModelLayer> > ModelLayerVector;
117  };
118 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)