use crate::render::{Color, ColorMap};
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub enum SurfaceShading {
Unlit,
Flat,
#[default]
Smooth,
}
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub enum SurfaceSampling {
#[default]
Auto,
Full,
MaxGrid { rows: usize, columns: usize },
}
#[derive(Clone, Debug)]
pub struct Surface3DConfig {
pub color: Option<Color>,
pub colormap: ColorMap,
pub shading: SurfaceShading,
pub sampling: SurfaceSampling,
pub colorbar: bool,
}
impl Default for Surface3DConfig {
fn default() -> Self {
Self {
color: None,
colormap: ColorMap::viridis(),
shading: SurfaceShading::Smooth,
sampling: SurfaceSampling::Auto,
colorbar: false,
}
}
}