VR-Forces 4.1 Class Documentation
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>
14 #include <vrvCore/DtDe.h>
16 
17 #include <osg/Group>
18 #include <osg/Switch>
19 
20 #include <vector>
21 #include <deque>
22 
23 namespace makVrv
24 {
29  {
30  typedef std::deque<DtOsgTerrainOverlayOperation> OverlayList;
31 
32  public:
33  DtOsgTerrainOverlayManager(DtDe& de, osg::Node* terrain);
34 
36 
38  virtual void setTerrain(osg::Node* terrain);
39 
41  virtual void setOverlay(DtOsgTerrainOverlayOperation overlay);
42 
44  virtual void clearOverlays();
45 
47  virtual void removeOverlay(DtTerrainOverlayOperation::OverlayType type);
48 
50  virtual void setOverlayScale(DtOsgTerrainOverlayOperation::OverlayType type, const std::vector<double> scale);
51 
53  virtual void setOverlayOffset(DtOsgTerrainOverlayOperation::OverlayType type, const std::vector<double> offset);
54 
56  virtual void setWrapMode(DtOsgTerrainOverlayOperation::OverlayType type, int);
57 
59  virtual void setBlendMode(DtOsgTerrainOverlayOperation::OverlayType type, int);
60 
62  virtual void setRasterLayerPosition(DtOsgTerrainOverlayOperation::OverlayType type, int);
63 
65  virtual OverlayList overlays() const;
66 
68  virtual std::string overlayDefinition(DtTerrainOverlayOperation::OverlayType type) const;
69 
71  virtual std::vector<double> overlayScale(DtTerrainOverlayOperation::OverlayType type) const;
72 
74  virtual std::vector<double> overlayOffset(DtTerrainOverlayOperation::OverlayType type) const;
75 
78 
81 
86  virtual int maxTextureUnits();
87  protected:
89  void initializeGraph();
90 
92  void restoreGraph();
93 
95  virtual void applyOverlays(bool reset = true);
96 
97  protected:
99 
100  osg::ref_ptr<osg::Node> myTerrainNode;
101  osg::StateSet* myOriginalState;
102  std::vector<std::string> myOriginalDescriptions;
103 
105 
107 
109  };
110 }
111 

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)