VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
pagedNode2TerrainSourceTracker.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2024 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 #pragma once
6 
9 
11 
16 
17 
24 {
25 public:
26 
29 
31  virtual ~DtPagedNode2TerrainSourceTracker() override;
32 
34  virtual bool dataAvailable(DtPagingMetaDataPtr metaData,
35  DtTerrainPagingGeometryPtr geometry) override;
36 
37  virtual DtTerrainCategoryMask terrainCategories() const override;
38 
46  virtual void pageInData(DtPagingMetaDataPtr metaData, DtTerrainPagingGeometryPtr geometry) override;
47 
48  //Should return true if the tracker is capable of paging out data.
49  virtual bool canPageOutData(DtTerrainIntersectIDType intersectId) override;
50 
56  virtual DtTerrainIntersectIDType findOldestPagedData(unsigned int& numTrianglesOut) override;
57 
60  virtual void pageOutOldestData(const int priority) override;
61 
63  virtual void addPageInData(DtNodeBoundingExtendedInfoMap::const_iterator pagedNode2ExtendedInfo);
64 
67  virtual unsigned int removePageInData(DtNodeId node);
68 
70  virtual void getNodesMappingList(DrawableList& currentLoadNode);
71 
73  void removeEmptyPagedOutInfo(DtTerrainPagingGeometryPtr geometry);
74 
75 protected:
76 
79  mutable tbb::spin_rw_mutex myPagedNode2ToDrawableMapMutex;
80 
83 };
boost::unordered_map< DtNodeId, DtPagedInExtendInfo > DtNodeBoundingExtendedInfoMap
Definition: boundingNodeInfo.h:140
tbb::spin_rw_mutex myPagedNode2ToDrawableMapMutex
Definition: pagedNode2TerrainSourceTracker.h:79
unsigned long long DtTerrainIntersectIDType
Definition: terrainInterfaceDefines.h:28
tbb::concurrent_queue< DtTerrainPagerCommand * > DtPagerCommandQueue
Definition: vantageTerrainImplementationUtil.h:42
std::shared_ptr< DtTerrainPagingGeometry > DtTerrainPagingGeometryPtr
Definition: terrainPagingGeometry.h:46
virtual DtTerrainIntersectIDType findOldestPagedData(unsigned int &numTrianglesOut) override
Finds the least-recently-used tile and set myOldestPagedObject to it.
std::map< size_t, DrawableInfo > DrawableMap
Definition: vantageTerrainImplementationUtil.h:85
DrawableMap myDrawableIdToInfoMap
Map of the drawable unique ID to DrawableInfo.
Definition: pagedNode2TerrainSourceTracker.h:82
std::shared_ptr< DtPagingMetaData > DtPagingMetaDataPtr
Definition: terrainPagingGeometry.h:108
virtual DtTerrainCategoryMask terrainCategories() const
virtual bool dataAvailable(DtPagingMetaDataPtr metaData, DtTerrainPagingGeometryPtr geometry) override
A DtBoundingVolumeTerrainSourceTracker tracks data from a paging terrain source for purposes such as ...
Definition: boundingVolumeTerrainSourceTracker.h:47
virtual void pageOutOldestData(const int priority) override
Adds a page out command for the least-recently-used tileID to myCommandQueue.
DtNodeBoundingExtendedInfoMap myPagedNode2ToDrawableMap
Map that keep the relation between the pagedNode2 and the drawable under them.
Definition: pagedNode2TerrainSourceTracker.h:78
unsigned int DtTerrainCategoryMask
This bitmask is made using DtTerrainCategory values.
Definition: rwTerrainCategoryMask.h:27
#define DT_DLL_vantageTerrainImplementation
This file is used to determine how to build.
Definition: vantageTerrainImplementationDefines.h:28
virtual void pageInData(DtPagingMetaDataPtr metaData, DtTerrainPagingGeometryPtr geometry) override
Page in data within geometry. Determines which tiles are within the geometry and adds a page in comma...
std::set< size_t > DrawableList
Definition: vantageTerrainImplementationUtil.h:84
This class wraps the VR-Vantage Display Engine, and uses as a terrain loader and intersector. This is the terrain engine that powers the DtVantageTerrainImplementation. The DtVantageTerrainEngine runs the DtDe it its own thread, and processes commands thought the command queue.
Definition: vantageTerrainEngine.h:112
virtual bool canPageOutData(DtTerrainIntersectIDType intersectId) override
A DtPagedNode2TerrainSourceTracker tracks data from osgEarth pagedNode2 terrain source.
Definition: pagedNode2TerrainSourceTracker.h:22

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)