[][src]Crate arcs

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 Definitions

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.