mirror of
https://github.com/maplibre/maplibre-rs.git
synced 2025-12-08 19:05:57 +00:00
Add get_tile_cache
This commit is contained in:
parent
77a7639ef1
commit
4849718ca8
@ -1,9 +1,7 @@
|
||||
use std::collections::{HashMap, HashSet};
|
||||
|
||||
|
||||
|
||||
use geozero::mvt::Tile;
|
||||
use geozero::{GeozeroDatasource};
|
||||
use geozero::GeozeroDatasource;
|
||||
use log::{error, info};
|
||||
use std::sync::mpsc::{channel, Receiver, SendError, Sender};
|
||||
use std::sync::{Arc, Mutex};
|
||||
@ -237,7 +235,7 @@ pub struct IOScheduler {
|
||||
index_channel: (Sender<TileIndexResult>, Receiver<TileIndexResult>),
|
||||
tessellate_channel: (Sender<TileTessellateResult>, Receiver<TileTessellateResult>),
|
||||
tile_request_state: Arc<Mutex<TileRequestState>>,
|
||||
pub tile_cache: TileCache,
|
||||
tile_cache: TileCache,
|
||||
schedule_method: ScheduleMethod,
|
||||
}
|
||||
|
||||
@ -313,13 +311,8 @@ impl IOScheduler {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub fn iter_tessellated_layers_at<'b: 'a, 'a>(
|
||||
&'b self,
|
||||
coords: &WorldTileCoords,
|
||||
skip_layers: &'a HashSet<&str>,
|
||||
) -> Option<impl Iterator<Item = &LayerTessellateResult> + 'a> {
|
||||
self.tile_cache
|
||||
.iter_tessellated_layers_at(coords, skip_layers)
|
||||
pub fn get_tile_cache(&self) -> &TileCache {
|
||||
&self.tile_cache
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -97,7 +97,7 @@ pub async fn run(
|
||||
|
||||
scheduler.try_populate_cache();
|
||||
|
||||
input.update_state(state, &scheduler.tile_cache, dt);
|
||||
input.update_state(state, scheduler.get_tile_cache(), dt);
|
||||
state.upload_tile_geometry(&mut scheduler);
|
||||
match state.render() {
|
||||
Ok(_) => {}
|
||||
|
||||
@ -414,6 +414,7 @@ impl RenderState {
|
||||
let loaded_layers = self.buffer_pool.get_loaded_layers_at(&world_coords);
|
||||
|
||||
if let Some(available_layers) = scheduler
|
||||
.get_tile_cache()
|
||||
.iter_tessellated_layers_at(&world_coords, &loaded_layers)
|
||||
.map(|layers| layers.collect::<Vec<_>>())
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user