cvmath 0.0.7

Computer Graphics Vector Math Library
Documentation
/*!
Computer Vector Graphics Math Library
=====================================
*/

#![debugger_visualizer(natvis_file = "natvis/Angle.natvis")]
#![debugger_visualizer(natvis_file = "natvis/Complex.natvis")]
#![debugger_visualizer(natvis_file = "natvis/Polar.natvis")]
#![debugger_visualizer(natvis_file = "natvis/Quat.natvis")]
#![debugger_visualizer(natvis_file = "natvis/RotationVector.natvis")]
#![debugger_visualizer(natvis_file = "natvis/Mat2.natvis")]
#![debugger_visualizer(natvis_file = "natvis/Mat3.natvis")]
#![debugger_visualizer(natvis_file = "natvis/Mat4.natvis")]
#![debugger_visualizer(natvis_file = "natvis/Transform2.natvis")]
#![debugger_visualizer(natvis_file = "natvis/Transform3.natvis")]
#![debugger_visualizer(natvis_file = "natvis/Vec2.natvis")]
#![debugger_visualizer(natvis_file = "natvis/Vec3.natvis")]
#![debugger_visualizer(natvis_file = "natvis/Vec4.natvis")]

use std::{fmt, mem, ops, slice};
use std::error::Error;
use std::str::FromStr;

mod macros;

mod num;
mod angle;
pub mod scalar;

mod vec;
mod bools;
mod packed;
mod interval;
mod ray;
mod complex;
mod polar;
mod mat;
mod quat;
mod rotvec;

mod shape2;
mod shape3;

use crate::num::*;

pub use crate::angle::Angle;
pub use crate::vec::{Vec2, Vec3, Vec4, X, Y, Z, W};
pub use crate::bools::{Bool2, Bool3, Bool4};
pub use crate::interval::Interval;
pub use crate::ray::HitSide;
pub use crate::complex::Complex;
pub use crate::polar::Polar;
pub use crate::mat::{Mat2, Mat3, Mat4, Transform2, Transform3, Hand, Clip};
pub use crate::quat::Quat;
pub use crate::rotvec::RotationVector;

pub use crate::shape2::*;
pub use crate::shape3::*;

#[doc(hidden)]
pub use crate::angle::{Anglef, Angled};
#[doc(hidden)]
pub use crate::vec::{Vec2f, Vec3f, Vec4f, Vec2d, Vec3d, Vec4d, Vec2i, Vec3i, Vec4i};
#[doc(hidden)]
pub use crate::complex::{Complexf, Complexd};
#[doc(hidden)]
pub use crate::mat::{Mat2f, Mat3f, Mat4f, Transform2f, Transform3f, Mat2d, Mat3d, Mat4d, Transform2d, Transform3d};
#[doc(hidden)]
pub use crate::quat::{Quatf, Quatd};

#[cfg(test)]
mod tests;