VR-Forces 4.0.4 Class Documentation
include/vantageTerrainImplementation/terrainSourcePager.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2010 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 #pragma once
00006 
00009 
00010 #include <string>
00011 
00012 #include <tbb/spin_rw_mutex.h>
00013 #include <tbb/concurrent_queue.h>
00014 
00015 #include <osg/Node>
00016 
00017 #include <vantageTerrainImplementation/terrainEngineCommand.h>
00018 #include <vantageTerrainImplementation/vantageTerrainImplementationDefines.h>
00019 
00020 class DtVantageTerrainEngine;
00021 class DtActivePageTracker;
00022 class DtTerrainSourceTracker;
00023 
00024 typedef std::multimap<int, DtTerrainPagerCommand*> DtCommandPriorityMultimap;
00025 
00030 class DT_DLL_vantageTerrainImplementation DtTerrainSourcePager
00031 {
00032 public:
00033 
00035    DtTerrainSourcePager(DtVantageTerrainEngine* terrainEngine);
00036 
00038    virtual ~DtTerrainSourcePager();
00039 
00043    virtual void tick();
00044 
00046    virtual DtTerrainSourceTracker* createTerrainSourceTracker() = 0;
00047 
00049    virtual DtTerrainSourceTracker* terrainSourceTracker();
00050 
00051    virtual void updatePageTracker(const unsigned int intersectId = 0) = 0;
00052 
00056    virtual int highestPriorityPendingWork();
00057 
00060    virtual void processCommandQueue();
00061 
00065    virtual void setCurrentTime(const double& currentTime);
00066 
00067 protected:
00068 
00069    mutable tbb::spin_rw_mutex myMutex;
00070 
00073    DtVantageTerrainEngine* myTerrainEngine;
00074 
00076    DtTerrainSourceTracker* myTerrainSourceTracker;
00077 
00081    double myCurrentTime;
00082    
00084    DtPagerCommandQueue myCommandQueue;
00085 
00088    DtCommandPriorityMultimap myPriorityCommandMultimap;
00089 };

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)