# ZeroTessellator in maplibre::tessellation::zero_tessellator - Rust
Build tessellations with vectors.
Keywords: rust, rustlang, rust-lang, ZeroTessellator

# 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>

source

#### fn update_feature_indices(&mut self)

source

#### fn tessellate_strokes(&mut self)

source

#### fn end(&mut self, close: bool)

source

#### fn tessellate_fill(&mut self)

## Trait Implementations

source

### impl<I: Add + From<VertexId> + MaxIndex> Default for ZeroTessellator<I>

source

#### fn default() -> Self

Returns the “default value” for a type. Read more

source

### impl<I: Add + From<VertexId> + MaxIndex> FeatureProcessor for ZeroTessellator<I>

source

#### fn feature_end(&mut self, _idx: u64) -> Result<()>

End of feature processing

#### fn dataset_begin(&mut self, name: Option<&str>) -> Result<(), GeozeroError>

Begin of dataset processing

#### fn dataset_end(&mut self) -> Result<(), GeozeroError>

End of dataset processing

#### fn feature_begin(&mut self, idx: u64) -> Result<(), GeozeroError>

Begin of feature processing

#### fn properties_begin(&mut self) -> Result<(), GeozeroError>

Begin of feature property processing

#### fn properties_end(&mut self) -> Result<(), GeozeroError>

End of feature property processing

#### fn geometry_begin(&mut self) -> Result<(), GeozeroError>

Begin of feature geometry processing

#### fn geometry_end(&mut self) -> Result<(), GeozeroError>

End of feature geometry processing

source

### impl<I: Add + From<VertexId> + MaxIndex> GeomProcessor for ZeroTessellator<I>

source

#### fn xy(&mut self, x: f64, y: f64, _idx: usize) -> Result<()>

Process coordinate with x,y dimensions

source

#### fn point_begin(&mut self, _idx: usize) -> Result<()>

Begin of Point processing Read more

source

#### fn point_end(&mut self, _idx: usize) -> Result<()>

End of Point processing

source

#### 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<()>

End of MultiPoint processing

source

#### fn linestring_begin(
&mut self,
_tagged: bool,
_size: usize,
_idx: usize
) -> Result<()>

Begin of LineString processing Read more

source

#### fn linestring_end(&mut self, tagged: bool, _idx: usize) -> Result<()>

End of LineString processing

source

#### fn multilinestring_begin(&mut self, _size: usize, _idx: usize) -> Result<()>

Begin of MultiLineString processing Read more

source

#### fn multilinestring_end(&mut self, _idx: usize) -> Result<()>

End of MultiLineString processing

source

#### fn polygon_begin(
&mut self,
_tagged: bool,
_size: usize,
_idx: usize
) -> Result<()>

Begin of Polygon processing Read more

source

#### fn polygon_end(&mut self, tagged: bool, _idx: usize) -> Result<()>

End of Polygon processing

source

#### fn multipolygon_begin(&mut self, _size: usize, _idx: usize) -> Result<()>

Begin of MultiPolygon processing Read more

source

#### fn multipolygon_end(&mut self, _idx: usize) -> Result<()>

End of MultiPolygon processing

#### fn dimensions(&self) -> CoordDimensions

Additional dimensions requested when processing coordinates

#### fn multi_dim(&self) -> bool

Request additional dimensions for coordinate processing

#### fn srid(&mut self, srid: Option<i32>) -> Result<(), GeozeroError>

SRID of geometries Read more

#### 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>

Process empty coordinates, like WKT’s `POINT EMPTY`

#### fn geometrycollection_begin(
&mut self,
size: usize,
idx: usize
) -> Result<(), GeozeroError>

Begin of GeometryCollection processing

#### fn geometrycollection_end(&mut self, idx: usize) -> Result<(), GeozeroError>

End of GeometryCollection processing

#### 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>

End of CircularString processing

#### 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>

End of CompoundCurve processing

#### 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>

End of CurvePolygon processing

#### 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>

End of MultiCurve processing

#### 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>

End of MultiSurface processing

#### 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>

End of Triangle processing

#### 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>

End of PolyhedralSurface processing

#### fn tin_begin(&mut self, size: usize, idx: usize) -> Result<(), GeozeroError>

Begin of Tin processing Read more

#### fn tin_end(&mut self, idx: usize) -> Result<(), GeozeroError>

End of Tin processing

source

### impl<I: Add + From<VertexId> + MaxIndex> PropertyProcessor for ZeroTessellator<I>

#### fn property(
&mut self,
idx: usize,
name: &str,
value: &ColumnValue<'_>
) -> Result<bool, GeozeroError>

Process property value. Abort processing, if return value is true.

## Auto Trait Implementations

### 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> Any for T where
T: 'static + ?Sized,

source

#### pub fn type_id(&self) -> TypeId

Gets the `TypeId` of `self`. Read more

source

### impl<T> Borrow<T> for T where
T: ?Sized,

const: unstable · source

#### pub fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more

source

### impl<T> BorrowMut<T> for T where
T: ?Sized,

const: unstable · source

#### pub fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more

### impl<T> Downcast for T where
T: Any,

#### pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>

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`. Read more

#### pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>

Convert `Rc<Trait>` (where `Trait: Downcast`) to `Rc<Any>`. `Rc<Any>` can then be further `downcast` into `Rc<ConcreteType>` where `ConcreteType` implements `Trait`. Read more

#### pub 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. Read more

#### pub 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. Read more

### impl<T> Downcast<T> for T

#### pub fn downcast(&self) -> &T

source

### impl<T> From<T> for T

const: unstable · source

#### pub fn from(t: T) -> T

Returns the argument unchanged.

source

### impl<T> Instrument for T

source

#### fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided `Span`, returning an `Instrumented` wrapper. Read more

source

#### fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current `Span`, returning an `Instrumented` wrapper. Read more

source

### impl<T, U> Into<U> for T where
U: From<T>,

const: unstable · source

#### pub fn into(self) -> U

Calls `U::from(self)`.

That is, this conversion is whatever the implementation of `From<T> for U` chooses to do.

source

### impl<T> Same<T> for T

#### type Output = T

Should always be `Self`

source

### impl<T, U> TryFrom<U> for T where
U: Into<T>,

#### type Error = Infallible

The type returned in the event of a conversion error.

const: unstable · source

#### pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.

source

### impl<T, U> TryInto<U> for T where
U: TryFrom<T>,

#### type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

const: unstable · source

#### pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.

### impl<T> Upcast<T> for T

#### pub fn upcast(&self) -> Option<&T>

source

### impl<T> WithSubscriber for T

source

#### fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,

Attaches the provided `Subscriber` to this type, returning a `WithDispatch` wrapper. Read more

source

#### fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default `Subscriber` to this type, returning a `WithDispatch` wrapper. Read more