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 and y 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. Vectors consist of an x and y 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.