+ void sched_tile( const SGBucket& b );
+
+ // schedule a needed buckets for loading
+ void schedule_needed(double visibility_meters, SGBucket curr_bucket);
+
+ // see comment at prep_ssg_nodes()
+ void prep_ssg_node( int idx );
+
+ FGHitList hit_list;
+
+ SGBucket previous_bucket;
+ SGBucket current_bucket;
+ SGBucket pending;
+
+ FGTileEntry *current_tile;
+
+ // x and y distance of tiles to load/draw
+ float vis;
+ int xrange, yrange;
+
+ // current longitude latitude
+ double longitude;
+ double latitude;
+ double last_longitude;
+ double last_latitude;
+
+ /**
+ * tile cache
+ */
+ FGNewCache tile_cache;
+
+ /**
+ * Queue tiles for loading.
+ */
+ FGTileLoader loader;
+ int counter_hack;
+
+ /**
+ * Work queues.
+ *
+ * attach_queue is the tiles that have been loaded [by the pager]
+ * that can be attached to the scene graph by the render thread.
+ *
+ * model_queue is the set of models that need to be loaded by the
+ * primary render thread.
+ */
+#ifdef ENABLE_THREADS
+ static SGLockedQueue<FGTileEntry *> attach_queue;
+ static SGLockedQueue<FGDeferredModel *> model_queue;
+#else
+ static queue<FGTileEntry *> attach_queue;
+ static queue<FGDeferredModel *> model_queue;
+#endif // ENABLE_THREADS