use super::{ColorRamp, ColumnInstanceSet, GeoGrid, PointInstanceSet, ScalarField2D};
use crate::layer::LayerId;
#[derive(Debug, Clone)]
pub struct ExtrusionParams {
pub height_scale: f64,
pub base_meters: f64,
}
impl Default for ExtrusionParams {
fn default() -> Self {
Self {
height_scale: 1.0,
base_meters: 0.0,
}
}
}
#[derive(Debug, Clone)]
pub enum VisualizationOverlay {
GridScalar {
layer_id: LayerId,
grid: GeoGrid,
field: ScalarField2D,
ramp: ColorRamp,
},
GridExtrusion {
layer_id: LayerId,
grid: GeoGrid,
field: ScalarField2D,
ramp: ColorRamp,
params: ExtrusionParams,
},
Columns {
layer_id: LayerId,
columns: ColumnInstanceSet,
ramp: ColorRamp,
},
Points {
layer_id: LayerId,
points: PointInstanceSet,
ramp: ColorRamp,
},
}