VR-Forces 4.2 Class Documentation
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 
16 
17 #include <tbb/spin_rw_mutex.h>
18 #include <boost/unordered_map.hpp>
19 
21 
22 
23 typedef boost::unordered_multimap<DtNodeId, btCollisionObject*> DtNodeToCollObjMMap;
24 typedef std::pair<DtNodeToCollObjMMap::iterator, DtNodeToCollObjMMap::iterator>
26 
31 {
32 public:
33 
35 
36  virtual ~DtTerrainSourceTracker();
37 
39  virtual bool dataAvailable(DtPagingMetaDataPtr metaData,
40  DtTerrainPagingGeometryPtr geometry) = 0;
41 
42  virtual void pageInData(DtPagingMetaDataPtr metaData,
43  DtTerrainPagingGeometryPtr geometry) = 0;
44 
45  virtual void drawDebugInfo(btIDebugDraw* debugDrawer) = 0;
46 
47  //Should return true if the tracker is capable of paging out data.
48  virtual bool canPageOutData(unsigned int intersectId) = 0;
49 
50  virtual unsigned int findOldestPagedData(unsigned int& numTriangles) = 0;
51 
52  virtual void pageOutOldestData(const int priority) = 0;
53 
54  virtual void addNodeToCollisionMapping(DtNodeId node,
55  btCollisionObject* collisionObject);
56 
57  virtual void addNodesToCollisionMapping(DtNodeId node,
58  DtCollisionObjectList* collObjList);
59 
60  virtual void removeNodeToCollisionMappings(DtNodeId node);
61 
62  virtual std::list<btCollisionObject*> collisionObjectsForNode(
63  DtNodeId node);
64 
65 protected:
66 
68 
70 
71  mutable tbb::spin_rw_mutex myMutex;
72 };

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)