VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOsgEarthDynamicTerrainFeature.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 #pragma once
10 
11 #include <vrvOsg/vrvOsg.h>
12 
14 
16 
17 #include <osgEarth/MapNode>
18 
19 #include <tbb/spin_mutex.h>
21 #include <osgEarth/DecalLayer>
22 
23 namespace osgEarth
24 {
25  class LandCoverDictionary;
26 }
27 
28 namespace makVrv
29 {
30  class DtDynamicTerrainGeometry;
31  class DtDynamicTerrainChange;
32  class DtDynamicTerrainSwitch;
33  class DtDynamicTerrainRasterLibrary;
34 
36  {
37  public:
39  explicit DtOsgEarthDynamicTerrainFeature(osgEarth::MapNode* mapNode, DtDe& de);
40 
43 
44  private:
51 
52  public:
53  //Description for this feature
54  virtual DtString description() const;
55 
57  virtual const DtDynamicTerrainGeometry* geometry() const;
58 
60  virtual bool matches(const DtDynamicTerrainChange& command, bool useOriginalGeometry) const;
62  virtual bool matches(const DtDynamicTerrainGeometry&, bool useOriginalGeometry) const;
63 
65  virtual void changeState(const DtDynamicTerrainChanges& changes);
66 
68  virtual void setState(const DtDynamicTerrainChange* command);
69 
71  virtual bool isInDefaultState() const;
72 
74  virtual bool lastStateWasDefaultState() const;
75 
79  virtual void iterateCommands(const boost::function<void(const DtDynamicTerrainChange&)>& callback) const;
80 
81  protected:
82 
86  virtual void removeAllTerrainChanges();
87 
89  virtual void removeTerrainChange(const DtDynamicTerrainChange& change);
90 
91  protected:
92 
94 
96 
98 
105  osgEarth::LandCoverDictionary* myLandCoverDictionary;
106  };
107 }
osg::ref_ptr< osgEarth::Contrib::DecalLandCoverLayer > myDecalLandCoverLayer
Definition: DtOsgEarthDynamicTerrainFeature.h:101
Definition: DtDynamicTerrainFeature.h:316
DtDynamicTerrainRasterLibrary This class is used to managed rasters and out-the-window images appl...
Definition: DtDynamicTerrainRasterLibrary.h:95
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Represents (possibly infinite) area of space.
Definition: DtDynamicTerrainGeometry.h:19
DtDe & myDe
Definition: DtOsgEarthDynamicTerrainFeature.h:103
osg::ref_ptr< osgEarth::MapNode > myMapNode
Definition: DtOsgEarthDynamicTerrainFeature.h:95
const DtString myStateName
Definition: DtOsgEarthDynamicTerrainFeature.h:93
Definition: DtOsgEarthDynamicTerrainFeature.h:35
Contains makVrv::DtDynamicTerrainGeometry class.
osg::ref_ptr< osg::Image > ImageRef
Definition: DtOsgEarthDynamicTerrainFeature.h:102
DtDynamicTerrainRasterLibrary * myRasterLibrary
Definition: DtOsgEarthDynamicTerrainFeature.h:104
osgEarth::LandCoverDictionary * myLandCoverDictionary
Definition: DtOsgEarthDynamicTerrainFeature.h:105
int myChangeCount
Definition: DtOsgEarthDynamicTerrainFeature.h:97
Interface which abstracts the concept of a individually identifiable &quot;thing&quot; in the terrain...
Definition: DtDynamicTerrainFeature.h:83
osg::ref_ptr< osgEarth::Contrib::DecalImageLayer > myDecalImageLayer
Definition: DtOsgEarthDynamicTerrainFeature.h:99
Contains makVrv::DtDynamicTerrainFeature class.
osg::ref_ptr< osgEarth::Contrib::DecalElevationLayer > myDecalElevLayer
Definition: DtOsgEarthDynamicTerrainFeature.h:100
Command which can be given to the dynamic terrain system to perform some change.
Definition: DtDynamicTerrainChange.h:42
Contains DLL export macros.
Contains makVrv::DtDynamicTerrainSwitchNode class.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)