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: usize
Implementations§
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