Crate iron_shapes
source ·Expand description
This crate provides basic data structures for Euclidean geometry in the plane.
Modules§
- Implementation of basic algorithms used for dealing with euclidean geometries.
- Abstraction concepts over geometric primitives.
- Implement the geometry concepts for the default data types.
- An edge is a line segment from a start-point to a end-point.
- Edge intersection functions for integer coordinates.
- Edge intersection functions for rational coordinates.
- A one dimensional interval.
- Describe alignment and orientation along coordinate axes.
- Math helper functions.
- Data structures and functions for 2x2 matrices.
- Data structures and functions for 3x3 matrices.
- Multi-polygons are a set of multiple polygons.
Path
is essentially a chain of line segments but with a possibly non-zero width. It can be thought of the shape resulting by a stroke of a thick pen along the line segments.- Points represent a location in the two dimensional plane by an
x
andy
coordinate. - A point string is a finite sequence of points.
- This module contains data types and functions for polygons with holes.
- The prelude can be used to conveniently import the commonly used data types.
- Data structures and functions for dealing with rectangles which consist of vertical and horizontal edges.
- An
REdge
is ‘rectilinear’ edge which is either horizontal or vertical. - Describe repetitions of geometrical objects.
- Abstractions for geometrical shapes.
- This module contains data types and functions for basic polygons without holes.
- This module contains data types and functions for basic rectilinear polygons without holes.
Text
is used as labels associated with a point.- Common traits for geometrical objects.
- Transforms are used to describe the location, rotation, scaling and mirroring of geometric shapes.
- Commonly used type definitions and constants.
- Two dimensional vectors are a core data type for Euclidean geometry in the plane.
Vector
s consist of anx
andy
coordinate value and describe a translation in the plane.
Macros§
- Shorthand notation for creating a point.
- Shorthand notation for creating a polygon.
- Shorthand notation for creating a simple polygon.
- Shorthand notation for creating a simple polygon.
- Shorthand notation for creating a vector.
Traits§
- Trait for types that can be used as areas. In practice this are integers, floats and possible rational numbers.
- Trait for types that can be used as coordinates in the euclidean plane. In practice this are integers, floats and possible rational numbers.