# ZeroTessellator in maplibre::tessellation::zero_tessellator - Rust
Build tessellations with vectors.

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

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

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

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

source §

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

Immutably borrows from an owned value. Read more
source §

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

source §

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

Mutably borrows from an owned value. Read more
§

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

§

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

§

### impl<T> Downcast for T
where T: 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>

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)

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)

Convert `&mut Trait` (where `Trait: Downcast`) to `&Any`. This is needed since Rust cannot generate `&mut Any`’s vtable from `&mut Trait`’s.
source §

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

source §

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

Returns the argument unchanged.

§

### impl<T> Instrument for T

§

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

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

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

source §

#### 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 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.
source §

#### 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.
source §

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

Performs the conversion.
§

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

§

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

§

### impl<T> WithSubscriber for T

§

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

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

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

### impl<G1, G2> Within<G2> for G1
where G2: Contains<G1>,

§

#### fn is_within(&self, b: &G2) -> bool

source §

### impl<T> Resource for T
where T: 'static,

§

### impl<T> WasmNotSend for T
where T: Send,