VR-Forces 4.3 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 
33 {
34 public:
35 
37 
38  virtual ~DtTerrainSourceTracker();
39 
40  virtual DtTerrainInterfaceConfig& configOptions();
41 
43  virtual bool dataAvailable(DtPagingMetaDataPtr metaData,
44  DtTerrainPagingGeometryPtr geometry) = 0;
45 
46  virtual void pageInData(DtPagingMetaDataPtr metaData,
47  DtTerrainPagingGeometryPtr geometry) = 0;
48 
49  virtual void drawDebugInfo(btIDebugDraw* debugDrawer) = 0;
50 
51  //Should return true if the tracker is capable of paging out data.
52  virtual bool canPageOutData(DtTerrainIntersectIDType intersectId) = 0;
53 
54  virtual DtTerrainIntersectIDType findOldestPagedData(unsigned int& numTriangles) = 0;
55 
56  virtual void pageOutOldestData(const int priority) = 0;
57 
58  virtual void addNodeToCollisionMapping(DtNodeId node,
59  btCollisionObject* collisionObject);
60 
61  virtual void addNodesToCollisionMapping(DtNodeId node,
62  DtCollisionObjectList* collObjList);
63 
64  virtual void removeNodeToCollisionMappings(DtNodeId node);
65 
66  virtual std::list<btCollisionObject*> collisionObjectsForNode(
67  DtNodeId node);
68 
69  virtual const Coordinate_System* localCS() const;
70 
71  virtual void setLocalCS(const Coordinate_System* localCS);
72 
73 protected:
75 
77 
79 
80  mutable tbb::spin_rw_mutex myMutex;
81 
82  const Coordinate_System* myLocalCS;
83 };

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)