Sign in

    Milky2018/moon_rapier/core does not have a README file

    AngDim2

    type AngDim2 = Int

    AngDim3

    type AngDim3 = Int

    Dim2

    type Dim2 = Int

    Dim3

    type Dim3 = Int

    Real

    type Real = Float

    SimdAngVector2

    type SimdAngVector2 = Float

    SimdAngularInertia2

    type SimdAngularInertia2 = Float

    TangentImpulse2

    type TangentImpulse2 = Float

    Aabb

    pub struct Aabb {
    mins : Vec2
    maxs : Vec2
    }

    Aabb::Aabb

    fn Aabb::Aabb(mins : Vec2, maxs : Vec2) -> Aabb

    Aabb::combine

    fn Aabb::combine(self : Aabb, other : Aabb) -> Aabb

    Aabb::contains_point

    fn Aabb::contains_point(self : Aabb, point : Vec2) -> Bool

    Aabb::from_points

    fn Aabb::from_points(a : Vec2, b : Vec2) -> Aabb

    Aabb::intersects

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

    Aabb3

    pub struct Aabb3 {
    mins : Vec3
    maxs : Vec3
    }

    Aabb3::Aabb3

    fn Aabb3::Aabb3(mins : Vec3, maxs : Vec3) -> Aabb3

    Aabb3::combine

    fn Aabb3::combine(self : Aabb3, other : Aabb3) -> Aabb3

    Aabb3::dilated

    fn Aabb3::dilated(self : Aabb3, amount : Float) -> Aabb3

    Aabb3::from_points

    fn Aabb3::from_points(a : Vec3, b : Vec3) -> Aabb3

    Aabb3::intersects

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

    DMatrix

    #alias(JacobianView2)
    #alias(JacobianViewMut3)
    #alias(JacobianViewMut2)
    #alias(JacobianView3)
    pub struct DMatrix {
    rows : Int
    cols : Int
    data : Array[Float]
    }

    A minimal dynamic matrix type used for Rapier public-surface parity.

    This is not a full nalgebra replacement; it is a small, deterministic, allocation-backed matrix for internal use and for parity mapping.

    DMatrix::DMatrix

    fn DMatrix::DMatrix(rows : Int, cols : Int, init : Float) -> DMatrix

    DMatrix::cols

    fn DMatrix::cols(self : DMatrix) -> Int

    DMatrix::get

    fn DMatrix::get(self : DMatrix, r : Int, c : Int) -> Float?

    DMatrix::identity

    fn DMatrix::identity(n : Int) -> DMatrix

    DMatrix::rows

    fn DMatrix::rows(self : DMatrix) -> Int

    DMatrix::set

    fn DMatrix::set(self : DMatrix, r : Int, c : Int, v : Float) -> DMatrix

    DMatrix::zeros

    fn DMatrix::zeros(rows : Int, cols : Int) -> DMatrix

    Isometry2

    #alias(SimdPose2)
    pub struct Isometry2 {
    translation : Vec2
    rotation : Rot2
    }

    Isometry2::Isometry2

    fn Isometry2::Isometry2(translation : Vec2, rotation : Rot2) -> Isometry2

    Isometry2::from_translation

    fn Isometry2::from_translation(translation : Vec2) -> Isometry2

    Isometry2::identity

    fn Isometry2::identity() -> Isometry2

    Isometry2::inverse

    fn Isometry2::inverse(self : Isometry2) -> Isometry2

    Isometry2::mul

    fn Isometry2::mul(self : Isometry2, other : Isometry2) -> Isometry2

    Isometry2::transform_point

    fn Isometry2::transform_point(self : Isometry2, point : Vec2) -> Vec2

    Isometry3

    #alias(SimdPose3)
    pub struct Isometry3 {
    translation : Vec3
    rotation : Quat
    }

    Isometry3::Isometry3

    fn Isometry3::Isometry3(translation : Vec3, rotation : Quat) -> Isometry3

    Isometry3::from_translation

    fn Isometry3::from_translation(translation : Vec3) -> Isometry3

    Isometry3::identity

    fn Isometry3::identity() -> Isometry3

    Isometry3::inverse

    fn Isometry3::inverse(self : Isometry3) -> Isometry3

    Isometry3::mul

    fn Isometry3::mul(self : Isometry3, other : Isometry3) -> Isometry3

    Isometry3::transform_point

    fn Isometry3::transform_point(self : Isometry3, point : Vec3) -> Vec3

    MassProperties

    pub struct MassProperties {
    mass : Float
    inv_mass : Float
    inertia : Float
    inv_inertia : Float
    center_of_mass : Vec2
    }

    MassProperties::MassProperties

    fn MassProperties::MassProperties(mass : Float, inertia : Float, center_of_mass : Vec2) -> MassProperties

    MassProperties::add

    MassProperties::default

    MassProperties::set_mass

    fn MassProperties::set_mass(self : MassProperties, new_mass : Float, update_inertia : Bool) -> MassProperties

    MassProperties::transform_by

    fn MassProperties::transform_by(self : MassProperties, transform : Isometry2) -> MassProperties

    MassProperties3

    pub struct MassProperties3 {
    mass : Float
    inv_mass : Float
    inertia : SdpMat3
    inv_inertia : SdpMat3
    center_of_mass : Vec3
    }

    3D mass properties: mass, center-of-mass, and angular inertia expressed about the COM.

    MassProperties3::MassProperties3

    fn MassProperties3::MassProperties3(mass : Float, inertia : SdpMat3, center_of_mass : Vec3) -> MassProperties3

    MassProperties3::add

    MassProperties3::default

    MassProperties3::set_mass

    fn MassProperties3::set_mass(self : MassProperties3, new_mass : Float, update_inertia : Bool) -> MassProperties3

    MassProperties3::transform_by

    fn MassProperties3::transform_by(self : MassProperties3, transform : Isometry3) -> MassProperties3

    Mat2

    #alias(SimdMatrix2)
    pub struct Mat2 {
    m00 : Float
    m01 : Float
    m10 : Float
    m11 : Float
    }

    Mat2::Mat2

    fn Mat2::Mat2(m00 : Float, m01 : Float, m10 : Float, m11 : Float) -> Mat2

    Mat2::add

    fn Mat2::add(self : Mat2, other : Mat2) -> Mat2

    Mat2::determinant

    fn Mat2::determinant(self : Mat2) -> Float

    Mat2::identity

    fn Mat2::identity() -> Mat2

    Mat2::inverse

    fn Mat2::inverse(self : Mat2) -> Mat2

    Mat2::mul

    fn Mat2::mul(self : Mat2, other : Mat2) -> Mat2

    Mat2::mul_vec2

    fn Mat2::mul_vec2(self : Mat2, v : Vec2) -> Vec2

    Mat2::sub

    fn Mat2::sub(self : Mat2, other : Mat2) -> Mat2

    Mat2::transpose

    fn Mat2::transpose(self : Mat2) -> Mat2

    Mat2::zero

    fn Mat2::zero() -> Mat2

    Mat3

    #alias(SimdMatrix3)
    pub struct Mat3 {
    m00 : Float
    m01 : Float
    m02 : Float
    m10 : Float
    m11 : Float
    m12 : Float
    m20 : Float
    m21 : Float
    m22 : Float
    }

    3x3 matrix (row-major).

    Mat3::Mat3

    fn Mat3::Mat3(m00 : Float, m01 : Float, m02 : Float, m10 : Float, m11 : Float, m12 : Float, m20 : Float, m21 : Float, m22 : Float) -> Mat3

    Mat3::add

    fn Mat3::add(self : Mat3, other : Mat3) -> Mat3

    Mat3::determinant

    fn Mat3::determinant(self : Mat3) -> Float

    Mat3::from_diagonal

    fn Mat3::from_diagonal(diag : Vec3) -> Mat3

    Mat3::identity

    fn Mat3::identity() -> Mat3

    Mat3::inverse

    fn Mat3::inverse(self : Mat3) -> Mat3

    Mat3::mul

    fn Mat3::mul(self : Mat3, other : Mat3) -> Mat3

    Mat3::mul_vec3

    fn Mat3::mul_vec3(self : Mat3, v : Vec3) -> Vec3

    Mat3::scale

    fn Mat3::scale(self : Mat3, s : Float) -> Mat3

    Mat3::sub

    fn Mat3::sub(self : Mat3, other : Mat3) -> Mat3

    Mat3::transpose

    fn Mat3::transpose(self : Mat3) -> Mat3

    Mat3::zero

    fn Mat3::zero() -> Mat3

    Quat

    #alias(SimdRotation3)
    pub struct Quat {
    x : Float
    y : Float
    z : Float
    w : Float
    }

    Unit quaternion used as 3D rotation.

    Quat::Quat

    fn Quat::Quat(x : Float, y : Float, z : Float, w : Float) -> Quat

    Quat::conjugate

    fn Quat::conjugate(self : Quat) -> Quat

    Quat::dot

    fn Quat::dot(self : Quat, other : Quat) -> Float

    Quat::identity

    fn Quat::identity() -> Quat

    Quat::imag

    fn Quat::imag(self : Quat) -> Vec3

    Quat::inverse

    fn Quat::inverse(self : Quat) -> Quat

    Quat::mul

    fn Quat::mul(self : Quat, other : Quat) -> Quat

    Hamilton product (applies other then self when used as rotation composition).

    Quat::negated

    fn Quat::negated(self : Quat) -> Quat

    Quat::norm_squared

    fn Quat::norm_squared(self : Quat) -> Float

    Quat::normalize

    fn Quat::normalize(self : Quat) -> Quat

    Quat::real

    fn Quat::real(self : Quat) -> Float

    Quat::rotate_vec3

    fn Quat::rotate_vec3(self : Quat, v : Vec3) -> Vec3

    Rotate a vector by this quaternion.

    Quat::to_mat3

    fn Quat::to_mat3(self : Quat) -> Mat3

    Quat::to_scaled_axis

    fn Quat::to_scaled_axis(self : Quat) -> Vec3

    Convert this quaternion to a scaled axis representation (axis * angle). This always returns the shortest representation (angle in [0, pi]).

    Rot2

    #alias(SimdRotation2)
    pub struct Rot2 {
    sin : Float
    cos : Float
    }

    Rot2::angle

    fn Rot2::angle(self : Rot2) -> Float

    Rot2::from_angle

    fn Rot2::from_angle(angle : Float) -> Rot2

    Rot2::identity

    fn Rot2::identity() -> Rot2

    Rot2::inverse

    fn Rot2::inverse(self : Rot2) -> Rot2

    Rot2::mul

    fn Rot2::mul(self : Rot2, other : Rot2) -> Rot2

    Rot2::rotate_vec2

    fn Rot2::rotate_vec2(self : Rot2, v : Vec2) -> Vec2

    SdpMat3

    #alias(SimdAngularInertia3)
    pub struct SdpMat3 {
    m11 : Float
    m12 : Float
    m13 : Float
    m22 : Float
    m23 : Float
    m33 : Float
    }

    Symmetric 3x3 matrix stored in a compact form (6 values).

    This matches the Rapier/Parry SdpMatrix3 storage pattern and is used for angular inertia tensors.

    SdpMat3::SdpMat3

    fn SdpMat3::SdpMat3(m11 : Float, m12 : Float, m13 : Float, m22 : Float, m23 : Float, m33 : Float) -> SdpMat3

    SdpMat3::from_diagonal

    fn SdpMat3::from_diagonal(diag : Vec3) -> SdpMat3

    SdpMat3::into_mat3

    fn SdpMat3::into_mat3(self : SdpMat3) -> Mat3

    SdpMat3::inverse

    fn SdpMat3::inverse(self : SdpMat3) -> SdpMat3

    SdpMat3::transform_vec3

    fn SdpMat3::transform_vec3(self : SdpMat3, v : Vec3) -> Vec3

    SdpMat3::zero

    fn SdpMat3::zero() -> SdpMat3

    UserData128

    pub struct UserData128 {
    hi : UInt64
    lo : UInt64
    }

    A Rapier-compatible u128-equivalent payload used by RigidBody/Collider user data.

    Representation is (hi, lo) where the numeric value is (hi << 64) | lo.

    UserData128::equals

    fn UserData128::equals(self : UserData128, other : UserData128) -> Bool

    UserData128::from_int_truncate

    fn UserData128::from_int_truncate(value : Int) -> UserData128

    Back-compat helper: interpret the given Int as an unsigned payload truncated to 64 bits, stored in the low 64 bits of this UserData128.

    UserData128::from_parts

    fn UserData128::from_parts(hi : UInt64, lo : UInt64) -> UserData128

    UserData128::from_u64

    fn UserData128::from_u64(value : UInt64) -> UserData128

    UserData128::hi

    fn UserData128::hi(self : UserData128) -> UInt64

    UserData128::lo

    fn UserData128::lo(self : UserData128) -> UInt64

    UserData128::to_int_truncate

    fn UserData128::to_int_truncate(self : UserData128) -> Int

    Back-compat helper: return the low 64 bits truncated to Int.

    UserData128::to_parts

    fn UserData128::to_parts(self : UserData128) -> (UInt64, UInt64)

    UserData128::zero

    fn UserData128::zero() -> UserData128

    Vec2

    #alias(SimdVector2)
    #alias(SimdPoint2)
    #alias(TangentImpulse3)
    pub struct Vec2 {
    x : Float
    y : Float
    }

    Vec2::Vec2

    fn Vec2::Vec2(x : Float, y : Float) -> Vec2

    Vec2::add

    fn Vec2::add(self : Vec2, other : Vec2) -> Vec2

    Vec2::cross

    fn Vec2::cross(self : Vec2, other : Vec2) -> Float

    Vec2::dot

    fn Vec2::dot(self : Vec2, other : Vec2) -> Float

    Vec2::length

    fn Vec2::length(self : Vec2) -> Float

    Vec2::length_squared

    fn Vec2::length_squared(self : Vec2) -> Float

    Vec2::normalize

    fn Vec2::normalize(self : Vec2) -> Vec2

    Vec2::sub

    fn Vec2::sub(self : Vec2, other : Vec2) -> Vec2

    Vec2::zero

    fn Vec2::zero() -> Vec2

    Vec3

    #alias(SimdVector3)
    #alias(SimdPoint3)
    #alias(SimdAngVector3)
    pub struct Vec3 {
    x : Float
    y : Float
    z : Float
    }

    3D vector. This is the dim3 counterpart of Vec2.

    Vec3::Vec3

    fn Vec3::Vec3(x : Float, y : Float, z : Float) -> Vec3

    Vec3::add

    fn Vec3::add(self : Vec3, other : Vec3) -> Vec3

    Vec3::cross

    fn Vec3::cross(self : Vec3, other : Vec3) -> Vec3

    Vec3::dot

    fn Vec3::dot(self : Vec3, other : Vec3) -> Float

    Vec3::length

    fn Vec3::length(self : Vec3) -> Float

    Vec3::length_squared

    fn Vec3::length_squared(self : Vec3) -> Float

    Vec3::normalize

    fn Vec3::normalize(self : Vec3) -> Vec3

    Vec3::scale

    fn Vec3::scale(self : Vec3, s : Float) -> Vec3

    Vec3::sub

    fn Vec3::sub(self : Vec3, other : Vec3) -> Vec3

    Vec3::zero

    fn Vec3::zero() -> Vec3

    ANG_DIM2

    let ANG_DIM2 : Int

    ANG_DIM3

    let ANG_DIM3 : Int

    MAX_MANIFOLD_POINTS2

    let MAX_MANIFOLD_POINTS2 : Int

    MAX_MANIFOLD_POINTS3

    let MAX_MANIFOLD_POINTS3 : Int

    RAPIER_REFERENCE_VERSION

    let RAPIER_REFERENCE_VERSION : String

    SPATIAL_DIM2

    let SPATIAL_DIM2 : Int

    SPATIAL_DIM3

    let SPATIAL_DIM3 : Int

    VERSION

    let VERSION : String

    abs

    fn abs(value : Float) -> Float

    acos

    fn acos(value : Float) -> Float

    asin

    fn asin(value : Float) -> Float

    atan2

    fn atan2(y : Float, x : Float) -> Float

    clamp

    fn clamp(value : Float, min_value : Float, max_value : Float) -> Float

    cos

    fn cos(value : Float) -> Float

    fn pi() -> Float

    rotation_between

    fn rotation_between(from : Vec3, to : Vec3) -> Quat

    Construct a rotation that maps the direction from to the direction to.

    rotation_from_angle

    fn rotation_from_angle(angle : Float) -> Rot2

    rotation_from_scaled_axis

    fn rotation_from_scaled_axis(axis_angle : Vec3) -> Quat

    Construct a rotation from a scaled axis (axis * angle).

    sin

    fn sin(value : Float) -> Float

    two_pi

    fn two_pi() -> Float