17 #include <tbb/mutex.h>
18 #include <tbb/spin_mutex.h>
20 #include <osg/BoundingBox>
25 #include <unordered_map>
46 virtual void inrementRefCount();
47 virtual void decrementRefCount();
48 virtual unsigned int refCount()
const;
50 virtual void setBoundingBox(
const osg::BoundingBox& bb) { myBoundingBox = bb; };
51 virtual osg::BoundingBox
boundingBox()
const {
return myBoundingBox; }
53 virtual bool newlyReferenced()
const;
55 virtual bool newlyUnreferenced()
const;
57 virtual void clearHistory();
84 void removeAllFidEntries();
85 std::shared_ptr< DtDynamicTerrainChange > change();
86 std::set<DtFid> currentFids()
const;
128 virtual void updateTerrain();
132 virtual void reapplyChangesIfRequired();
133 virtual void reapplyChanges( std::deque<DtDynamicTerrainSphere>& queue );
138 virtual void reapplyChanges();
141 virtual bool isFidHidden(
const DtFid fid)
const;
146 virtual void destroyFids(
const std::vector<DtDynamicFidEntry*>& fidEntries) = 0;
149 virtual void resotreFids(
const std::vector<DtDynamicFidEntry*>& fidEntries) = 0;
152 virtual osgEarth::MapNode* mapNode() = 0;
161 virtual void notifyModifications(
const std::vector<DtDynamicFidEntry*>& modifiedEntries);
168 virtual void removeChangeInternal(std::shared_ptr<DtDynamicFidChangeEntry> changeEntry);
178 std::unordered_map<DtDynamicFidChangeId, DtDynamicFidChangeEntryPtr >
myChanges;
unsigned int myRefCount
Definition: DtDynamicFidManager.h:63
Definition: DtDynamicFidManager.h:73
std::shared_ptr< DtDynamicFidChangeEntry > DtDynamicFidChangeEntryPtr
Definition: DtDynamicFidManager.h:98
virtual DtFid fid() const
Definition: DtDynamicFidManager.h:49
virtual osg::BoundingBox boundingBox() const
Definition: DtDynamicFidManager.h:51
virtual void setBoundingBox(const osg::BoundingBox &bb)
Definition: DtDynamicFidManager.h:50
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Contains makVrv::DtDynamicTerrainSphere class.
Definition: DtDynamicFidManager.h:120
std::vector< DtDynamicFidEntry * > myAlteredFids
Definition: DtDynamicFidManager.h:91
long long DtFid
Definition: DtDynamicFidManager.h:35
DtFid myFid
Definition: DtDynamicFidManager.h:60
DtDynamicFidChangeId myNextChangeId
Definition: DtDynamicFidManager.h:180
unsigned int myPrefRefCount
Definition: DtDynamicFidManager.h:64
tbb::spin_mutex myMutex
Definition: DtDynamicFidManager.h:181
std::shared_ptr< makVrv::DtDynamicTerrainChange > myChangeCommand
Definition: DtDynamicFidManager.h:93
std::unordered_map< DtFid, DtDynamicFidEntry * > myAlteredFids
Definition: DtDynamicFidManager.h:179
DtDynamicFidChangeId myChangeId
Definition: DtDynamicFidManager.h:94
std::unordered_map< DtDynamicFidChangeId, DtDynamicFidChangeEntryPtr > myChanges
Definition: DtDynamicFidManager.h:178
osg::BoundingBoxd myBoundingBox
Definition: DtDynamicFidManager.h:61
Contains DtDynamicTerrainChange class.
Definition: DtDynamicFidManager.h:40
Command which can be given to the dynamic terrain system to perform some change. This class is a simp...
Definition: DtDynamicTerrainChange.h:42
Contains DLL export macros.
virtual ~DtDynamicFidEntry()
Definition: DtDynamicFidManager.h:44
unsigned long DtDynamicFidChangeId
Definition: DtDynamicFidManager.h:36