VR-Forces Development_Version 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, 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 addNodeToCollisionMapping(DtNodeId node,
61  btCollisionObject* collisionObject);
62 
63  virtual void addNodesToCollisionMapping(DtNodeId node,
64  DtCollisionObjectList* collObjList);
65 
66  virtual void removeNodeToCollisionMappings(DtNodeId node);
67 
68  virtual std::list<btCollisionObject*> collisionObjectsForNode(
69  DtNodeId node);
70 
71  virtual const Coordinate_System* localCS() const;
72 
73  virtual bool setDrawMode(DtDrawMode);
74  virtual void setLabel(const DtString&);
75 
76  virtual void printInfo() const;
77 
78 protected:
80 
82 
84 
86 
87  mutable tbb::spin_rw_mutex myMutex;
88 
90 };

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)