VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOsgTerrainOverlayManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 #pragma once
6 
10 
11 #include <vrvOsg/vrvOsg.h>
13 
14 #include <osg/Group>
15 #include <osg/Switch>
16 
17 #include <vector>
18 #include <deque>
19 
20 namespace makVrv
21 {
26  {
27  typedef std::deque<DtOsgTerrainOverlayOperation> OverlayList;
28 
29  public:
30  DtOsgTerrainOverlayManager(DtDe& de, osg::Node* terrain);
31 
32  virtual ~DtOsgTerrainOverlayManager();
33 
35  virtual void setTerrain(osg::Node* terrain);
36 
38  virtual void setOverlay(DtOsgTerrainOverlayOperation overlay);
39 
41  virtual void clearOverlays();
42 
44  virtual void removeOverlay(DtTerrainOverlayOperation::OverlayType type);
45 
47  virtual void setOverlayScale(DtOsgTerrainOverlayOperation::OverlayType type, const std::vector<double>& scale);
48 
50  virtual void setOverlayOffset(DtOsgTerrainOverlayOperation::OverlayType type, const std::vector<double>& offset);
51 
53  virtual void setWrapMode(DtOsgTerrainOverlayOperation::OverlayType type, int);
54 
56  virtual void setBlendMode(DtOsgTerrainOverlayOperation::OverlayType type, int);
57 
59  virtual void setRasterLayerPosition(DtOsgTerrainOverlayOperation::OverlayType type, int);
60 
62  virtual OverlayList overlays() const;
63 
65  virtual std::string overlayDefinition(DtTerrainOverlayOperation::OverlayType type) const;
66 
68  virtual std::vector<double> overlayScale(DtTerrainOverlayOperation::OverlayType type) const;
69 
71  virtual std::vector<double> overlayOffset(DtTerrainOverlayOperation::OverlayType type) const;
72 
75 
78 
83  virtual int maxTextureUnits();
84  protected:
86  void initializeGraph();
87 
89  void restoreGraph();
90 
92  virtual void applyOverlays(bool reset = true);
93 
94  protected:
96 
98  osg::StateSet* myOriginalState;
99  std::vector<std::string> myOriginalDescriptions;
100 
102 
104 
106  };
107 }
108 
osg::ref_ptr< osg::Node > myTerrainNode
Definition: DtOsgTerrainOverlayManager.h:97
int myMaxTextureUnits
Definition: DtOsgTerrainOverlayManager.h:105
bool myInitializedFlag
Definition: DtOsgTerrainOverlayManager.h:103
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
OverlayType
Definition: DtTerrainOverlayOperation.h:25
DtDe & myDe
Definition: DtOsgTerrainOverlayManager.h:101
std::deque< DtOsgTerrainOverlayOperation > OverlayList
Definition: DtOsgTerrainOverlayManager.h:27
An osg terrain overlay operation is an operation that affects terrain texture overlaying.
Definition: DtOsgTerrainOverlayOperation.h:29
OverlayList myOverlays
Definition: DtOsgTerrainOverlayManager.h:95
osg::StateSet * myOriginalState
Definition: DtOsgTerrainOverlayManager.h:98
Manager for setting up terrain layers in an OpenSceneGraph terrain.
Definition: DtOsgTerrainOverlayManager.h:25
A class specifying a single overlay operation.
Definition: DtTerrainOverlayOperation.h:22
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
std::vector< std::string > myOriginalDescriptions
Definition: DtOsgTerrainOverlayManager.h:99
voidpf uLong offset
Definition: ioapi.h:42

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)