clanCore Math


Classes

class  CL_Angle
 Angle class. More...
class  CL_Base64Decoder
 Base64 decoder class. More...
class  CL_Base64Encoder
 Base64 encoder class. More...
class  CL_BezierCurve
 Bezier curve generator. More...
class  CL_Circle
 Circle (point,radius) structure. More...
class  CL_Circlef
 Circle (point,radius) structure. More...
class  CL_DelauneyTriangulator_Vertex
 Vertex in the delauney triangulation. More...
class  CL_DelauneyTriangulator_Triangle
 Triangle generated from a delauney triangulation. More...
class  CL_DelauneyTriangulator
 Delauney triangulator. More...
class  CL_EarClipResult
 Ear clipping triangulation result structure. More...
class  CL_EarClipTriangulator_Triangle
 CL_EarClipTriangulator_Triangle. More...
class  CL_EarClipTriangulator
 Ear-clipping triangulator. More...
class  CL_HashFunctions
 A Collection of checksum functions. More...
class  CL_Line3x< Type >
 3D line More...
class  CL_Line2x< Type >
 2D line More...
class  CL_Line2
 2D line - Integer More...
class  CL_Line2f
 2D line - Float More...
class  CL_Line2d
 2D line - Double More...
class  CL_Line3
 3D line - Integer More...
class  CL_Line3f
 3D line - Float More...
class  CL_Line3d
 3D line - Double More...
class  CL_LineMath
 Math operations on 2D lines. More...
class  CL_LineRay3x< Type >
 3D line ray More...
class  CL_LineRay2x< Type >
 2D line ray More...
class  CL_LineRay2
 2D line ray - Integer More...
class  CL_LineRay2f
 2D line ray - Float More...
class  CL_LineRay2d
 2D line ray - Double More...
class  CL_LineRay3
 3D line ray - Integer More...
class  CL_LineRay3f
 3D line ray - Float More...
class  CL_LineRay3d
 3D line ray - Double More...
class  CL_LineSegment3x< Type >
 3D line segment More...
class  CL_LineSegment2x< Type >
 2D line segment More...
class  CL_LineSegment2
 2D line segment - Integer More...
class  CL_LineSegment2f
 2D line segment - Float More...
class  CL_LineSegment2d
 2D line segment - Double More...
class  CL_LineSegment3
 3D line segment - Integer More...
class  CL_LineSegment3f
 3D line segment - Float More...
class  CL_LineSegment3d
 3D line segment - Double More...
class  CL_Mat2< Type >
 2D matrix More...
class  CL_Mat3< Type >
 3D matrix More...
class  CL_Mat4< Type >
 4D matrix More...
class  CL_OutlineTriangulator
 Polygon Tesselator. More...
class  CL_Pointx< Type >
 2D (x,y) point structure. More...
class  CL_Point
 2D (x,y) point structure - Integer More...
class  CL_Pointf
 2D (x,y) point structure - Float More...
class  CL_Pointd
 2D (x,y) point structure - Double More...
class  CL_PointSetMath
 Math operations related to point sets. More...
class  CL_Quadx< Type >
 2D quad structure. More...
class  CL_Quad
 2D quad structure - Integer More...
class  CL_Quadf
 2D quad structure - Float More...
class  CL_Quadd
 2D quad structure - Double More...
class  CL_Rectx< Type >
 2D (left,top,right,bottom) rectangle structure. More...
class  CL_Rect
 2D (left,top,right,bottom) rectangle structure - Integer More...
class  CL_Rectf
 2D (left,top,right,bottom) rectangle structure - Float More...
class  CL_Rectd
 2D (left,top,right,bottom) rectangle structure - Double More...
class  CL_SHA1
 SHA-1 hash function class. More...
class  CL_Sizex< Type >
 2D (width,height) size structure. More...
class  CL_Size
 2D (width,height) size structure - Integer More...
class  CL_Sizef
 2D (width,height) size structure - Float More...
class  CL_Sized
 2D (width,height) size structure - Double More...
class  CL_Trianglex< Type >
 Triangles. More...
class  CL_Triangle
 Triangles - Integer. More...
class  CL_Trianglef
 Triangles - Float. More...
class  CL_Triangled
 Triangles - Double. More...
class  CL_Vec1< Type >
 1D vector More...
class  CL_Vec2< Type >
 2D vector More...
class  CL_Vec3< Type >
 3D vector More...
class  CL_Vec4< Type >
 4D vector More...

Construction

 CL_Rectx::CL_Rectx (const CL_Rectx< int > &rect)
 Constructs an rectangle.
 CL_Rectx::CL_Rectx (const CL_Rectx< float > &rect)
 Constructs an rectangle.
 CL_Rectx::CL_Rectx (const CL_Rectx< double > &rect)
 Constructs an rectangle.

Defines

#define CL_PI   3.141592653589793238462643383279f

Typedefs

typedef CL_Mat2< int > CL_Mat2i
typedef CL_Mat2< float > CL_Mat2f
typedef CL_Mat2< float > CL_Mat2d
typedef CL_Mat3< int > CL_Mat3i
typedef CL_Mat3< float > CL_Mat3f
typedef CL_Mat3< double > CL_Mat3d
typedef CL_Mat4< int > CL_Mat4i
typedef CL_Mat4< float > CL_Mat4f
typedef CL_Mat4< double > CL_Mat4d
typedef CL_Vec1< unsigned
char > 
CL_Vec1ub
typedef CL_Vec1< char > CL_Vec1b
typedef CL_Vec1< unsigned
short > 
CL_Vec1us
typedef CL_Vec1< short > CL_Vec1s
typedef CL_Vec1< unsigned
int > 
CL_Vec1ui
typedef CL_Vec1< int > CL_Vec1i
typedef CL_Vec1< float > CL_Vec1f
typedef CL_Vec1< double > CL_Vec1d
typedef CL_Vec2< unsigned
char > 
CL_Vec2ub
typedef CL_Vec2< char > CL_Vec2b
typedef CL_Vec2< unsigned
short > 
CL_Vec2us
typedef CL_Vec2< short > CL_Vec2s
typedef CL_Vec2< unsigned
int > 
CL_Vec2ui
typedef CL_Vec2< int > CL_Vec2i
typedef CL_Vec2< float > CL_Vec2f
typedef CL_Vec2< double > CL_Vec2d
typedef CL_Vec3< unsigned
char > 
CL_Vec3ub
typedef CL_Vec3< char > CL_Vec3b
typedef CL_Vec3< unsigned
short > 
CL_Vec3us
typedef CL_Vec3< short > CL_Vec3s
typedef CL_Vec3< unsigned
int > 
CL_Vec3ui
typedef CL_Vec3< int > CL_Vec3i
typedef CL_Vec3< float > CL_Vec3f
typedef CL_Vec3< double > CL_Vec3d
typedef CL_Vec4< unsigned
char > 
CL_Vec4ub
typedef CL_Vec4< char > CL_Vec4b
typedef CL_Vec4< unsigned
short > 
CL_Vec4us
typedef CL_Vec4< short > CL_Vec4s
typedef CL_Vec4< unsigned
int > 
CL_Vec4ui
typedef CL_Vec4< int > CL_Vec4i
typedef CL_Vec4< float > CL_Vec4f
typedef CL_Vec4< double > CL_Vec4d

Enumerations

enum  CL_AngleUnit { cl_degrees, cl_radians }
 Angle Unit. More...
enum  CL_PolygonOrientation { cl_clockwise, cl_counter_clockwise }
 Polygon orientations. More...
enum  CL_Origin {
  origin_top_left, origin_top_center, origin_top_right, origin_center_left,
  origin_center, origin_center_right, origin_bottom_left, origin_bottom_center,
  origin_bottom_right
}
 Alignment origins. More...

Functions

template<typename T>
cl_pow2 (T value)
template<typename T>
cl_min (T a, T b)
template<typename T>
cl_max (T a, T b)
CL_Rect CL_RectPS (int x, int y, int width, int height)
CL_Rectf CL_RectfPS (float x, float y, float width, float height)
CL_Rectd CL_RectdPS (double x, double y, double width, double height)
template<typename Type>
CL_Vec2< Type > operator * (const CL_Vec2< Type > &v, const CL_Mat2< Type > &matrix)
template<typename Type>
CL_Vec2< Type > operator * (const CL_Mat2< Type > &matrix, const CL_Vec2< Type > &v)
template<typename Type>
CL_Vec3< Type > operator * (const CL_Vec3< Type > &v, const CL_Mat3< Type > &matrix)
template<typename Type>
CL_Vec3< Type > operator * (const CL_Mat3< Type > &matrix, const CL_Vec3< Type > &v)
template<typename Type>
CL_Vec4< Type > operator * (const CL_Vec4< Type > &v, const CL_Mat4< Type > &matrix)
template<typename Type>
CL_Vec4< Type > operator * (const CL_Mat4< Type > &matrix, const CL_Vec4< Type > &v)
 CL_Circle::CL_Circle (const CL_Circlef &other)
 CL_Rectx< int >::CL_Rectx (const CL_Rectx< float > &rect)
 Constructs an rectangle.
 CL_Rectx< int >::CL_Rectx (const CL_Rectx< double > &rect)
 Constructs an rectangle.
 CL_Vec2< int >::CL_Vec2 (const CL_Vec2< float > &copy)
 CL_Vec2< int >::CL_Vec2 (const CL_Vec2< double > &copy)
 CL_Vec2< int >::CL_Vec2 (const CL_Vec2< int > &copy)
 CL_Vec2< float >::CL_Vec2 (const CL_Vec2< float > &copy)
 CL_Vec2< float >::CL_Vec2 (const CL_Vec2< double > &copy)
 CL_Vec2< float >::CL_Vec2 (const CL_Vec2< int > &copy)
 CL_Vec2< double >::CL_Vec2 (const CL_Vec2< float > &copy)
 CL_Vec2< double >::CL_Vec2 (const CL_Vec2< double > &copy)
 CL_Vec2< double >::CL_Vec2 (const CL_Vec2< int > &copy)
 CL_Vec3< int >::CL_Vec3 (const CL_Vec3< float > &copy)
 CL_Vec3< int >::CL_Vec3 (const CL_Vec3< double > &copy)
 CL_Vec3< int >::CL_Vec3 (const CL_Vec3< int > &copy)
 CL_Vec3< float >::CL_Vec3 (const CL_Vec3< float > &copy)
 CL_Vec3< float >::CL_Vec3 (const CL_Vec3< double > &copy)
 CL_Vec3< float >::CL_Vec3 (const CL_Vec3< int > &copy)
 CL_Vec3< double >::CL_Vec3 (const CL_Vec3< float > &copy)
 CL_Vec3< double >::CL_Vec3 (const CL_Vec3< double > &copy)
 CL_Vec3< double >::CL_Vec3 (const CL_Vec3< int > &copy)

Define Documentation

#define CL_PI   3.141592653589793238462643383279f
 


Typedef Documentation

typedef CL_Mat2<float> CL_Mat2d
 

typedef CL_Mat2<float> CL_Mat2f
 

typedef CL_Mat2<int> CL_Mat2i
 

typedef CL_Mat3<double> CL_Mat3d
 

typedef CL_Mat3<float> CL_Mat3f
 

typedef CL_Mat3<int> CL_Mat3i
 

typedef CL_Mat4<double> CL_Mat4d
 

typedef CL_Mat4<float> CL_Mat4f
 

typedef CL_Mat4<int> CL_Mat4i
 

typedef CL_Vec1<char> CL_Vec1b
 

typedef CL_Vec1<double> CL_Vec1d
 

typedef CL_Vec1<float> CL_Vec1f
 

typedef CL_Vec1<int> CL_Vec1i
 

typedef CL_Vec1<short> CL_Vec1s
 

typedef CL_Vec1<unsigned char> CL_Vec1ub
 

typedef CL_Vec1<unsigned int> CL_Vec1ui
 

typedef CL_Vec1<unsigned short> CL_Vec1us
 

typedef CL_Vec2<char> CL_Vec2b
 

typedef CL_Vec2<double> CL_Vec2d
 

typedef CL_Vec2<float> CL_Vec2f
 

typedef CL_Vec2<int> CL_Vec2i
 

typedef CL_Vec2<short> CL_Vec2s
 

typedef CL_Vec2<unsigned char> CL_Vec2ub
 

typedef CL_Vec2<unsigned int> CL_Vec2ui
 

typedef CL_Vec2<unsigned short> CL_Vec2us
 

typedef CL_Vec3<char> CL_Vec3b
 

typedef CL_Vec3<double> CL_Vec3d
 

typedef CL_Vec3<float> CL_Vec3f
 

typedef CL_Vec3<int> CL_Vec3i
 

typedef CL_Vec3<short> CL_Vec3s
 

typedef CL_Vec3<unsigned char> CL_Vec3ub
 

typedef CL_Vec3<unsigned int> CL_Vec3ui
 

typedef CL_Vec3<unsigned short> CL_Vec3us
 

typedef CL_Vec4<char> CL_Vec4b
 

typedef CL_Vec4<double> CL_Vec4d
 

typedef CL_Vec4<float> CL_Vec4f
 

typedef CL_Vec4<int> CL_Vec4i
 

typedef CL_Vec4<short> CL_Vec4s
 

typedef CL_Vec4<unsigned char> CL_Vec4ub
 

typedef CL_Vec4<unsigned int> CL_Vec4ui
 

typedef CL_Vec4<unsigned short> CL_Vec4us
 


Enumeration Type Documentation

enum CL_AngleUnit
 

Angle Unit.

Enumerator:
cl_degrees 
cl_radians 

enum CL_Origin
 

Alignment origins.

Enumerator:
origin_top_left 
origin_top_center 
origin_top_right 
origin_center_left 
origin_center 
origin_center_right 
origin_bottom_left 
origin_bottom_center 
origin_bottom_right 

enum CL_PolygonOrientation
 

Polygon orientations.

Enumerator:
cl_clockwise 
cl_counter_clockwise 


Function Documentation

CL_Circle::CL_Circle const CL_Circlef other  )  [inline, explicit, inherited]
 

template<typename T>
T cl_max a,
b
 

template<typename T>
T cl_min a,
b
 

template<typename T>
T cl_pow2 value  )  [inline]
 

CL_Rectd CL_RectdPS double  x,
double  y,
double  width,
double  height
[inline]
 

CL_Rectf CL_RectfPS float  x,
float  y,
float  width,
float  height
[inline]
 

CL_Rect CL_RectPS int  x,
int  y,
int  width,
int  height
[inline]
 

template<typename Type>
CL_Rectx< Type >::CL_Rectx const CL_Rectx< double > &  rect  )  [inline, inherited]
 

Constructs an rectangle.

Parameters:
rect Initial rectangle position and size.

template<typename Type>
CL_Rectx< Type >::CL_Rectx const CL_Rectx< float > &  rect  )  [inline, inherited]
 

Constructs an rectangle.

Parameters:
rect Initial rectangle position and size.

template<typename Type>
CL_Rectx< Type >::CL_Rectx const CL_Rectx< int > &  rect  )  [inline, inherited]
 

Constructs an rectangle.

Parameters:
rect Initial rectangle position and size.

CL_Rectx< int >::CL_Rectx const CL_Rectx< double > &  rect  )  [inline, inherited]
 

Constructs an rectangle.

Parameters:
rect Initial rectangle position and size.

CL_Rectx< int >::CL_Rectx const CL_Rectx< float > &  rect  )  [inline, inherited]
 

Constructs an rectangle.

Parameters:
rect Initial rectangle position and size.

CL_Vec2< double >::CL_Vec2 const CL_Vec2< int > &  copy  )  [inline, inherited]
 

CL_Vec2< double >::CL_Vec2 const CL_Vec2< double > &  copy  )  [inline, inherited]
 

CL_Vec2< double >::CL_Vec2 const CL_Vec2< float > &  copy  )  [inline, inherited]
 

CL_Vec2< float >::CL_Vec2 const CL_Vec2< int > &  copy  )  [inline, inherited]
 

CL_Vec2< float >::CL_Vec2 const CL_Vec2< double > &  copy  )  [inline, inherited]
 

CL_Vec2< float >::CL_Vec2 const CL_Vec2< float > &  copy  )  [inline, inherited]
 

CL_Vec2< int >::CL_Vec2 const CL_Vec2< int > &  copy  )  [inline, inherited]
 

CL_Vec2< int >::CL_Vec2 const CL_Vec2< double > &  copy  )  [inline, inherited]
 

CL_Vec2< int >::CL_Vec2 const CL_Vec2< float > &  copy  )  [inline, inherited]
 

CL_Vec3< double >::CL_Vec3 const CL_Vec3< int > &  copy  )  [inline, inherited]
 

CL_Vec3< double >::CL_Vec3 const CL_Vec3< double > &  copy  )  [inline, inherited]
 

CL_Vec3< double >::CL_Vec3 const CL_Vec3< float > &  copy  )  [inline, inherited]
 

CL_Vec3< float >::CL_Vec3 const CL_Vec3< int > &  copy  )  [inline, inherited]
 

CL_Vec3< float >::CL_Vec3 const CL_Vec3< double > &  copy  )  [inline, inherited]
 

CL_Vec3< float >::CL_Vec3 const CL_Vec3< float > &  copy  )  [inline, inherited]
 

CL_Vec3< int >::CL_Vec3 const CL_Vec3< int > &  copy  )  [inline, inherited]
 

CL_Vec3< int >::CL_Vec3 const CL_Vec3< double > &  copy  )  [inline, inherited]
 

CL_Vec3< int >::CL_Vec3 const CL_Vec3< float > &  copy  )  [inline, inherited]
 

template<typename Type>
CL_Vec4<Type> operator * const CL_Mat4< Type > &  matrix,
const CL_Vec4< Type > &  v
 

template<typename Type>
CL_Vec4<Type> operator * const CL_Vec4< Type > &  v,
const CL_Mat4< Type > &  matrix
 

template<typename Type>
CL_Vec3<Type> operator * const CL_Mat3< Type > &  matrix,
const CL_Vec3< Type > &  v
 

template<typename Type>
CL_Vec3<Type> operator * const CL_Vec3< Type > &  v,
const CL_Mat3< Type > &  matrix
 

template<typename Type>
CL_Vec2<Type> operator * const CL_Mat2< Type > &  matrix,
const CL_Vec2< Type > &  v
 

template<typename Type>
CL_Vec2<Type> operator * const CL_Vec2< Type > &  v,
const CL_Mat2< Type > &  matrix
 


Generated on Thu Dec 3 02:39:43 2009 for ClanLib by  doxygen 1.4.6