Crate axgeom

source ·
Expand description

A library that provides a way to easily extract 1d ranges from a 2d container based off of the x or y axis statically through type parameters. This can help with performance in algorithms where you need to get values for a particular axis often.

Re-exports

Structs

  • A 1D range. Internally represented as start and end. (as opposed to a start and length) If range A contains value x and range B contains value x, then A intersects B. There is no protection against “degenerate” Ranges where start>end.
  • A Ray.
  • An axis aligned rectangle. Stored as two Ranges.
  • A 2D vector.
  • The x axis implementation of the Axis
  • The y axis implementation of the Axis

Enums

  • A dynamic axis as opposed to a statically known one via impl Axis.
  • Describes if a ray hit a rectangle.

Traits

  • Axis trait can be used to extract the x or y portions of a container. when you know the axis as compile time. The X implementation of this trait’s Next associated trait is the Y implementation. The Y implementation of this trait’s Next associated trait is the X implementation.

Functions

  • Cast an array of 2 elements of primitive type to another primitive type using “as” on each element.
  • Convenience function to create a Range.
  • Convenience function to create a ray.
  • Convenience function to create a Rect.
  • Convenience function to create a vector.
  • Convenience function to create a vector where both component are the same.