Trait geo_nd::Geometry3D[][src]

pub trait Geometry3D<Scalar: Float> {
    type Vec3: Vector<Scalar, 3>;
    type Vec4: Vector<Scalar, 4>;
    type Mat3: SqMatrix3<Self::Vec3, Scalar>;
    type Mat4: SqMatrix4<Scalar, Self::Vec3, Self::Vec4>;
    type Quat: Quaternion<Scalar, Self::Vec3, Self::Vec4>;
    type Trans: Transform<Scalar, Self::Vec3, Self::Vec4, Self::Mat4, Self::Quat>;
}
Expand description

The Geometry3D trait supplies a framework for implementing 3D vector and matrix operations, and should also include the quaternion type.

An implementation of Geometry3D can be used for OpenGL and Vulkan graphics, for example.

Associated Types

The type of a 3D vector

The type of a 3D vector with an additional ‘1’ expected in its extra element if it is a position

The type of a 3D matrix that can transform Vec3

The type of a 3D matrix which allows for translations, that can transform Vec4

The quaternion type that provides for rotations in 3D

The transform type

Implementations on Foreign Types

Implementors