# Crate iron_shapes[−][src]

Expand description

This crate provides basic data structures for Euclidean geometry in the plane.

## Modules

 edge An edge is a line segment from a start-point to a end-point. edge_integer Edge intersection functions for integer coordinates. edge_rational Edge intersection functions for rational coordinates. math Math helper functions. matrix2d Data structures and functions for 2x2 matrices. matrix3d Data structures and functions for 3x3 matrices. multi_polygon Multi-polygons are a set of multiple polygons. path `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. point Points represent a location in the two dimensional plane by an `x` and `y` coordinate. point_string A point string is a finite sequence of points. polygon This module contains data types and functions for polygons with holes. prelude The prelude can be used to conveniently import the commonly used data types. rect Data structures and functions for dealing with rectangles which consist of vertical and horizontal edges. redge An `REdge` is ‘rectilinear’ edge which is either horizontal or vertical. repetition Describe repetitions of geometrical objects. shape Abstractions for geometrical shapes. simple_polygon This module contains data types and functions for basic polygons without holes. simple_rpolygon This module contains data types and functions for basic rectilinear polygons without holes. text `Text` is used as labels associated with a point. traits Common traits for geometrical objects. transform Transforms are used to describe the location, rotation, scaling and mirroring of geometric shapes. types Commonly used type definitions and constants. vector Two dimensional vectors are a core data type for Euclidean geometry in the plane. `Vector`s consist of an `x` and `y` coordinate value and describe a translation in the plane.

## Macros

 point Shorthand notation for creating a point. polygon Shorthand notation for creating a polygon. simple_polygon Shorthand notation for creating a simple polygon. simple_rpolygon Shorthand notation for creating a simple polygon. vector Shorthand notation for creating a vector.

## Traits

 CoordinateType Trait for types that can be used as coordinates in the euclidean plane. In practice this are integers, floats and possible rational numbers.