X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FScenery%2FFGTileLoader.hxx;h=5d7d984928c7a9483571ce428d3f5ba4ab1fc450;hb=8dcf08c965ee6386f6fa1a0d8871906fa7faf989;hp=16878e134c07e24b113c7c84b3f354cca3bddc6d;hpb=865fb56c5aab7a465b4ee726c8e8d360df80acd1;p=flightgear.git diff --git a/src/Scenery/FGTileLoader.hxx b/src/Scenery/FGTileLoader.hxx index 16878e134..5d7d98492 100644 --- a/src/Scenery/FGTileLoader.hxx +++ b/src/Scenery/FGTileLoader.hxx @@ -32,8 +32,10 @@ # include #else # include + SG_USING_STD( queue ); #endif + // Forward reference. class FGTileEntry; @@ -54,13 +56,29 @@ public: */ ~FGTileLoader(); +#if 0 // we don't ever want to do this I don't think + /** + * Flush anything in pending load queue without doing the work + * Leave the free queue intact since that's are only record of + * things we need to remove. + */ + void reinit(); +#endif + /** * Add a tile to the end of the load queue. * @param tile The tile to be loaded from disk. - * @param vis Current visibilty (in feet?) (see FGTileMgr::vis). */ void add( FGTileEntry* tile ); +#ifdef WISH_PLIB_WAS_THREADED // but it isn't + /** + * Remove a tile from memory. + * @param tile The tile to be removed from memory. + */ + void remove( FGTileEntry* tile ); +#endif + /** * The tile loader thread will only load one tile per call to the * update() method. This is a way to spread out the work of the @@ -83,9 +101,11 @@ private: /** * FIFO queue of tiles to load from data files. */ - SGBlockingQueue< FGTileEntry* > tile_load_queue; + SGBlockingQueue< FGTileEntry * > tile_load_queue; + // SGBlockingQueue< FGTileEntry * > tile_free_queue; #else - queue< FGTileEntry* > tile_load_queue; + queue< FGTileEntry * > tile_load_queue; + // queue< FGTileEntry * > tile_free_queue; #endif /** @@ -135,7 +155,7 @@ private: * Lock and synchronize access to tile queue. */ SGMutex mutex; - SGCondition frame_cond; + SGPthreadCond frame_cond; /** * Thread cleanup handler.