Struct maplibre::tessellation::zero_tessellator::ZeroTessellator
source · pub struct ZeroTessellator<I: Add + From<VertexId> + MaxIndex> {
path_builder: RefCell<Builder>,
path_open: bool,
is_point: bool,
pub buffer: VertexBuffers<ShaderVertex, I>,
pub feature_indices: Vec<u32>,
current_index: usize,
}Expand description
Build tessellations with vectors.
Fields§
§path_builder: RefCell<Builder>§path_open: bool§is_point: bool§buffer: VertexBuffers<ShaderVertex, I>§feature_indices: Vec<u32>§current_index: usizeImplementations§
source§impl<I: Add + From<VertexId> + MaxIndex> ZeroTessellator<I>
impl<I: Add + From<VertexId> + MaxIndex> ZeroTessellator<I>
fn update_feature_indices(&mut self)
fn tessellate_strokes(&mut self)
fn end(&mut self, close: bool)
fn tessellate_fill(&mut self)
Trait Implementations§
source§impl<I: Add + From<VertexId> + MaxIndex> FeatureProcessor for ZeroTessellator<I>
impl<I: Add + From<VertexId> + MaxIndex> FeatureProcessor for ZeroTessellator<I>
§fn dataset_begin(&mut self, name: Option<&str>) -> Result<(), GeozeroError>
fn dataset_begin(&mut self, name: Option<&str>) -> Result<(), GeozeroError>
Begin of dataset processing Read more
§fn dataset_end(&mut self) -> Result<(), GeozeroError>
fn dataset_end(&mut self) -> Result<(), GeozeroError>
End of dataset processing Read more
§fn feature_begin(&mut self, idx: u64) -> Result<(), GeozeroError>
fn feature_begin(&mut self, idx: u64) -> Result<(), GeozeroError>
Begin of feature processing Read more
§fn properties_begin(&mut self) -> Result<(), GeozeroError>
fn properties_begin(&mut self) -> Result<(), GeozeroError>
Begin of feature property processing Read more
§fn properties_end(&mut self) -> Result<(), GeozeroError>
fn properties_end(&mut self) -> Result<(), GeozeroError>
End of feature property processing
§fn geometry_begin(&mut self) -> Result<(), GeozeroError>
fn geometry_begin(&mut self) -> Result<(), GeozeroError>
Begin of feature geometry processing Read more
§fn geometry_end(&mut self) -> Result<(), GeozeroError>
fn geometry_end(&mut self) -> Result<(), GeozeroError>
End of feature geometry processing
source§impl<I: Add + From<VertexId> + MaxIndex> GeomProcessor for ZeroTessellator<I>
impl<I: Add + From<VertexId> + MaxIndex> GeomProcessor for ZeroTessellator<I>
source§fn xy(&mut self, x: f64, y: f64, _idx: usize) -> Result<()>
fn xy(&mut self, x: f64, y: f64, _idx: usize) -> Result<()>
Process coordinate with x,y dimensions
source§fn multipoint_begin(&mut self, _size: usize, _idx: usize) -> Result<()>
fn multipoint_begin(&mut self, _size: usize, _idx: usize) -> Result<()>
Begin of MultiPoint processing Read more
source§fn multipoint_end(&mut self, _idx: usize) -> Result<()>
fn multipoint_end(&mut self, _idx: usize) -> Result<()>
End of MultiPoint processing Read more
source§fn linestring_begin(
&mut self,
_tagged: bool,
_size: usize,
_idx: usize
) -> Result<()>
fn linestring_begin( &mut self, _tagged: bool, _size: usize, _idx: usize ) -> Result<()>
Begin of
LineString processing Read moresource§fn linestring_end(&mut self, tagged: bool, _idx: usize) -> Result<()>
fn linestring_end(&mut self, tagged: bool, _idx: usize) -> Result<()>
End of
LineString processingsource§fn multilinestring_begin(&mut self, _size: usize, _idx: usize) -> Result<()>
fn multilinestring_begin(&mut self, _size: usize, _idx: usize) -> Result<()>
Begin of
MultiLineString processing Read moresource§fn multilinestring_end(&mut self, _idx: usize) -> Result<()>
fn multilinestring_end(&mut self, _idx: usize) -> Result<()>
End of
MultiLineString processingsource§fn polygon_begin(
&mut self,
_tagged: bool,
_size: usize,
_idx: usize
) -> Result<()>
fn polygon_begin( &mut self, _tagged: bool, _size: usize, _idx: usize ) -> Result<()>
Begin of
Polygon processing Read moresource§fn multipolygon_begin(&mut self, _size: usize, _idx: usize) -> Result<()>
fn multipolygon_begin(&mut self, _size: usize, _idx: usize) -> Result<()>
Begin of
MultiPolygon processing Read moresource§fn multipolygon_end(&mut self, _idx: usize) -> Result<()>
fn multipolygon_end(&mut self, _idx: usize) -> Result<()>
End of
MultiPolygon processing§fn dimensions(&self) -> CoordDimensions
fn dimensions(&self) -> CoordDimensions
Additional dimensions requested when processing coordinates
§fn coordinate(
&mut self,
x: f64,
y: f64,
z: Option<f64>,
m: Option<f64>,
t: Option<f64>,
tm: Option<u64>,
idx: usize
) -> Result<(), GeozeroError>
fn coordinate( &mut self, x: f64, y: f64, z: Option<f64>, m: Option<f64>, t: Option<f64>, tm: Option<u64>, idx: usize ) -> Result<(), GeozeroError>
Process coordinate with all requested dimensions
§fn empty_point(&mut self, idx: usize) -> Result<(), GeozeroError>
fn empty_point(&mut self, idx: usize) -> Result<(), GeozeroError>
Process empty coordinates, like WKT’s
POINT EMPTY Read more§fn geometrycollection_begin(
&mut self,
size: usize,
idx: usize
) -> Result<(), GeozeroError>
fn geometrycollection_begin( &mut self, size: usize, idx: usize ) -> Result<(), GeozeroError>
Begin of
GeometryCollection processing Read more§fn geometrycollection_end(&mut self, idx: usize) -> Result<(), GeozeroError>
fn geometrycollection_end(&mut self, idx: usize) -> Result<(), GeozeroError>
End of
GeometryCollection processing§fn circularstring_begin(
&mut self,
size: usize,
idx: usize
) -> Result<(), GeozeroError>
fn circularstring_begin( &mut self, size: usize, idx: usize ) -> Result<(), GeozeroError>
Begin of
CircularString processing Read more§fn circularstring_end(&mut self, idx: usize) -> Result<(), GeozeroError>
fn circularstring_end(&mut self, idx: usize) -> Result<(), GeozeroError>
End of CircularString processing
§fn compoundcurve_begin(
&mut self,
size: usize,
idx: usize
) -> Result<(), GeozeroError>
fn compoundcurve_begin( &mut self, size: usize, idx: usize ) -> Result<(), GeozeroError>
Begin of CompoundCurve processing Read more
§fn compoundcurve_end(&mut self, idx: usize) -> Result<(), GeozeroError>
fn compoundcurve_end(&mut self, idx: usize) -> Result<(), GeozeroError>
End of CompoundCurve processing
§fn curvepolygon_begin(
&mut self,
size: usize,
idx: usize
) -> Result<(), GeozeroError>
fn curvepolygon_begin( &mut self, size: usize, idx: usize ) -> Result<(), GeozeroError>
Begin of CurvePolygon processing Read more
§fn curvepolygon_end(&mut self, idx: usize) -> Result<(), GeozeroError>
fn curvepolygon_end(&mut self, idx: usize) -> Result<(), GeozeroError>
End of CurvePolygon processing
§fn multicurve_begin(
&mut self,
size: usize,
idx: usize
) -> Result<(), GeozeroError>
fn multicurve_begin( &mut self, size: usize, idx: usize ) -> Result<(), GeozeroError>
Begin of MultiCurve processing Read more
§fn multicurve_end(&mut self, idx: usize) -> Result<(), GeozeroError>
fn multicurve_end(&mut self, idx: usize) -> Result<(), GeozeroError>
End of MultiCurve processing
§fn multisurface_begin(
&mut self,
size: usize,
idx: usize
) -> Result<(), GeozeroError>
fn multisurface_begin( &mut self, size: usize, idx: usize ) -> Result<(), GeozeroError>
Begin of MultiSurface processing Read more
§fn multisurface_end(&mut self, idx: usize) -> Result<(), GeozeroError>
fn multisurface_end(&mut self, idx: usize) -> Result<(), GeozeroError>
End of MultiSurface processing
§fn triangle_begin(
&mut self,
tagged: bool,
size: usize,
idx: usize
) -> Result<(), GeozeroError>
fn triangle_begin( &mut self, tagged: bool, size: usize, idx: usize ) -> Result<(), GeozeroError>
Begin of Triangle processing Read more
§fn triangle_end(&mut self, tagged: bool, idx: usize) -> Result<(), GeozeroError>
fn triangle_end(&mut self, tagged: bool, idx: usize) -> Result<(), GeozeroError>
End of Triangle processing
§fn polyhedralsurface_begin(
&mut self,
size: usize,
idx: usize
) -> Result<(), GeozeroError>
fn polyhedralsurface_begin( &mut self, size: usize, idx: usize ) -> Result<(), GeozeroError>
Begin of PolyhedralSurface processing Read more
§fn polyhedralsurface_end(&mut self, idx: usize) -> Result<(), GeozeroError>
fn polyhedralsurface_end(&mut self, idx: usize) -> Result<(), GeozeroError>
End of PolyhedralSurface processing
Auto Trait Implementations§
impl<I> !Freeze for ZeroTessellator<I>
impl<I> !RefUnwindSafe for ZeroTessellator<I>
impl<I> Send for ZeroTessellator<I>where
I: Send,
impl<I> !Sync for ZeroTessellator<I>
impl<I> Unpin for ZeroTessellator<I>where
I: Unpin,
impl<I> UnwindSafe for ZeroTessellator<I>where
I: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more