Trait libreda_db::layout::prelude::traits::TryCastCoord

source ·
pub trait TryCastCoord<Src, Dst>
where Src: NumCast, Dst: NumCast,
{ type Output; // Required method fn try_cast(&self) -> Option<Self::Output>; // Provided method fn cast(&self) -> Self::Output { ... } }
Expand description

This trait defines the type-casting of the coordinate types for geometrical objects.

Required Associated Types§

source

type Output

Output type of the cast. This is likely the same geometrical type just with other coordinate types.

Required Methods§

source

fn try_cast(&self) -> Option<Self::Output>

Try to cast to target data type.

Conversion from float to int can fail and will return None. Float values like infinity or non-a-number have no integer representation.

Provided Methods§

source

fn cast(&self) -> Self::Output

Cast to target data type.

Conversion from float to int can fail and panic because float values like infinity or non-a-number have no integer representation.

§Panics

Panics if casting of the coordinate values fails. For instance when trying to cast a ‘NaN’ float into a integer. Use try_cast to detect and handle this failure.

Implementors§

source§

impl<T, Dst> TryCastCoord<T, Dst> for Geometry<T>

§

type Output = Geometry<Dst>

source§

impl<T, Dst> TryCastCoord<T, Dst> for Edge<T>
where T: Copy + NumCast, Dst: Copy + NumCast,

§

type Output = Edge<Dst>

source§

impl<T, Dst> TryCastCoord<T, Dst> for Path<T>

§

type Output = Path<Dst>

source§

impl<T, Dst> TryCastCoord<T, Dst> for Point<T>
where T: Copy + NumCast, Dst: Copy + NumCast,

§

type Output = Point<Dst>

source§

impl<T, Dst> TryCastCoord<T, Dst> for PointString<T>
where T: Copy + NumCast, Dst: CoordinateType + NumCast,

§

type Output = PointString<Dst>

source§

impl<T, Dst> TryCastCoord<T, Dst> for Polygon<T>

§

type Output = Polygon<Dst>

source§

impl<T, Dst> TryCastCoord<T, Dst> for REdge<T>

§

type Output = REdge<Dst>

source§

impl<T, Dst> TryCastCoord<T, Dst> for Rect<T>

§

type Output = Rect<Dst>

source§

impl<T, Dst> TryCastCoord<T, Dst> for SimplePolygon<T>

source§

impl<T, Dst> TryCastCoord<T, Dst> for SimpleRPolygon<T>

source§

impl<T, Dst> TryCastCoord<T, Dst> for SimpleTransform<T>

source§

impl<T, Dst> TryCastCoord<T, Dst> for Vector<T>
where T: Copy + NumCast, Dst: Copy + NumCast,

§

type Output = Vector<Dst>

source§

impl<T, Dst, S> TryCastCoord<T, Dst> for Text<T, S>
where T: Copy + NumCast, Dst: Copy + NumCast, S: Clone,

§

type Output = Text<Dst, S>