OrisGo/octree/geom does not have a README file

    GeometryError

    pub(all) suberror GeometryError {
    NonFinite(String)
    InvertedBounds
    InvalidRoot
    ZeroDirection
    InvalidInterval
    } derive(Eq,
    Debug
    )

    GeometryError::equal

    GeometryError::not_equal

    fn GeometryError::not_equal(x : GeometryError, y : GeometryError) -> Bool

    Aabb

    pub struct Aabb {
    min : Vec3
    max : Vec3
    } derive(Eq,
    Debug
    )

    Validated, closed AABB. Touching counts as intersection; zero extent is legal.

    Aabb::contains

    fn Aabb::contains(self : Aabb, other : Aabb) -> Bool

    Aabb::equal

    fn Aabb::equal(Aabb, Aabb) -> Bool

    Aabb::intersects

    fn Aabb::intersects(self : Aabb, other : Aabb) -> Bool

    Aabb::new

    fn Aabb::new(min : Vec3, max : Vec3) -> Aabb raise GeometryError

    Aabb::not_equal

    fn Aabb::not_equal(x : Aabb, y : Aabb) -> Bool

    Aabb::to_repr

    Cube

    pub struct Cube {
    center : Vec3
    half_extent : Double
    bounds : Aabb
    } derive(Eq,
    Debug
    )

    A fixed root specified by center and positive half extent.

    Cube::equal

    fn Cube::equal(Cube, Cube) -> Bool

    Cube::new

    fn Cube::new(center : Vec3, half_extent : Double) -> Cube raise GeometryError

    Cube::not_equal

    fn Cube::not_equal(x : Cube, y : Cube) -> Bool

    Cube::to_repr

    Ray

    pub struct Ray {
    origin : Vec3
    direction : Vec3
    t_min : Double
    t_max : Double
    } derive(Eq,
    Debug
    )

    Ray positions are origin + t * direction, for the finite closed parameter interval. Direction need not be normalized; only a unit direction makes t a distance.

    Ray::equal

    fn Ray::equal(Ray, Ray) -> Bool

    Ray::intersects

    fn Ray::intersects(self : Ray, bounds : Aabb) -> Bool

    Ray::new

    fn Ray::new(origin : Vec3, direction : Vec3, t_min~ : Double, t_max~ : Double) -> Ray raise GeometryError

    Ray::not_equal

    fn Ray::not_equal(x : Ray, y : Ray) -> Bool

    Ray::to_repr

    Vec3

    pub struct Vec3 {
    x : Double
    y : Double
    z : Double
    } derive(Eq,
    Debug
    )

    Immutable three-dimensional coordinates. Geometry constructors validate finiteness.

    Vec3::equal

    fn Vec3::equal(Vec3, Vec3) -> Bool

    Vec3::new

    fn Vec3::new(x : Double, y : Double, z : Double) -> Vec3

    Vec3::not_equal

    fn Vec3::not_equal(x : Vec3, y : Vec3) -> Bool

    Vec3::origin

    fn Vec3::origin() -> Vec3

    Vec3::to_repr

    Powered by MoonBit

    Site sourceReport issueModulesSkillsBuild queueStatistics

    © 2026 mooncakes.io