Skip to main content

RebindGeometry

Trait RebindGeometry 

Source
pub trait RebindGeometry<T: CoordinateScalar, Cs: CoordinateSystem> {
    type Output;
}
Expand description

Select the stock model matching Self while replacing coordinate scalar and coordinate-system types.

Mirrors the specializations of helper_geometry for point, box, linestring, and ring in geometries/helper_geometry.hpp:57-103. Boost accepts any adapted geometry through tag dispatch; this Rust port is deliberately defined for the stock model types, which are the only types it can reconstruct without a user-provided output constructor.

Required Associated Types§

Source

type Output

The corresponding rebound stock model.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<A, const D: usize, OldCs, T, Cs, const CW: bool, const CL: bool> RebindGeometry<T, Cs> for MultiPolygon<Polygon<Point<A, D, OldCs>, CW, CL>>

Source§

type Output = MultiPolygon<Polygon<Point<T, D, Cs>, CW, CL>>

Source§

impl<A, const D: usize, OldCs, T, Cs, const CW: bool, const CL: bool> RebindGeometry<T, Cs> for Polygon<Point<A, D, OldCs>, CW, CL>

Source§

type Output = Polygon<Point<T, D, Cs>, CW, CL>

Source§

impl<A, const D: usize, OldCs, T, Cs, const CW: bool, const CL: bool> RebindGeometry<T, Cs> for Ring<Point<A, D, OldCs>, CW, CL>

Source§

type Output = Ring<Point<T, D, Cs>, CW, CL>

Source§

impl<A, const D: usize, OldCs, T, Cs> RebindGeometry<T, Cs> for Box<Point<A, D, OldCs>>

Source§

type Output = Box<Point<T, D, Cs>>

Source§

impl<A, const D: usize, OldCs, T, Cs> RebindGeometry<T, Cs> for Linestring<Point<A, D, OldCs>>

Source§

type Output = Linestring<Point<T, D, Cs>>

Source§

impl<A, const D: usize, OldCs, T, Cs> RebindGeometry<T, Cs> for MultiLinestring<Linestring<Point<A, D, OldCs>>>

Source§

impl<A, const D: usize, OldCs, T, Cs> RebindGeometry<T, Cs> for MultiPoint<Point<A, D, OldCs>>

Source§

type Output = MultiPoint<Point<T, D, Cs>>

Source§

impl<A, const D: usize, OldCs, T, Cs> RebindGeometry<T, Cs> for Point<A, D, OldCs>

Source§

type Output = Point<T, D, Cs>

Source§

impl<A, const D: usize, OldCs, T, Cs> RebindGeometry<T, Cs> for Segment<Point<A, D, OldCs>>

Source§

type Output = Segment<Point<T, D, Cs>>