Struct audio_processor_testing_helpers::charts::Cubiod
source · pub struct Cubiod<X, Y, Z> { /* private fields */ }Expand description
Represents a cuboid, a six-faced solid.
Examples
use plotters::prelude::*;
let drawing_area = SVGBackend::new("cuboid.svg", (300, 200)).into_drawing_area();
drawing_area.fill(&WHITE).unwrap();
let mut chart_builder = ChartBuilder::on(&drawing_area);
let mut chart_context = chart_builder.margin(20).build_cartesian_3d(0.0..3.5, 0.0..2.5, 0.0..1.5).unwrap();
chart_context.configure_axes().x_labels(4).y_labels(3).z_labels(2).draw().unwrap();
let cubiod = Cubiod::new([(0.,0.,0.), (3.,2.,1.)], BLUE.mix(0.2), BLUE);
chart_context.draw_series(std::iter::once(cubiod)).unwrap();The result is a semi-transparent cuboid with blue edges:
Implementations§
Trait Implementations§
source§impl<X, Y, Z, DB> Drawable<DB, BackendCoordAndZ> for Cubiod<X, Y, Z>where
DB: DrawingBackend,
impl<X, Y, Z, DB> Drawable<DB, BackendCoordAndZ> for Cubiod<X, Y, Z>where DB: DrawingBackend,
source§fn draw<I>(
&self,
points: I,
backend: &mut DB,
_: (u32, u32)
) -> Result<(), DrawingErrorKind<<DB as DrawingBackend>::ErrorType>>where
I: Iterator<Item = ((i32, i32), i32)>,
fn draw<I>( &self, points: I, backend: &mut DB, _: (u32, u32) ) -> Result<(), DrawingErrorKind<<DB as DrawingBackend>::ErrorType>>where I: Iterator<Item = ((i32, i32), i32)>,
Actually draws the element. The key points is already translated into the
image coordinate and can be used by DC directly
source§impl<'a, X, Y, Z> PointCollection<'a, (X, Y, Z), BackendCoordAndZ> for &'a Cubiod<X, Y, Z>where
X: 'a,
Y: 'a,
Z: 'a,
impl<'a, X, Y, Z> PointCollection<'a, (X, Y, Z), BackendCoordAndZ> for &'a Cubiod<X, Y, Z>where X: 'a, Y: 'a, Z: 'a,
source§fn point_iter(
self
) -> <&'a Cubiod<X, Y, Z> as PointCollection<'a, (X, Y, Z), BackendCoordAndZ>>::IntoIter
fn point_iter( self ) -> <&'a Cubiod<X, Y, Z> as PointCollection<'a, (X, Y, Z), BackendCoordAndZ>>::IntoIter
framework to do the coordinate mapping