VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
terrainSourceTracker.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
14 
17 
19 
20 #include <tbb/spin_rw_mutex.h>
21 #include <boost/unordered_map.hpp>
22 #include <boost/optional.hpp>
23 
24 typedef boost::unordered_multimap<DtNodeId, boost::shared_ptr<btCollisionObject> > DtNodeToCollObjMMap;
25 typedef std::pair<DtNodeToCollObjMMap::iterator, DtNodeToCollObjMMap::iterator>
27 
29 
34 {
35 public:
36 
38 
39  virtual ~DtTerrainSourceTracker();
40 
41  virtual DtTerrainInterfaceConfig& configOptions();
42  virtual const DtTerrainInterfaceConfig& configOptions() const;
43 
46  virtual bool init(DtTerrainSourcePager&);
47 
52  virtual boost::optional<DtTerrainIntersectOptions::Fidelity> intersectFidelity() const;
53 
55  virtual bool dataAvailable(DtPagingMetaDataPtr metaData,
56  DtTerrainPagingGeometryPtr geometry) = 0;
57 
58  virtual void pageInData(DtPagingMetaDataPtr metaData,
59  DtTerrainPagingGeometryPtr geometry) = 0;
60 
61  //Should return true if the tracker is capable of paging out data.
62  virtual bool canPageOutData(DtTerrainIntersectIDType intersectId) = 0;
63 
64  virtual DtTerrainIntersectIDType findOldestPagedData(unsigned int& numTriangles) = 0;
65 
66  virtual void pageOutOldestData(const int priority) = 0;
67 
68  virtual void addNodesToCollisionMapping(DtNodeId node,
69  DtCollisionObjectList* collObjList);
70 
71  virtual void removeNodeToCollisionMappings(DtNodeId node);
72 
73  virtual DtCollisionObjectList collisionObjectsForNode(DtNodeId node);
74 
75  virtual const Coordinate_System* localCS() const;
76 
77  virtual void setLabel(const DtString&);
78 
79  virtual void printInfo() const;
80 
81 protected:
83 
85 
87 
89 
90  mutable tbb::spin_rw_mutex myMutex;
91 
93 };

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)