pub struct Triangle<T = f64>(pub Coord<T>, pub Coord<T>, pub Coord<T>)
where
T: CoordNum;
Expand description
A bounded 2D area whose three vertices are defined by
Coord
s. The semantics and validity are that of
the equivalent Polygon
; in addition, the three
vertices must not be collinear and they must be distinct.
§Notes
Irrespective of input order the resulting geometry has ccw order and its vertices are yielded in ccw order by iterators
Tuple Fields§
§0: Coord<T>
§1: Coord<T>
§2: Coord<T>
Implementations§
Source§impl<T> Triangle<T>where
T: CoordNum,
impl<T> Triangle<T>where
T: CoordNum,
Sourcepub fn new(v1: Coord<T>, v2: Coord<T>, v3: Coord<T>) -> Triangle<T>
pub fn new(v1: Coord<T>, v2: Coord<T>, v3: Coord<T>) -> Triangle<T>
Instantiate Self from the raw content value
pub fn to_array(&self) -> [Coord<T>; 3]
pub fn to_lines(&self) -> [Line<T>; 3]
Sourcepub fn to_polygon(self) -> Polygon<T>
pub fn to_polygon(self) -> Polygon<T>
Create a Polygon
from the Triangle
.
§Examples
use geo_types::{coord, Triangle, polygon};
// Input is CW
let triangle = Triangle::new(
coord! { x: 0., y: 0. },
coord! { x: 10., y: 20. },
coord! { x: 20., y: -10. },
);
// Output is CCW
assert_eq!(
triangle.to_polygon(),
polygon![
(x: 20., y: -10.),
(x: 10., y: 20.),
(x: 0., y: 0.),
(x: 20., y: -10.),
],
);
Trait Implementations§
Source§impl<T> AbsDiffEq for Triangle<T>
impl<T> AbsDiffEq for Triangle<T>
Source§fn abs_diff_eq(
&self,
other: &Triangle<T>,
epsilon: <Triangle<T> as AbsDiffEq>::Epsilon,
) -> bool
fn abs_diff_eq( &self, other: &Triangle<T>, epsilon: <Triangle<T> as AbsDiffEq>::Epsilon, ) -> bool
Equality assertion with an absolute limit.
§Examples
use geo_types::{point, Triangle};
let a = Triangle::new((0.0, 0.0).into(), (10.0, 10.0).into(), (0.0, 5.0).into());
let b = Triangle::new((0.0, 0.0).into(), (10.01, 10.0).into(), (0.0, 5.0).into());
approx::abs_diff_eq!(a, b, epsilon=0.1);
approx::abs_diff_ne!(a, b, epsilon=0.001);
Source§fn default_epsilon() -> <Triangle<T> as AbsDiffEq>::Epsilon
fn default_epsilon() -> <Triangle<T> as AbsDiffEq>::Epsilon
The default tolerance to use when testing values that are close together. Read more
Source§fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
The inverse of
AbsDiffEq::abs_diff_eq
.Source§impl<T> Area<T> for Triangle<T>where
T: CoordFloat,
impl<T> Area<T> for Triangle<T>where
T: CoordFloat,
fn signed_area(&self) -> T
fn unsigned_area(&self) -> T
Source§impl<T> BoundingRect<T> for Triangle<T>where
T: CoordNum,
impl<T> BoundingRect<T> for Triangle<T>where
T: CoordNum,
Source§impl<T> Centroid for Triangle<T>where
T: GeoFloat,
impl<T> Centroid for Triangle<T>where
T: GeoFloat,
Source§impl<T> ChamberlainDuquetteArea<T> for Triangle<T>where
T: CoordFloat,
impl<T> ChamberlainDuquetteArea<T> for Triangle<T>where
T: CoordFloat,
fn chamberlain_duquette_signed_area(&self) -> T
fn chamberlain_duquette_unsigned_area(&self) -> T
Source§impl<F: GeoFloat> ClosestPoint<F> for Triangle<F>
impl<F: GeoFloat> ClosestPoint<F> for Triangle<F>
Source§fn closest_point(&self, p: &Point<F>) -> Closest<F>
fn closest_point(&self, p: &Point<F>) -> Closest<F>
Find the closest point between
self
and p
.Source§impl<T> Contains<GeometryCollection<T>> for Triangle<T>where
T: GeoFloat,
impl<T> Contains<GeometryCollection<T>> for Triangle<T>where
T: GeoFloat,
fn contains(&self, target: &GeometryCollection<T>) -> bool
Source§impl<T> Contains<LineString<T>> for Triangle<T>where
T: GeoFloat,
impl<T> Contains<LineString<T>> for Triangle<T>where
T: GeoFloat,
fn contains(&self, target: &LineString<T>) -> bool
Source§impl<T> Contains<MultiLineString<T>> for Triangle<T>where
T: GeoFloat,
impl<T> Contains<MultiLineString<T>> for Triangle<T>where
T: GeoFloat,
fn contains(&self, target: &MultiLineString<T>) -> bool
Source§impl<T> Contains<MultiPoint<T>> for Triangle<T>where
T: GeoFloat,
impl<T> Contains<MultiPoint<T>> for Triangle<T>where
T: GeoFloat,
fn contains(&self, target: &MultiPoint<T>) -> bool
Source§impl<T> Contains<MultiPolygon<T>> for Triangle<T>where
T: GeoFloat,
impl<T> Contains<MultiPolygon<T>> for Triangle<T>where
T: GeoFloat,
fn contains(&self, target: &MultiPolygon<T>) -> bool
Source§impl<T> CoordinatePosition for Triangle<T>where
T: GeoNum,
impl<T> CoordinatePosition for Triangle<T>where
T: GeoNum,
Source§impl<'a, T: CoordNum + 'a> CoordsIter<'a> for Triangle<T>
impl<'a, T: CoordNum + 'a> CoordsIter<'a> for Triangle<T>
Source§fn coords_count(&'a self) -> usize
fn coords_count(&'a self) -> usize
Return the number of coordinates in the Triangle
.
type Iter = Chain<Chain<Once<Coord<T>>, Once<Coord<T>>>, Once<Coord<T>>>
type ExteriorIter = <Triangle<T> as CoordsIter<'a>>::Iter
type Scalar = T
Source§fn coords_iter(&'a self) -> Self::Iter
fn coords_iter(&'a self) -> Self::Iter
Iterate over all exterior and (if any) interior coordinates of a geometry. Read more
Source§fn exterior_coords_iter(&'a self) -> Self::ExteriorIter
fn exterior_coords_iter(&'a self) -> Self::ExteriorIter
Iterate over all exterior coordinates of a geometry. Read more
Source§impl<T> EuclideanDistance<T, Point<T>> for Triangle<T>where
T: GeoFloat,
impl<T> EuclideanDistance<T, Point<T>> for Triangle<T>where
T: GeoFloat,
Source§fn euclidean_distance(&self, point: &Point<T>) -> T
fn euclidean_distance(&self, point: &Point<T>) -> T
Returns the distance between two geometries Read more
Source§impl GeodesicArea<f64> for Triangle
impl GeodesicArea<f64> for Triangle
Source§fn geodesic_perimeter(&self) -> f64
fn geodesic_perimeter(&self) -> f64
Determine the perimeter of a geometry on an ellipsoidal model of the earth. Read more
Source§fn geodesic_area_signed(&self) -> f64
fn geodesic_area_signed(&self) -> f64
Determine the area of a geometry on an ellipsoidal model of the earth. Read more
Source§fn geodesic_area_unsigned(&self) -> f64
fn geodesic_area_unsigned(&self) -> f64
Determine the area of a geometry on an ellipsoidal model of the earth. Supports very large geometries that cover a significant portion of the earth. Read more
Source§impl<C: GeoNum> HasDimensions for Triangle<C>
impl<C: GeoNum> HasDimensions for Triangle<C>
Source§fn dimensions(&self) -> Dimensions
fn dimensions(&self) -> Dimensions
The dimensions of some geometries are fixed, e.g. a Point always has 0 dimensions. However
for others, the dimensionality depends on the specific geometry instance - for example
typical
Rect
s are 2-dimensional, but it’s possible to create degenerate Rect
s which
have either 1 or 0 dimensions. Read moreSource§fn boundary_dimensions(&self) -> Dimensions
fn boundary_dimensions(&self) -> Dimensions
The dimensions of the
Geometry
’s boundary, as used by OGC-SFA. Read moreSource§impl<T> InteriorPoint for Triangle<T>where
T: GeoFloat,
impl<T> InteriorPoint for Triangle<T>where
T: GeoFloat,
Source§impl<T, G> Intersects<G> for Triangle<T>
impl<T, G> Intersects<G> for Triangle<T>
fn intersects(&self, rhs: &G) -> bool
Source§impl<T> Intersects<Triangle<T>> for Coord<T>
impl<T> Intersects<Triangle<T>> for Coord<T>
fn intersects(&self, rhs: &Triangle<T>) -> bool
Source§impl<T> Intersects<Triangle<T>> for Line<T>
impl<T> Intersects<Triangle<T>> for Line<T>
fn intersects(&self, rhs: &Triangle<T>) -> bool
Source§impl<T> Intersects<Triangle<T>> for Polygon<T>
impl<T> Intersects<Triangle<T>> for Polygon<T>
fn intersects(&self, rhs: &Triangle<T>) -> bool
Source§impl<T> Intersects<Triangle<T>> for Rect<T>
impl<T> Intersects<Triangle<T>> for Rect<T>
fn intersects(&self, rhs: &Triangle<T>) -> bool
Source§impl<T: CoordNum, NT: CoordNum> MapCoords<T, NT> for Triangle<T>
impl<T: CoordNum, NT: CoordNum> MapCoords<T, NT> for Triangle<T>
Source§impl<T: CoordNum> MapCoordsInPlace<T> for Triangle<T>
impl<T: CoordNum> MapCoordsInPlace<T> for Triangle<T>
Source§impl<T: CoordNum> MapCoordsInplace<T> for Triangle<T>
impl<T: CoordNum> MapCoordsInplace<T> for Triangle<T>
Source§fn map_coords_inplace(&mut self, func: impl Fn((T, T)) -> (T, T) + Copy)where
T: CoordNum,
👎Deprecated since 0.21.0: use MapCoordsInPlace::map_coords_in_place
instead which takes a Coord
instead of an (x,y) tuple
fn map_coords_inplace(&mut self, func: impl Fn((T, T)) -> (T, T) + Copy)where
T: CoordNum,
MapCoordsInPlace::map_coords_in_place
instead which takes a Coord
instead of an (x,y) tupleApply a function to all the coordinates in a geometric object, in place
§Examples
#[allow(deprecated)]
use geo::MapCoordsInplace;
use geo::Point;
use approx::assert_relative_eq;
let mut p = Point::new(10., 20.);
#[allow(deprecated)]
p.map_coords_inplace(|(x, y)| (x + 1000., y * 2.));
assert_relative_eq!(p, Point::new(1010., 40.), epsilon = 1e-6);
Source§impl<T> RTreeObject for Triangle<T>
impl<T> RTreeObject for Triangle<T>
Source§impl<F: GeoFloat> Relate<F, GeometryCollection<F>> for Triangle<F>
impl<F: GeoFloat> Relate<F, GeometryCollection<F>> for Triangle<F>
fn relate(&self, other: &GeometryCollection<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, Line<F>> for Triangle<F>
impl<F: GeoFloat> Relate<F, Line<F>> for Triangle<F>
fn relate(&self, other: &Line<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, LineString<F>> for Triangle<F>
impl<F: GeoFloat> Relate<F, LineString<F>> for Triangle<F>
fn relate(&self, other: &LineString<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, MultiLineString<F>> for Triangle<F>
impl<F: GeoFloat> Relate<F, MultiLineString<F>> for Triangle<F>
fn relate(&self, other: &MultiLineString<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, MultiPoint<F>> for Triangle<F>
impl<F: GeoFloat> Relate<F, MultiPoint<F>> for Triangle<F>
fn relate(&self, other: &MultiPoint<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, MultiPolygon<F>> for Triangle<F>
impl<F: GeoFloat> Relate<F, MultiPolygon<F>> for Triangle<F>
fn relate(&self, other: &MultiPolygon<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, Point<F>> for Triangle<F>
impl<F: GeoFloat> Relate<F, Point<F>> for Triangle<F>
fn relate(&self, other: &Point<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, Polygon<F>> for Triangle<F>
impl<F: GeoFloat> Relate<F, Polygon<F>> for Triangle<F>
fn relate(&self, other: &Polygon<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, Rect<F>> for Triangle<F>
impl<F: GeoFloat> Relate<F, Rect<F>> for Triangle<F>
fn relate(&self, other: &Rect<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, Triangle<F>> for GeometryCollection<F>
impl<F: GeoFloat> Relate<F, Triangle<F>> for GeometryCollection<F>
fn relate(&self, other: &Triangle<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, Triangle<F>> for Line<F>
impl<F: GeoFloat> Relate<F, Triangle<F>> for Line<F>
fn relate(&self, other: &Triangle<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, Triangle<F>> for LineString<F>
impl<F: GeoFloat> Relate<F, Triangle<F>> for LineString<F>
fn relate(&self, other: &Triangle<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, Triangle<F>> for MultiLineString<F>
impl<F: GeoFloat> Relate<F, Triangle<F>> for MultiLineString<F>
fn relate(&self, other: &Triangle<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, Triangle<F>> for MultiPoint<F>
impl<F: GeoFloat> Relate<F, Triangle<F>> for MultiPoint<F>
fn relate(&self, other: &Triangle<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, Triangle<F>> for MultiPolygon<F>
impl<F: GeoFloat> Relate<F, Triangle<F>> for MultiPolygon<F>
fn relate(&self, other: &Triangle<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, Triangle<F>> for Point<F>
impl<F: GeoFloat> Relate<F, Triangle<F>> for Point<F>
fn relate(&self, other: &Triangle<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, Triangle<F>> for Polygon<F>
impl<F: GeoFloat> Relate<F, Triangle<F>> for Polygon<F>
fn relate(&self, other: &Triangle<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, Triangle<F>> for Rect<F>
impl<F: GeoFloat> Relate<F, Triangle<F>> for Rect<F>
fn relate(&self, other: &Triangle<F>) -> IntersectionMatrix
Source§impl<F: GeoFloat> Relate<F, Triangle<F>> for Triangle<F>
impl<F: GeoFloat> Relate<F, Triangle<F>> for Triangle<F>
fn relate(&self, other: &Triangle<F>) -> IntersectionMatrix
Source§impl<T> RelativeEq for Triangle<T>where
T: CoordNum + RelativeEq<Epsilon = T>,
impl<T> RelativeEq for Triangle<T>where
T: CoordNum + RelativeEq<Epsilon = T>,
Source§fn relative_eq(
&self,
other: &Triangle<T>,
epsilon: <Triangle<T> as AbsDiffEq>::Epsilon,
max_relative: <Triangle<T> as AbsDiffEq>::Epsilon,
) -> bool
fn relative_eq( &self, other: &Triangle<T>, epsilon: <Triangle<T> as AbsDiffEq>::Epsilon, max_relative: <Triangle<T> as AbsDiffEq>::Epsilon, ) -> bool
Equality assertion within a relative limit.
§Examples
use geo_types::{point, Triangle};
let a = Triangle::new((0.0, 0.0).into(), (10.0, 10.0).into(), (0.0, 5.0).into());
let b = Triangle::new((0.0, 0.0).into(), (10.01, 10.0).into(), (0.0, 5.0).into());
approx::assert_relative_eq!(a, b, max_relative=0.1);
approx::assert_relative_ne!(a, b, max_relative=0.0001);
Source§fn default_max_relative() -> <Triangle<T> as AbsDiffEq>::Epsilon
fn default_max_relative() -> <Triangle<T> as AbsDiffEq>::Epsilon
The default relative tolerance for testing values that are far-apart. Read more
Source§fn relative_ne(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon,
) -> bool
fn relative_ne( &self, other: &Rhs, epsilon: Self::Epsilon, max_relative: Self::Epsilon, ) -> bool
The inverse of
RelativeEq::relative_eq
.Source§impl<T> RemoveRepeatedPoints<T> for Triangle<T>where
T: CoordNum + FromPrimitive,
impl<T> RemoveRepeatedPoints<T> for Triangle<T>where
T: CoordNum + FromPrimitive,
Source§fn remove_repeated_points(&self) -> Self
fn remove_repeated_points(&self) -> Self
Create a new geometry with (consecutive) repeated points removed.
Source§fn remove_repeated_points_mut(&mut self)
fn remove_repeated_points_mut(&mut self)
Remove (consecutive) repeated points inplace.
Source§impl<T> TryFrom<Geometry<T>> for Triangle<T>where
T: CoordNum,
Convert a Geometry enum into its inner type.
impl<T> TryFrom<Geometry<T>> for Triangle<T>where
T: CoordNum,
Convert a Geometry enum into its inner type.
Fails if the enum case does not match the type you are trying to convert it to.
Source§impl<T: CoordNum, NT: CoordNum, E> TryMapCoords<T, NT, E> for Triangle<T>
impl<T: CoordNum, NT: CoordNum, E> TryMapCoords<T, NT, E> for Triangle<T>
Source§type Output = Triangle<NT>
type Output = Triangle<NT>
👎Deprecated since 0.21.0: use
MapCoords::try_map_coords
which takes a Coord
instead of an (x,y) tupleSource§fn try_map_coords(
&self,
func: impl Fn((T, T)) -> Result<(NT, NT), E> + Copy,
) -> Result<Self::Output, E>
fn try_map_coords( &self, func: impl Fn((T, T)) -> Result<(NT, NT), E> + Copy, ) -> Result<Self::Output, E>
👎Deprecated since 0.21.0: use
MapCoords::try_map_coords
which takes a Coord
instead of an (x,y) tupleMap a fallible function over all the coordinates in a geometry, returning a Result Read more
Source§impl<T: CoordNum, E> TryMapCoordsInplace<T, E> for Triangle<T>
impl<T: CoordNum, E> TryMapCoordsInplace<T, E> for Triangle<T>
Source§fn try_map_coords_inplace(
&mut self,
func: impl Fn((T, T)) -> Result<(T, T), E>,
) -> Result<(), E>
fn try_map_coords_inplace( &mut self, func: impl Fn((T, T)) -> Result<(T, T), E>, ) -> Result<(), E>
👎Deprecated since 0.21.0: use
MapCoordsInPlace::try_map_coords_in_place
which takes a Coord
instead of an (x,y) tupleMap a fallible function over all the coordinates in a geometry, in place, returning a
Result
. Read moreSource§impl<T> UlpsEq for Triangle<T>
impl<T> UlpsEq for Triangle<T>
Source§fn default_max_ulps() -> u32
fn default_max_ulps() -> u32
The default ULPs to tolerate when testing values that are far-apart. Read more
impl<T> Copy for Triangle<T>
impl<T> Eq for Triangle<T>
impl<T> StructuralPartialEq for Triangle<T>where
T: CoordNum,
Auto Trait Implementations§
impl<T> Freeze for Triangle<T>where
T: Freeze,
impl<T> RefUnwindSafe for Triangle<T>where
T: RefUnwindSafe,
impl<T> Send for Triangle<T>where
T: Send,
impl<T> Sync for Triangle<T>where
T: Sync,
impl<T> Unpin for Triangle<T>where
T: Unpin,
impl<T> UnwindSafe for Triangle<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T, M> AffineOps<T> for M
impl<T, M> AffineOps<T> for M
Source§fn affine_transform(&self, transform: &AffineTransform<T>) -> M
fn affine_transform(&self, transform: &AffineTransform<T>) -> M
Apply
transform
immutably, outputting a new geometry.Source§fn affine_transform_mut(&mut self, transform: &AffineTransform<T>)
fn affine_transform_mut(&mut self, transform: &AffineTransform<T>)
Apply
transform
to mutate self
.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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<'a, T, G> ConvexHull<'a, T> for Gwhere
T: GeoNum,
G: CoordsIter<'a, Scalar = T>,
impl<'a, T, G> ConvexHull<'a, T> for Gwhere
T: GeoNum,
G: CoordsIter<'a, Scalar = T>,
Source§impl<'a, T, G> Extremes<'a, T> for Gwhere
G: CoordsIter<'a, Scalar = T>,
T: CoordNum,
impl<'a, T, G> Extremes<'a, T> for Gwhere
G: CoordsIter<'a, Scalar = T>,
T: CoordNum,
Source§impl<'a, T, G> MinimumRotatedRect<'a, T> for G
impl<'a, T, G> MinimumRotatedRect<'a, T> for G
type Scalar = T
fn minimum_rotated_rect( &'a self, ) -> Option<Polygon<<G as MinimumRotatedRect<'a, T>>::Scalar>>
Source§impl<G, IP, IR, T> Rotate<T> for G
impl<G, IP, IR, T> Rotate<T> for G
Source§fn rotate_around_centroid(&self, degrees: T) -> G
fn rotate_around_centroid(&self, degrees: T) -> G
Source§fn rotate_around_centroid_mut(&mut self, degrees: T)
fn rotate_around_centroid_mut(&mut self, degrees: T)
Mutable version of
Self::rotate_around_centroid
Source§fn rotate_around_center(&self, degrees: T) -> G
fn rotate_around_center(&self, degrees: T) -> G
Rotate a geometry around the center of its bounding box by an angle, in
degrees. Read more
Source§fn rotate_around_center_mut(&mut self, degrees: T)
fn rotate_around_center_mut(&mut self, degrees: T)
Mutable version of
Self::rotate_around_center
Source§fn rotate_around_point(&self, degrees: T, point: Point<T>) -> G
fn rotate_around_point(&self, degrees: T, point: Point<T>) -> G
Rotate a Geometry around an arbitrary point by an angle, given in degrees Read more
Source§fn rotate_around_point_mut(&mut self, degrees: T, point: Point<T>)
fn rotate_around_point_mut(&mut self, degrees: T, point: Point<T>)
Mutable version of
Self::rotate_around_point
Source§impl<T, IR, G> Scale<T> for Gwhere
T: CoordFloat,
IR: Into<Option<Rect<T>>>,
G: Clone + AffineOps<T> + BoundingRect<T, Output = IR>,
impl<T, IR, G> Scale<T> for Gwhere
T: CoordFloat,
IR: Into<Option<Rect<T>>>,
G: Clone + AffineOps<T> + BoundingRect<T, Output = IR>,
Source§fn scale(&self, scale_factor: T) -> G
fn scale(&self, scale_factor: T) -> G
Scale a geometry from it’s bounding box center. Read more
Source§fn scale_xy(&self, x_factor: T, y_factor: T) -> G
fn scale_xy(&self, x_factor: T, y_factor: T) -> G
Scale a geometry from it’s bounding box center, using different values for
x_factor
and
y_factor
to distort the geometry’s aspect ratio. Read moreSource§fn scale_xy_mut(&mut self, x_factor: T, y_factor: T)
fn scale_xy_mut(&mut self, x_factor: T, y_factor: T)
Mutable version of
scale_xy
.Source§fn scale_around_point(
&self,
x_factor: T,
y_factor: T,
origin: impl Into<Coord<T>>,
) -> G
fn scale_around_point( &self, x_factor: T, y_factor: T, origin: impl Into<Coord<T>>, ) -> G
Scale a geometry around a point of
origin
. Read moreSource§fn scale_around_point_mut(
&mut self,
x_factor: T,
y_factor: T,
origin: impl Into<Coord<T>>,
)
fn scale_around_point_mut( &mut self, x_factor: T, y_factor: T, origin: impl Into<Coord<T>>, )
Mutable version of
scale_around_point
.Source§impl<T, IR, G> Skew<T> for Gwhere
T: CoordFloat,
IR: Into<Option<Rect<T>>>,
G: Clone + AffineOps<T> + BoundingRect<T, Output = IR>,
impl<T, IR, G> Skew<T> for Gwhere
T: CoordFloat,
IR: Into<Option<Rect<T>>>,
G: Clone + AffineOps<T> + BoundingRect<T, Output = IR>,
Source§fn skew(&self, degrees: T) -> G
fn skew(&self, degrees: T) -> G
An affine transformation which skews a geometry, sheared by a uniform angle along the x and
y dimensions. Read more
Source§fn skew_xy(&self, degrees_x: T, degrees_y: T) -> G
fn skew_xy(&self, degrees_x: T, degrees_y: T) -> G
An affine transformation which skews a geometry, sheared by an angle along the x and y dimensions. Read more
Source§fn skew_xy_mut(&mut self, degrees_x: T, degrees_y: T)
fn skew_xy_mut(&mut self, degrees_x: T, degrees_y: T)
Mutable version of
skew_xy
.Source§fn skew_around_point(&self, xs: T, ys: T, origin: impl Into<Coord<T>>) -> G
fn skew_around_point(&self, xs: T, ys: T, origin: impl Into<Coord<T>>) -> G
An affine transformation which skews a geometry around a point of
origin
, sheared by an
angle along the x and y dimensions. Read moreSource§fn skew_around_point_mut(&mut self, xs: T, ys: T, origin: impl Into<Coord<T>>)
fn skew_around_point_mut(&mut self, xs: T, ys: T, origin: impl Into<Coord<T>>)
Mutable version of
skew_around_point
.Source§impl<T, G> Translate<T> for G
impl<T, G> Translate<T> for G
Source§fn translate(&self, x_offset: T, y_offset: T) -> G
fn translate(&self, x_offset: T, y_offset: T) -> G
Translate a Geometry along its axes by the given offsets Read more
Source§fn translate_mut(&mut self, x_offset: T, y_offset: T)
fn translate_mut(&mut self, x_offset: T, y_offset: T)
Translate a Geometry along its axes, but in place.