Name Description Size
angle.rs 9258
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 26804
box3d.rs 27057
homogen.rs 5703
length.rs A one-dimensional length, tagged with its units. 16108
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 1088
num.rs A one-dimensional length, tagged with its units. 3882
point.rs 51525
rect.rs 28329
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` 9391
rotation.rs 30731
scale.rs A type-checked scaling factor between units. 11791
side_offsets.rs A group of side offsets, which correspond to top/left/bottom/right for borders, padding, and margins in CSS. 13471
size.rs 51952
transform2d.rs 24571
transform3d.rs 51798
translation.rs 24645
trig.rs 2705
vector.rs 71322