![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00008 00010 00011 #pragma once 00012 00013 #include <vantageTerrainImplementation/vantageTerrainImplementationDefines.h> 00014 #include <vantageTerrainImplementation/vantageTerrainImplementationUtil.h> 00015 00016 #include <tbb/tbb_thread.h> 00017 #include <tbb/mutex.h> 00018 00019 class DtActivePageTracker; 00020 00024 class DT_DLL_vantageTerrainImplementation DtPreloadCommandManager 00025 { 00026 public: 00027 00028 DtPreloadCommandManager(DtActivePageTracker* pageTracker, 00029 const int defaultPriority); 00030 00031 ~DtPreloadCommandManager(); 00032 00035 virtual void tick(); 00036 00040 virtual void addPreloadGeometry( 00041 const DtTerrainPagingGeometryList& geometryList, 00042 unsigned int intersectId); 00043 00046 virtual void startPreloadCommandThread(); 00049 void stopPreloadCommandThread(); 00050 00053 bool threadShouldExit() const; 00054 00055 protected: 00056 00057 static void threadMain(DtPreloadCommandManager* commandManager); 00058 00060 DtActivePageTracker* myPageTracker; 00061 00063 DtPreloadGeometryQueue myGeometryQueue; 00064 00067 int myDefaultPreloadPriority; 00068 00069 tbb::tbb_thread* myPreloadCommandThread; 00070 mutable tbb::mutex myShutdownMutex; 00071 bool myThreadShutdown; 00072 };