Name Description Size
angle.rs 9717
approxeq.rs 1448
approxord.rs Utilities for testing approximate ordering - especially true for floating point types, where NaN's cannot be ordered. 1066
box2d.rs 27376
box3d.rs 27952
homogen.rs 5703
length.rs A one-dimensional length, tagged with its units. 16112
lib.rs A collection of strongly typed math tools for computer graphics with an inclination towards 2d graphics and layout. All types are generic over the scalar type of their component (`f32`, `i32`, etc.), and tagged with a generic Unit parameter which is useful to prevent mixing values from different spaces. For example it should not be legal to translate a screen-space position by a world-space vector and this can be expressed using the generic Unit parameter. This unit system is not mandatory and all structures have an alias with the default unit: `UnknownUnit`. for example ```default::Point2D<T>``` is equivalent to ```Point2D<T, UnknownUnit>```. Client code typically creates a set of aliases for each type and doesn't need to deal with the specifics of typed units further. For example: ```rust use euclid::*; pub struct ScreenSpace; pub type ScreenPoint = Point2D<f32, ScreenSpace>; pub type ScreenSize = Size2D<f32, ScreenSpace>; pub struct WorldSpace; pub type WorldPoint = Point3D<f32, WorldSpace>; pub type ProjectionMatrix = Transform3D<f32, WorldSpace, ScreenSpace>; // etc... ``` All euclid types are marked `#[repr(C)]` in order to facilitate exposing them to foreign function interfaces (provided the underlying scalar type is also `repr(C)`). 4537
macros.rs 1081
num.rs A one-dimensional length, tagged with its units. 3882
point.rs 58282
rect.rs 28292
rigid.rs All matrix multiplication in this module is in row-vector notation, i.e. a vector `v` is transformed with `v * T`, and if you want to apply `T1` before `T2` you use `T1 * T2` 10206
rotation.rs 30654
scale.rs A type-checked scaling factor between units. 12720
side_offsets.rs A group of side offsets, which correspond to top/left/bottom/right for borders, padding, and margins in CSS. 13492
size.rs 52166
transform2d.rs 25306
transform3d.rs 53148
translation.rs 30722
trig.rs 2677
vector.rs 73511