# [−][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 |

primitives | Basic geometric types which are generic over their coordinate space. |

systems | Background tasks and useful |

window | Rendering and window management for the |

## Structs

BoundingBox | An axis-aligned bounding box. |

## 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 [ |

## Type Definitions

Angle | A strongly-typed angle, useful for dealing with the pesky modular arithmetic normally associated with circles and angles. |

Arc | An |

Length | A length in |

Line | A |

Point | A location in |

Transform | A transform matrix which for translating something within |

Vector | A 2D vector for working in |