VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
terrainSourcePager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 #pragma once
6 
9 
10 #include <string>
11 
12 #include <tbb/spin_rw_mutex.h>
13 #include <tbb/concurrent_queue.h>
14 #include <tbb/atomic.h>
15 
16 #include <osg/Node>
17 
20 
22 
26 
27 typedef std::multimap<int, DtTerrainPagerCommand*> DtCommandPriorityMultimap;
28 
35 {
36 public:
37 
40 
42  virtual ~DtTerrainSourcePager();
43 
47  virtual void tick();
48 
50  virtual DtTerrainSourceTracker* createTerrainSourceTracker(DtVantageTerrainEngine*) = 0;
51 
53  virtual DtTerrainSourceTracker* terrainSourceTracker();
54 
55  virtual void updatePageTracker(DtTerrainIntersectIDType intersectId = 0) = 0;
56 
60  virtual int highestPriorityPendingWork();
61 
64  virtual void processCommandQueue();
65 
69  virtual void setCurrentTime(const double& currentTime);
70 
72  virtual unsigned long numTriangles() const;
73 
74  virtual bool quitFlagSet() const;
75  virtual void setQuit(bool);
76 
77  virtual const Coordinate_System* localCS() const;
78 
79  virtual void setLabel(const DtString&);
80  virtual DtString label() const;
81 
82 protected:
83  virtual unsigned long addNumTriangles(long);
84 
85  typedef tbb::spin_rw_mutex Mutex;
86  mutable Mutex myMutex;
87 
89 
91  tbb::atomic<bool> myQuitFlag;
92 
96 
99 
104 
107 
111 
113  unsigned long myNumTriangles;
114 };

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)