C:/development/RenderTools/src/common/Matrix.h File Reference

#include <math.h>
#include <limits.h>
#include <string>
#include <iostream>
#include <vector>

Go to the source code of this file.


Classes

class  RenderTools::Vec2
class  RenderTools::Mat2
class  RenderTools::Vec3
class  RenderTools::Mat3
class  RenderTools::Vec4
class  RenderTools::Quat
class  RenderTools::Mat4

Namespaces

namespace  RenderTools
 Program is used for the matrix stack.
namespace  RenderTools::Matrix

Defines

#define M_PI   3.1415926535897932384626433832795

Typedefs

typedef Vec2 * RenderTools::Vec2Ptr
typedef Vec3 * RenderTools::Vec3Ptr
typedef Vec4 * RenderTools::Vec4Ptr
typedef Mat2 * RenderTools::Mat2Ptr
typedef Mat3 * RenderTools::Mat3Ptr
typedef Mat4 * RenderTools::Mat4Ptr
typedef vector< Vec2 > RenderTools::Vec2List
typedef vector< Vec3 > RenderTools::Vec3List
typedef vector< Vec4 > RenderTools::Vec4List
typedef vector< Mat2 > RenderTools::Mat2List
typedef vector< Mat3 > RenderTools::Mat3List
typedef vector< Mat4 > RenderTools::Mat4List

Enumerations

enum  RenderTools::Matrix::Mode { RenderTools::Matrix::PROJECTION = 0, RenderTools::Matrix::MODELVIEW = 1, RenderTools::Matrix::TEXTURE = 2 }

Functions

template<typename T >
void RenderTools::swapValues (T &a, T &b)
float RenderTools::smallest (float a, float b)
 -----------------------------global utility functions--------------
float RenderTools::largest (float a, float b)
double RenderTools::smallest (double a, double b)
double RenderTools::largest (double a, double b)
float RenderTools::smallest (float a, double b)
float RenderTools::largest (float a, double b)
float RenderTools::smallest (double a, float b)
float RenderTools::largest (double a, float b)
float RenderTools::sgn (float v)
float RenderTools::clamp (float v, float min, float max)
float RenderTools::clampMax (float x, float max)
float RenderTools::clampMin (float x, float min)
float RenderTools::toRadians (float degrees)
float RenderTools::toDegrees (float radians)
float RenderTools::distance (const Vec2 &v1, const Vec2 &v2)
float RenderTools::distance (const Vec3 &v1, const Vec3 &v2)
float RenderTools::distance (const Vec4 &v1, const Vec4 &v2)
float RenderTools::distance2 (const Vec2 &v1, const Vec2 &v2)
float RenderTools::distance2 (const Vec3 &v1, const Vec3 &v2)
float RenderTools::distance2 (const Vec4 &v1, const Vec4 &v2)
float RenderTools::length (const Vec2 &v)
float RenderTools::length (const Vec3 &v)
float RenderTools::length (const Vec4 &v)
float RenderTools::length2 (const Vec2 &v)
float RenderTools::length2 (const Vec3 &v)
float RenderTools::length2 (const Vec4 &v)
float RenderTools::dot (const Vec2 &v1, const Vec2 &v2)
float RenderTools::dot (const Vec3 &v1, const Vec3 &v2)
float RenderTools::dot (const Vec4 &v1, const Vec4 &v2)
Vec3 RenderTools::cross (const Vec3 &v1, const Vec3 &v2)
float RenderTools::cross (const Vec2 &v1, const Vec2 &v2)
float RenderTools::mix (float f1, float f2, float f)
Vec2 RenderTools::mix (const Vec2 &v1, const Vec2 &v2, float f)
Mat2 RenderTools::mix (const Mat2 &m1, const Mat2 &m2, float f)
Vec3 RenderTools::mix (const Vec3 &v1, const Vec3 &v2, float f)
Mat3 RenderTools::mix (const Mat3 &m1, const Mat3 &m2, float f)
Vec4 RenderTools::mix (const Vec4 &v1, const Vec4 &v2, float f)
Mat4 RenderTools::mix (const Mat4 &m1, const Mat4 &m2, float f)
Vec2 RenderTools::normalize (const Vec2 &v)
Vec3 RenderTools::normalize (const Vec3 &v)
Vec4 RenderTools::normalize (const Vec4 &v)
Vec2 RenderTools::operator* (float s, const Vec2 &v)
Vec3 RenderTools::operator* (float s, const Vec3 &v)
Vec4 RenderTools::operator* (float s, const Vec4 &v)
istream & RenderTools::operator>> (istream &s, Vec2 &v)
 extraction operators
istream & RenderTools::operator>> (istream &s, Vec3 &v)
istream & RenderTools::operator>> (istream &s, Vec4 &v)
istream & RenderTools::operator>> (istream &s, Quat &v)
istream & RenderTools::operator>> (istream &s, Mat2 &v)
istream & RenderTools::operator>> (istream &s, Mat3 &v)
istream & RenderTools::operator>> (istream &s, Mat4 &v)
ostream & RenderTools::operator<< (ostream &s, const Vec2 &v)
 insertion operators
ostream & RenderTools::operator<< (ostream &s, const Vec3 &v)
ostream & RenderTools::operator<< (ostream &s, const Vec4 &v)
ostream & RenderTools::operator<< (ostream &s, const Quat &v)
ostream & RenderTools::operator<< (ostream &s, const Mat2 &v)
ostream & RenderTools::operator<< (ostream &s, const Mat3 &v)
ostream & RenderTools::operator<< (ostream &s, const Mat4 &v)
void RenderTools::Matrix::initialize ()
const Mat4 & RenderTools::Matrix::get (Mode mode)
void RenderTools::Matrix::set (Mode mode, const Mat4 &m)
void RenderTools::Matrix::push (Mode mode)
void RenderTools::Matrix::push (Mode mode, const Mat4 &m)
Mat4 RenderTools::Matrix::pop (Mode mode)
Vec3 RenderTools::Matrix::project (const Vec3 &object, const Vec4 &viewport)
Vec3 RenderTools::Matrix::unProject (const Vec3 &window, const Vec4 &viewport)


Define Documentation

#define M_PI   3.1415926535897932384626433832795

Definition at line 12 of file Matrix.h.


Generated on Wed Jan 26 00:15:35 2011 for RenderTools by  doxygen 1.5.8