VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 
16 
18 
19 #include <tbb/spin_rw_mutex.h>
20 #include <boost/unordered_map.hpp>
21 
23 
24 
25 typedef boost::unordered_multimap<DtNodeId, boost::shared_ptr<btCollisionObject> > DtNodeToCollObjMMap;
26 typedef std::pair<DtNodeToCollObjMMap::iterator, DtNodeToCollObjMMap::iterator>
28 
30 
35 {
36 public:
37 
39 
40  virtual ~DtTerrainSourceTracker();
41 
42  virtual DtTerrainInterfaceConfig& configOptions();
43 
45  virtual bool dataAvailable(DtPagingMetaDataPtr metaData,
46  DtTerrainPagingGeometryPtr geometry) = 0;
47 
48  virtual void pageInData(DtPagingMetaDataPtr metaData,
49  DtTerrainPagingGeometryPtr geometry) = 0;
50 
51  virtual void drawDebugInfo(btIDebugDraw* debugDrawer) = 0;
52 
53  //Should return true if the tracker is capable of paging out data.
54  virtual bool canPageOutData(DtTerrainIntersectIDType intersectId) = 0;
55 
56  virtual DtTerrainIntersectIDType findOldestPagedData(unsigned int& numTriangles) = 0;
57 
58  virtual void pageOutOldestData(const int priority) = 0;
59 
60  virtual void addNodesToCollisionMapping(DtNodeId node,
61  DtCollisionObjectList* collObjList);
62 
63  virtual void removeNodeToCollisionMappings(DtNodeId node);
64 
65  virtual DtCollisionObjectList collisionObjectsForNode(DtNodeId node);
66 
67  virtual const Coordinate_System* localCS() const;
68 
69  virtual bool setDrawMode(DtDrawMode);
70  virtual void setLabel(const DtString&);
71 
72  virtual void printInfo() const;
73 
74 protected:
76 
78 
80 
82 
83  mutable tbb::spin_rw_mutex myMutex;
84 
86 };

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)