Crate arcs

Source
Expand description

A Rust CAD System - A library for building 2D Computer Aided Design applications.

§A Note on Conventions

When using this crate you’ll frequently need to work with multiple coordinate spaces. To prevent accidentally mixing up vectors or points in different coordinate spaces (see the Mars Climate Orbiter), we use euclid’s ability to “tag” a geometry primitive with something representing the coordinate space it belongs to.

For convenience we expose type aliases for the main coordinate space you’ll be using, DrawingSpace.

For more details on when each coordinate space is used, consult the docs for DrawingSpace and CanvasSpace.

Modules§

algorithms
Useful algorithms and functionality for manipulating graphical objects.
components
Common components used by the arcs CAD library.
primitives
Basic geometric types which are generic over their coordinate space.
systems
Background tasks and useful specs::Systems.
window
Rendering and window management for the arcs CAD library.

Enums§

CanvasSpace
The coordinate system used for graphical objects rendered to a canvas.
DrawingSpace
The cartesian coordinate system used by everything in a drawing.
Orientation
How something may be oriented.

Functions§

centre_of_three_points
Find the centre of an arc which passes through 3 Points.

Type Aliases§

Angle
A strongly-typed angle, useful for dealing with the pesky modular arithmetic normally associated with circles and angles.
Arc
An primitives::Arc in DrawingSpace.
Length
A length in DrawingSpace.
Line
A primitives::Line in DrawingSpace.
Point
A location in DrawingSpace.
Transform
A transform matrix which for translating something within DrawingSpace.
Vector
A 2D vector for working in DrawingSpace.