16 #include <boost/unordered_map.hpp>
17 #include <boost/unordered_set.hpp>
21 #include <tbb/spin_mutex.h>
31 : myBoundingSphere(boundingSphere)
32 , myOriginalBoundingSphere(boundingSphere)
33 , myFilename(filename)
62 unsigned int numTriangles,
64 : myBoundingInfo(boundingInfo)
65 , myLastUsed(lastUsed)
66 , myNumTriangles(numTriangles)
67 , myPendingRemoval(false)
78 if (lastUsed > myLastUsed)
80 myLastUsed = lastUsed;
100 boost::hash<DtNodeBoundingInfo*> hasher;
101 return hasher(p.get());
107 myNodeBoundingInfoPtr(nodeBoundingInfoPtr),
112 myNodeBoundingInfoPtr(rh.myNodeBoundingInfoPtr),
113 myMatrix(rh.myMatrix)
boost::unordered_map< DtNodeId, DtPagedInExtendInfo > DtNodeBoundingExtendedInfoMap
Definition: boundingNodeInfo.h:140
DtNodeBoundingInfo(DtSphere boundingSphere, std::string filename, bool known=false)
Definition: boundingNodeInfo.h:30
DtTerrainIntersectIDType lastUsed() const
Definition: boundingNodeInfo.h:84
boost::unordered_map< DtNodeId, DtNodeBoundingInfoPtr > DtNodeBoundingInfoMap
Definition: boundingNodeInfo.h:139
DtPagedNodeStatus(DtNodeBoundingInfo boundingInfo, unsigned int numTriangles, DtTerrainIntersectIDType lastUsed=0)
Definition: boundingNodeInfo.h:60
Definition: boundingNodeInfo.h:104
const DtSphere myOriginalBoundingSphere
Definition: boundingNodeInfo.h:53
boost::unordered_map< DtNodeId, DtPagedNodeStatusPtr > DtPagedNodeStatusMap
Definition: boundingNodeInfo.h:141
unsigned long long DtTerrainIntersectIDType
Definition: terrainInterfaceDefines.h:28
The DtExtent represents an axis-aligned 3d bounding box.
Definition: extent.h:43
std::list< DtNodeBoundingInfoPtr > DtNodeBoundingInfoList
Definition: boundingNodeInfo.h:137
virtual void expandToInclude(const DtExtent &otherExtent)
Expand extent, if necessary, to include input extent.
bool myPendingRemoval
Definition: boundingNodeInfo.h:74
virtual DtExtent extent() const
Definition: boundingNodeInfo.h:42
std::vector< size_t > myNbTriangles
triangles by drawable
Definition: boundingNodeInfo.h:134
DtSphere myBoundingSphere
Definition: boundingNodeInfo.h:52
const unsigned int myNumTriangles
Definition: boundingNodeInfo.h:72
DT_DLL_geometry DtExtent extentOfSphere(const DtSphere &sphere)
const std::string myFilename
Definition: boundingNodeInfo.h:54
std::vector< size_t > myAssociatedDrawableId
Definition: boundingNodeInfo.h:132
DtNodeBoundingInfoPtr myNodeBoundingInfoPtr
Definition: boundingNodeInfo.h:129
Stores the status of a paged in bounding volume.
Definition: boundingNodeInfo.h:58
std::shared_ptr< DtNodeBoundingInfo > DtNodeBoundingInfoPtr
Definition: boundingNodeInfo.h:94
void updateLastUsed(DtTerrainIntersectIDType lastUsed)
Definition: boundingNodeInfo.h:76
DtPagedInExtendInfo(const DtPagedInExtendInfo &rh)
Definition: boundingNodeInfo.h:111
std::shared_ptr< DtPagedNodeStatus > DtPagedNodeStatusPtr
Definition: boundingNodeInfo.h:95
vrf includes
Definition: boundingNodeInfo.h:28
std::size_t hash_value(const DtNodeBoundingInfoPtr &p)
needed for boost::unordered
Definition: boundingNodeInfo.h:98
std::vector< DtNodeId > myAssociatedDrawable
Definition: boundingNodeInfo.h:131
osg::Matrix myMatrix
Definition: boundingNodeInfo.h:130
DtPagedInExtendInfo(const DtNodeBoundingInfoPtr &nodeBoundingInfoPtr, const osg::Matrix &matrix)
Definition: boundingNodeInfo.h:106
virtual std::string filename() const
Definition: boundingNodeInfo.h:47
#define DT_DLL_vantageTerrainImplementation
This file is used to determine how to build.
Definition: vantageTerrainImplementationDefines.h:28
std::atomic< DtTerrainIntersectIDType > myLastUsed
Definition: boundingNodeInfo.h:91
virtual void expandExtent(DtExtent &ext) const
Definition: boundingNodeInfo.h:37
DtPagedInExtendInfo()
Definition: boundingNodeInfo.h:124
boost::unordered_set< DtNodeBoundingInfoPtr > DtNodeBoundingInfoSet
Definition: boundingNodeInfo.h:138
const DtNodeBoundingInfo myBoundingInfo
Definition: boundingNodeInfo.h:71