]> git.mxchange.org Git - simgear.git/commitdiff
Track time in TileCache; assign new tiles the current time
authortimoore <timoore>
Mon, 24 Nov 2008 22:08:31 +0000 (22:08 +0000)
committertimoore <timoore>
Mon, 24 Nov 2008 22:08:31 +0000 (22:08 +0000)
simgear/scene/tgdb/TileCache.cxx
simgear/scene/tgdb/TileCache.hxx

index 4f0b8e3b49351060241334847d2d3072a4b1f647..106dd054bf7ea36126c2fcf12d5153789c6ed17e 100644 (file)
@@ -35,7 +35,7 @@ using simgear::TileEntry;
 using simgear::TileCache;
 
 TileCache::TileCache( void ) :
 using simgear::TileCache;
 
 TileCache::TileCache( void ) :
-    max_cache_size(100)
+    max_cache_size(100), current_time(0.0)
 {
     tile_cache.clear();
 }
 {
     tile_cache.clear();
 }
@@ -167,6 +167,7 @@ bool TileCache::insert_tile( TileEntry *e ) {
     // register tile in the cache
     long tile_index = e->get_tile_bucket().gen_index();
     tile_cache[tile_index] = e;
     // register tile in the cache
     long tile_index = e->get_tile_bucket().gen_index();
     tile_cache[tile_index] = e;
+    e->set_timestamp(current_time);
 
     return true;
 }
 
     return true;
 }
index f3c8a582b729c0be33f4117a1bbb69502a5a665c..f141507db47e9504310edbbb48e3b1c516f6bfe1 100644 (file)
@@ -53,6 +53,8 @@ private:
     // Free a tile cache entry
     void entry_free( long cache_index );
 
     // Free a tile cache entry
     void entry_free( long cache_index );
 
+    double current_time;
+
 public:
     tile_map_iterator begin() { return tile_cache.begin(); }
     tile_map_iterator end() { return tile_cache.end(); }
 public:
     tile_map_iterator begin() { return tile_cache.begin(); }
     tile_map_iterator end() { return tile_cache.end(); }
@@ -122,6 +124,9 @@ public:
      * @return success/failure
      */
     bool insert_tile( simgear::TileEntry* e );
      * @return success/failure
      */
     bool insert_tile( simgear::TileEntry* e );
+
+    void set_current_time(double val) { current_time = val; }
+    double get_current_time() const { return current_time; }
 };
 
 }
 };
 
 }