VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtOsgTerrainOverlayManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtOsgOverlayManager.h,v $ $Revision: 1.13 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #include <vrvOsg/vrvOsg.h>
15 
16 #include <osg/Group>
17 #include <osg/Switch>
18 
19 #include <vector>
20 #include <deque>
21 
22 namespace makVrv
23 {
28  {
29  typedef std::deque<DtOsgTerrainOverlayOperation> OverlayList;
30 
31  public:
32  DtOsgTerrainOverlayManager(DtDe& de, osg::Node* terrain);
33 
34  virtual ~DtOsgTerrainOverlayManager();
35 
37  virtual void setTerrain(osg::Node* terrain);
38 
40  virtual void setOverlay(DtOsgTerrainOverlayOperation overlay);
41 
43  virtual void clearOverlays();
44 
46  virtual void removeOverlay(DtTerrainOverlayOperation::OverlayType type);
47 
49  virtual void setOverlayScale(DtOsgTerrainOverlayOperation::OverlayType type, const std::vector<double> scale);
50 
52  virtual void setOverlayOffset(DtOsgTerrainOverlayOperation::OverlayType type, const std::vector<double> offset);
53 
55  virtual void setWrapMode(DtOsgTerrainOverlayOperation::OverlayType type, int);
56 
58  virtual void setBlendMode(DtOsgTerrainOverlayOperation::OverlayType type, int);
59 
61  virtual void setRasterLayerPosition(DtOsgTerrainOverlayOperation::OverlayType type, int);
62 
64  virtual OverlayList overlays() const;
65 
67  virtual std::string overlayDefinition(DtTerrainOverlayOperation::OverlayType type) const;
68 
70  virtual std::vector<double> overlayScale(DtTerrainOverlayOperation::OverlayType type) const;
71 
73  virtual std::vector<double> overlayOffset(DtTerrainOverlayOperation::OverlayType type) const;
74 
77 
80 
85  virtual int maxTextureUnits();
86  protected:
88  void initializeGraph();
89 
91  void restoreGraph();
92 
94  virtual void applyOverlays(bool reset = true);
95 
96  protected:
98 
99  osg::ref_ptr<osg::Node> myTerrainNode;
100  osg::StateSet* myOriginalState;
101  std::vector<std::string> myOriginalDescriptions;
102 
104 
106 
108  };
109 }
110 

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)