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::System
s. - window
- Rendering and window management for the
arcs
CAD library.
Enums§
- Canvas
Space - The coordinate system used for graphical objects rendered to a canvas.
- Drawing
Space - 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
Point
s.
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
inDrawingSpace
. - Length
- A length in
DrawingSpace
. - Line
- A
primitives::Line
inDrawingSpace
. - Point
- A location in
DrawingSpace
. - Transform
- A transform matrix which for translating something within
DrawingSpace
. - Vector
- A 2D vector for working in
DrawingSpace
.