KrisLibrary  1.0.0
Classes | Namespaces | Functions
math3d/primitives.h File Reference

Class declarations for useful 3D math types. More...

#include <KrisLibrary/math/math.h>
#include <KrisLibrary/utils.h>
#include <iosfwd>

Go to the source code of this file.

Classes

class  Math3D::Vector2
 A 2D vector class. More...
 
class  Math3D::Vector3
 A 3D vector class. More...
 
class  Math3D::Vector4
 A 4D vector class. More...
 
class  Math3D::Matrix2
 A 2x2 matrix class. More...
 
class  Math3D::Matrix3
 A 3x3 matrix class. More...
 
class  Math3D::Matrix4
 A 4x4 matrix class. More...
 
class  Math3D::RigidTransform
 A rigid-body transformation. More...
 
class  Math3D::RigidTransform2D
 Same as above, but in 2D. More...
 

Namespaces

 Math3D
 Contains all the definitions in the Math3D package.
 

Functions

Real Math3D::dot (const Vector2 &a, const Vector2 &b)
 
Real Math3D::cross (const Vector2 &a, const Vector2 &b)
 
void Math3D::normalize (Vector2 &a)
 
Vector2 Math3D::project (const Vector2 &a, const Vector2 &b)
 
Vector2 Math3D::operator- (const Vector2 &a)
 
Vector2 Math3D::operator+ (const Vector2 &a, const Vector2 &b)
 
Vector2 Math3D::operator- (const Vector2 &a, const Vector2 &b)
 
Vector2 Math3D::operator* (const Vector2 &a, Real b)
 
Vector2 Math3D::operator* (Real a, const Vector2 &b)
 
Vector2 Math3D::operator/ (const Vector2 &a, Real b)
 
Real Math3D::dot (const Vector3 &a, const Vector3 &b)
 
Vector3 Math3D::cross (const Vector3 &a, const Vector3 &b)
 
void Math3D::normalize (Vector3 &a)
 
Vector3 Math3D::project (const Vector3 &a, const Vector3 &b)
 
Vector3 Math3D::operator- (const Vector3 &a)
 
Vector3 Math3D::operator+ (const Vector3 &a, const Vector3 &b)
 
Vector3 Math3D::operator- (const Vector3 &a, const Vector3 &b)
 
Vector3 Math3D::operator* (const Vector3 &a, Real b)
 
Vector3 Math3D::operator* (Real a, const Vector3 &b)
 
Vector3 Math3D::operator/ (const Vector3 &a, Real b)
 
Real Math3D::dot (const Vector4 &a, const Vector4 &b)
 
Real Math3D::dot3 (const Vector4 &a, const Vector4 &b)
 
Real Math3D::dot3 (const Vector4 &a, const Vector3 &b)
 
Real Math3D::dot3 (const Vector3 &a, const Vector4 &b)
 
void Math3D::normalize (Vector4 &a)
 
Vector4 Math3D::project (const Vector4 &a, const Vector4 &b)
 
Vector4 Math3D::operator- (const Vector4 &a)
 
Vector4 Math3D::operator+ (const Vector4 &a, const Vector4 &b)
 
Vector4 Math3D::operator- (const Vector4 &a, const Vector4 &b)
 
Vector4 Math3D::operator* (const Vector4 &a, Real b)
 
Vector4 Math3D::operator* (Real a, const Vector4 &b)
 
Vector4 Math3D::operator/ (const Vector4 &a, Real b)
 
Real Math3D::determinant (const Matrix2 &)
 
Real Math3D::trace (const Matrix2 &)
 
Matrix2 Math3D::operator+ (const Matrix2 &a, const Matrix2 &b)
 
Matrix2 Math3D::operator- (const Matrix2 &a, const Matrix2 &b)
 
Matrix2 Math3D::operator* (const Matrix2 &a, const Matrix2 &b)
 
Vector2 Math3D::operator* (const Matrix2 &a, const Vector2 &b)
 
Vector2 Math3D::operator* (const Vector2 &a, const Matrix2 &b)
 
Real Math3D::determinant (const Matrix3 &)
 
Real Math3D::trace (const Matrix3 &)
 
Matrix3 Math3D::operator+ (const Matrix3 &a, const Matrix3 &b)
 
Matrix3 Math3D::operator- (const Matrix3 &a, const Matrix3 &b)
 
Matrix3 Math3D::operator* (const Matrix3 &a, const Matrix3 &b)
 
Vector3 Math3D::operator* (const Matrix3 &a, const Vector3 &b)
 
Vector3 Math3D::operator* (const Vector3 &a, const Matrix3 &b)
 
Real Math3D::determinant (const Matrix4 &)
 
Real Math3D::trace (const Matrix4 &)
 
Matrix4 Math3D::operator+ (const Matrix4 &a, const Matrix4 &b)
 
Matrix4 Math3D::operator- (const Matrix4 &a, const Matrix4 &b)
 
Matrix4 Math3D::operator* (const Matrix4 &a, const Matrix4 &b)
 
Vector4 Math3D::operator* (const Matrix4 &a, const Vector4 &b)
 
Vector4 Math3D::operator* (const Vector4 &a, const Matrix4 &b)
 
Vector3 Math3D::operator* (const Matrix4 &a, const Vector3 &b)
 WARNING: vector multiply.
 
Vector3 Math3D::operator* (const Vector3 &a, const Matrix4 &b)
 WARNING: vector multiply (transpose)
 
RigidTransform Math3D::operator* (const RigidTransform &, const RigidTransform &)
 
RigidTransform Math3D::operator* (const RigidTransform &, const Matrix3 &)
 
RigidTransform Math3D::operator* (const Matrix3 &a, const RigidTransform &b)
 
Vector3 Math3D::operator* (const RigidTransform &, const Vector3 &)
 
RigidTransform Math3D::operator+ (const RigidTransform &, const Vector3 &)
 
RigidTransform Math3D::operator- (const RigidTransform &, const Vector3 &)
 
RigidTransform2D Math3D::operator* (const RigidTransform2D &, const RigidTransform2D &)
 
Vector2 Math3D::operator* (const RigidTransform2D &, const Vector2 &)
 
Matrix2 Math3D::transpose (const Matrix2 &m)
 
Matrix2 Math3D::inverse (const Matrix2 &m)
 
Matrix2 Math3D::outerProduct (const Vector2 &a, const Vector2 &b)
 
Matrix2 Math3D::operator* (const Matrix2 &a, Real b)
 
Matrix2 Math3D::operator/ (const Matrix2 &a, Real b)
 
Matrix3 Math3D::transpose (const Matrix3 &m)
 
Matrix3 Math3D::inverse (const Matrix3 &m)
 
Matrix3 Math3D::outerProduct (const Vector3 &a, const Vector3 &b)
 
Matrix3 Math3D::operator* (const Matrix3 &a, Real b)
 
Matrix3 Math3D::operator/ (const Matrix3 &a, Real b)
 
Matrix4 Math3D::transpose (const Matrix4 &m)
 
Matrix4 Math3D::inverse (const Matrix4 &m)
 
Matrix4 Math3D::outerProduct (const Vector4 &a, const Vector4 &b)
 
Matrix4 Math3D::operator* (const Matrix4 &a, Real b)
 
Matrix4 Math3D::operator/ (const Matrix4 &a, Real b)
 
std::ostream & Math3D::operator<< (std::ostream &out, const Vector2 &v)
 
std::istream & Math3D::operator>> (std::istream &in, Vector2 &v)
 
std::ostream & Math3D::operator<< (std::ostream &out, const Vector3 &v)
 
std::istream & Math3D::operator>> (std::istream &in, Vector3 &v)
 
std::ostream & Math3D::operator<< (std::ostream &out, const Vector4 &v)
 
std::istream & Math3D::operator>> (std::istream &in, Vector4 &v)
 
std::ostream & Math3D::operator<< (std::ostream &out, const Matrix2 &m)
 
std::istream & Math3D::operator>> (std::istream &in, Matrix2 &m)
 
std::ostream & Math3D::operator<< (std::ostream &out, const Matrix3 &m)
 
std::istream & Math3D::operator>> (std::istream &in, Matrix3 &m)
 
std::ostream & Math3D::operator<< (std::ostream &out, const Matrix4 &m)
 
std::istream & Math3D::operator>> (std::istream &in, Matrix4 &m)
 
std::ostream & Math3D::operator<< (std::ostream &out, const RigidTransform &x)
 
std::istream & Math3D::operator>> (std::istream &in, RigidTransform &x)
 
std::ostream & Math3D::operator<< (std::ostream &out, const RigidTransform2D &x)
 
std::istream & Math3D::operator>> (std::istream &in, RigidTransform2D &x)
 

Detailed Description

Class declarations for useful 3D math types.