|  | 
| class | clan::Angle | 
|  | Angle class.  More... 
 | 
|  | 
| class | clan::AxisAlignedBoundingBox | 
|  | 
| class | clan::Base64Decoder | 
|  | Base64 decoder class.  More... 
 | 
|  | 
| class | clan::Base64Encoder | 
|  | Base64 encoder class.  More... 
 | 
|  | 
| class | clan::BezierCurve | 
|  | Bezier curve generator.  More... 
 | 
|  | 
| class | clan::BigInt | 
|  | Big Integer class.  More... 
 | 
|  | 
| class | clan::Circle | 
|  | Circle - Integer.  More... 
 | 
|  | 
| class | clan::Circled | 
|  | Circle - Double.  More... 
 | 
|  | 
| class | clan::Circlef | 
|  | Circle - Float.  More... 
 | 
|  | 
| class | clan::Circlex< Type > | 
|  | Circle.  More... 
 | 
|  | 
| class | clan::DelauneyTriangulator | 
|  | Delauney triangulator.  More... 
 | 
|  | 
| class | clan::DelauneyTriangulator_Triangle | 
|  | Triangle generated from a delauney triangulation.  More... 
 | 
|  | 
| class | clan::DelauneyTriangulator_Vertex | 
|  | Vertex in the delauney triangulation.  More... 
 | 
|  | 
| class | clan::EarClipResult | 
|  | Ear clipping triangulation result structure.  More... 
 | 
|  | 
| class | clan::EarClipTriangulator | 
|  | Ear-clipping triangulator.  More... 
 | 
|  | 
| class | clan::EarClipTriangulator_Triangle | 
|  | EarClipTriangulator_Triangle.  More... 
 | 
|  | 
| class | clan::HalfFloat | 
|  | 
| class | clan::IntersectionTest | 
|  | 
| class | clan::Line2 | 
|  | 2D line - Integer  More... 
 | 
|  | 
| class | clan::Line2d | 
|  | 2D line - Double  More... 
 | 
|  | 
| class | clan::Line2f | 
|  | 2D line - Float  More... 
 | 
|  | 
| class | clan::Line2x< Type > | 
|  | 2D line  More... 
 | 
|  | 
| class | clan::Line3 | 
|  | 3D line - Integer  More... 
 | 
|  | 
| class | clan::Line3d | 
|  | 3D line - Double  More... 
 | 
|  | 
| class | clan::Line3f | 
|  | 3D line - Float  More... 
 | 
|  | 
| class | clan::Line3x< Type > | 
|  | 3D line  More... 
 | 
|  | 
| class | clan::LineMath | 
|  | Math operations on 2D lines.  More... 
 | 
|  | 
| class | clan::LineRay2 | 
|  | 2D line ray - Integer  More... 
 | 
|  | 
| class | clan::LineRay2d | 
|  | 2D line ray - Double  More... 
 | 
|  | 
| class | clan::LineRay2f | 
|  | 2D line ray - Float  More... 
 | 
|  | 
| class | clan::LineRay2x< Type > | 
|  | 2D line ray  More... 
 | 
|  | 
| class | clan::LineRay3 | 
|  | 3D line ray - Integer  More... 
 | 
|  | 
| class | clan::LineRay3d | 
|  | 3D line ray - Double  More... 
 | 
|  | 
| class | clan::LineRay3f | 
|  | 3D line ray - Float  More... 
 | 
|  | 
| class | clan::LineRay3x< Type > | 
|  | 3D line ray  More... 
 | 
|  | 
| class | clan::LineSegment2 | 
|  | 2D line segment - Integer  More... 
 | 
|  | 
| class | clan::LineSegment2d | 
|  | 2D line segment - Double  More... 
 | 
|  | 
| class | clan::LineSegment2f | 
|  | 2D line segment - Float  More... 
 | 
|  | 
| class | clan::LineSegment2x< Type > | 
|  | 2D line segment  More... 
 | 
|  | 
| class | clan::LineSegment3 | 
|  | 3D line segment - Integer  More... 
 | 
|  | 
| class | clan::LineSegment3d | 
|  | 3D line segment - Double  More... 
 | 
|  | 
| class | clan::LineSegment3f | 
|  | 3D line segment - Float  More... 
 | 
|  | 
| class | clan::LineSegment3x< Type > | 
|  | 3D line segment  More... 
 | 
|  | 
| class | clan::Mat2< Type > | 
|  | 2D matrix  More... 
 | 
|  | 
| class | clan::Mat3< Type > | 
|  | 3D matrix  More... 
 | 
|  | 
| class | clan::Mat4< Type > | 
|  | 4D matrix  More... 
 | 
|  | 
| class | clan::OrientedBoundingBox | 
|  | 
| class | clan::OutlineTriangulator | 
|  | Polygon Tesselator.  More... 
 | 
|  | 
| class | clan::Point | 
|  | 2D (x,y) point structure - Integer  More... 
 | 
|  | 
| class | clan::Pointd | 
|  | 2D (x,y) point structure - Double  More... 
 | 
|  | 
| class | clan::Pointf | 
|  | 2D (x,y) point structure - Float  More... 
 | 
|  | 
| class | clan::PointSetMath | 
|  | Math operations related to point sets.  More... 
 | 
|  | 
| class | clan::Pointx< Type > | 
|  | 2D (x,y) point structure.  More... 
 | 
|  | 
| class | clan::Quad | 
|  | 2D quad structure - Integer  More... 
 | 
|  | 
| class | clan::Quadd | 
|  | 2D quad structure - Double  More... 
 | 
|  | 
| class | clan::Quadf | 
|  | 2D quad structure - Float  More... 
 | 
|  | 
| class | clan::Quadx< Type > | 
|  | 2D quad structure.  More... 
 | 
|  | 
| class | clan::Quaterniond | 
|  | Quaternion - Double.  More... 
 | 
|  | 
| class | clan::Quaternionf | 
|  | Quaternion - Float.  More... 
 | 
|  | 
| class | clan::Quaternionx< Type > | 
|  | Quaternion.  More... 
 | 
|  | 
| class | clan::Rect | 
|  | 2D (left,top,right,bottom) rectangle structure - Integer  More... 
 | 
|  | 
| class | clan::Rectd | 
|  | 2D (left,top,right,bottom) rectangle structure - Double  More... 
 | 
|  | 
| class | clan::Rectf | 
|  | 2D (left,top,right,bottom) rectangle structure - Float  More... 
 | 
|  | 
| class | clan::RectPacker | 
|  | Generic rect packer class. Implements an algorithm to pack rects into groups efficiently.  More... 
 | 
|  | 
| class | clan::Rectx< Type > | 
|  | 2D (left,top,right,bottom) rectangle structure.  More... 
 | 
|  | 
| class | clan::Size | 
|  | 2D (width,height) size structure - Integer  More... 
 | 
|  | 
| class | clan::Sized | 
|  | 2D (width,height) size structure - Double  More... 
 | 
|  | 
| class | clan::Sizef | 
|  | 2D (width,height) size structure - Float  More... 
 | 
|  | 
| class | clan::Sizex< Type > | 
|  | 2D (width,height) size structure.  More... 
 | 
|  | 
| class | clan::Triangle | 
|  | Triangles - Integer.  More... 
 | 
|  | 
| class | clan::Triangled | 
|  | Triangles - Double.  More... 
 | 
|  | 
| class | clan::Trianglef | 
|  | Triangles - Float.  More... 
 | 
|  | 
| class | clan::Trianglex< Type > | 
|  | Triangles.  More... 
 | 
|  | 
| class | clan::Vec2< Type > | 
|  | 2D vector  More... 
 | 
|  | 
| class | clan::Vec2hf | 
|  | 2D half-float vector  More... 
 | 
|  | 
| class | clan::Vec3< Type > | 
|  | 3D vector  More... 
 | 
|  | 
| class | clan::Vec3hf | 
|  | 3D half-float vector  More... 
 | 
|  | 
| class | clan::Vec4< Type > | 
|  | 4D vector  More... 
 | 
|  | 
| class | clan::Vec4hf | 
|  | 4D half-float vector  More... 
 | 
|  | 
|  | 
|  | clan::Rectx< Type >::Rectx (const Rectx< double > &rect) | 
|  | Constructs an rectangle. 
 | 
|  | 
|  | clan::Rectx< Type >::Rectx (const Rectx< float > &rect) | 
|  | Constructs an rectangle. 
 | 
|  | 
|  | clan::Rectx< Type >::Rectx (const Rectx< int > &rect) | 
|  | Constructs an rectangle. 
 | 
|  | 
|  | clan::Vec2hf::Vec2hf (const Vec3hf ©) | 
|  | 
|  | clan::Vec2hf::Vec2hf (const Vec4hf ©) | 
|  | 
|  | clan::Vec3hf::Vec3hf (const Vec4hf ©) | 
|  | 
| static Mat3< Type > | clan::Mat3< Type >::add (const Mat3< Type > &matrix_1, const Mat3< Type > &matrix_2) | 
|  | Add 2 matrices. 
 | 
|  | 
| static Mat4< Type > | clan::Mat4< Type >::add (const Mat4< Type > &matrix_1, const Mat4< Type > &matrix_2) | 
|  | Add 2 matrices. 
 | 
|  | 
| static Mat3< Type > | clan::Mat3< Type >::adjoint (const Mat3< Type > &matrix) | 
|  | Calculate the adjoint (or known as Adjugate or Conjugate Transpose) of a matrix. 
 | 
|  | 
| static Mat4< Type > | clan::Mat4< Type >::adjoint (const Mat4< Type > &matrix) | 
|  | Calculate the adjoint (or known as Adjugate or Conjugate Transpose) of a matrix. 
 | 
|  | 
| template<typename A , typename B , typename C > | 
| C | clan::clamp (A val, B minval, C maxval) | 
|  | 
| static Mat3< Type > | clan::Mat3< Type >::identity () | 
|  | 
| static Mat4< Type > | clan::Mat4< Type >::identity () | 
|  | Create the identity matrix. 
 | 
|  | 
| static Mat3< Type > | clan::Mat3< Type >::inverse (const Mat3< Type > &matrix) | 
|  | Calculate the matrix inverse of a matrix. 
 | 
|  | 
| static Mat4< Type > | clan::Mat4< Type >::inverse (const Mat4< Type > &matrix) | 
|  | Calculate the matrix inverse of a matrix. 
 | 
|  | 
| Type | clan::Vec2< Type >::length () const | 
|  | Returns the length (magnitude) of this vector. 
 | 
|  | 
| Type | clan::Vec3< Type >::length () const | 
|  | Returns the length (magnitude) of this vector. 
 | 
|  | 
| Type | clan::Vec4< Type >::length3 () const | 
|  | Returns the length (magnitude) of this vector (not taking into account the w ordinate). 
 | 
|  | 
| Type | clan::Vec4< Type >::length4 () const | 
|  | Returns the length (magnitude) of this vector (taking into account the w ordinate). 
 | 
|  | 
| template<typename T , typename ... Args> | 
| std::unique_ptr< T > | clan::make_unique (Args &&...args) | 
|  | 
| template<typename A , typename B > | 
| A | clan::max (A a, B b) | 
|  | 
| template<typename Type > | 
| Vec2< Type > | clan::max (Vec2< Type > a, Vec2< Type > b) | 
|  | 
| template<typename Type > | 
| Vec3< Type > | clan::max (Vec3< Type > a, Vec3< Type > b) | 
|  | 
| template<typename Type > | 
| Vec4< Type > | clan::max (Vec4< Type > a, Vec4< Type > b) | 
|  | 
| template<typename A , typename B > | 
| A | clan::min (A a, B b) | 
|  | 
| template<typename Type > | 
| Vec2< Type > | clan::min (Vec2< Type > a, Vec2< Type > b) | 
|  | 
| template<typename Type > | 
| Vec3< Type > | clan::min (Vec3< Type > a, Vec3< Type > b) | 
|  | 
| template<typename Type > | 
| Vec4< Type > | clan::min (Vec4< Type > a, Vec4< Type > b) | 
|  | 
| template<typename A , typename B , typename C > | 
| A | clan::mix (A a, B b, C mix) | 
|  | 
| static Mat3< Type > | clan::Mat3< Type >::multiply (const Mat3< Type > &matrix_1, const Mat3< Type > &matrix_2) | 
|  | Multiply 2 matrices. 
 | 
|  | 
| static Mat4< Type > | clan::Mat4< Type >::multiply (const Mat4< Type > &matrix_1, const Mat4< Type > &matrix_2) | 
|  | Multiply 2 matrices. 
 | 
|  | 
| Vec2< Type > & | clan::Vec2< Type >::normalize () | 
|  | Normalizes this vector. 
 | 
|  | 
| static Vec2< Type > | clan::Vec2< Type >::normalize (const Vec2< Type > &vector) | 
|  | Normalizes a vector. 
 | 
|  | 
| Vec3< Type > & | clan::Vec3< Type >::normalize () | 
|  | Normalizes this vector. 
 | 
|  | 
| static Vec3< Type > | clan::Vec3< Type >::normalize (const Vec3< Type > &vector) | 
|  | Normalizes a vector. 
 | 
|  | 
| static Mat3< Type > | clan::Mat3< Type >::null () | 
|  | 
| static Mat4< Type > | clan::Mat4< Type >::null () | 
|  | Create a zero matrix. 
 | 
|  | 
| template<typename Type > | 
| Vec2< Type > | clan::operator* (const Mat2< Type > &matrix, const Vec2< Type > &v) | 
|  | 
| template<typename Type > | 
| Vec3< Type > | clan::operator* (const Mat3< Type > &matrix, const Vec3< Type > &v) | 
|  | 
| template<typename Type > | 
| Vec4< Type > | clan::operator* (const Mat4< Type > &matrix, const Vec4< Type > &v) | 
|  | 
| template<typename Type > | 
| Vec2< Type > | clan::operator* (const Vec2< Type > &v, const Mat2< Type > &matrix) | 
|  | 
| template<typename Type > | 
| Vec2< Type > | clan::operator* (const Vec2< Type > &v, Type s) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec2< Type > | clan::operator* (const Vec2< Type > &v1, const Vec2< Type > &v2) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec3< Type > | clan::operator* (const Vec3< Type > &v, const Mat3< Type > &matrix) | 
|  | 
| template<typename Type > | 
| Vec3< Type > | clan::operator* (const Vec3< Type > &v, Type s) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec3< Type > | clan::operator* (const Vec3< Type > &v1, const Vec3< Type > &v2) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec4< Type > | clan::operator* (const Vec4< Type > &v, const Mat4< Type > &matrix) | 
|  | 
| template<typename Type > | 
| Vec4< Type > | clan::operator* (const Vec4< Type > &v, Type s) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec4< Type > | clan::operator* (const Vec4< Type > &v1, const Vec4< Type > &v2) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec2< Type > | clan::operator* (Type s, const Vec2< Type > &v) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec3< Type > | clan::operator* (Type s, const Vec3< Type > &v) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec4< Type > | clan::operator* (Type s, const Vec4< Type > &v) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec2< Type > | clan::operator+ (const Vec2< Type > &v, Type s) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec2< Type > | clan::operator+ (const Vec2< Type > &v1, const Vec2< Type > &v2) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec3< Type > | clan::operator+ (const Vec3< Type > &v, Type s) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec3< Type > | clan::operator+ (const Vec3< Type > &v1, const Vec3< Type > &v2) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec4< Type > | clan::operator+ (const Vec4< Type > &v, Type s) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec4< Type > | clan::operator+ (const Vec4< Type > &v1, const Vec4< Type > &v2) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec2< Type > | clan::operator+ (Type s, const Vec2< Type > &v) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec3< Type > | clan::operator+ (Type s, const Vec3< Type > &v) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec4< Type > | clan::operator+ (Type s, const Vec4< Type > &v) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec2< Type > | clan::operator- (const Vec2< Type > &v, Type s) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec2< Type > | clan::operator- (const Vec2< Type > &v1, const Vec2< Type > &v2) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec3< Type > | clan::operator- (const Vec3< Type > &v, Type s) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec3< Type > | clan::operator- (const Vec3< Type > &v1, const Vec3< Type > &v2) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec4< Type > | clan::operator- (const Vec4< Type > &v, Type s) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec4< Type > | clan::operator- (const Vec4< Type > &v1, const Vec4< Type > &v2) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec2< Type > | clan::operator- (Type s, const Vec2< Type > &v) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec3< Type > | clan::operator- (Type s, const Vec3< Type > &v) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec4< Type > | clan::operator- (Type s, const Vec4< Type > &v) | 
|  | 
 | 
|  | 
| template<typename Type > | 
| Vec2< Type > | clan::operator/ (const Vec2< Type > &v, Type s) | 
|  | / operator. 
 | 
|  | 
| template<typename Type > | 
| Vec2< Type > | clan::operator/ (const Vec2< Type > &v1, const Vec2< Type > &v2) | 
|  | / operator. 
 | 
|  | 
| template<typename Type > | 
| Vec3< Type > | clan::operator/ (const Vec3< Type > &v, Type s) | 
|  | / operator. 
 | 
|  | 
| template<typename Type > | 
| Vec3< Type > | clan::operator/ (const Vec3< Type > &v1, const Vec3< Type > &v2) | 
|  | / operator. 
 | 
|  | 
| template<typename Type > | 
| Vec4< Type > | clan::operator/ (const Vec4< Type > &v, Type s) | 
|  | / operator. 
 | 
|  | 
| template<typename Type > | 
| Vec4< Type > | clan::operator/ (const Vec4< Type > &v1, const Vec4< Type > &v2) | 
|  | / operator. 
 | 
|  | 
| template<typename Type > | 
| Vec2< Type > | clan::operator/ (Type s, const Vec2< Type > &v) | 
|  | / operator. 
 | 
|  | 
| template<typename Type > | 
| Vec3< Type > | clan::operator/ (Type s, const Vec3< Type > &v) | 
|  | / operator. 
 | 
|  | 
| template<typename Type > | 
| Vec4< Type > | clan::operator/ (Type s, const Vec4< Type > &v) | 
|  | / operator. 
 | 
|  | 
| template<typename T > | 
| T | clan::pow2 (T value) | 
|  | 
| Rectd | clan::RectdPS (double x, double y, double width, double height) | 
|  | 
| Rectf | clan::RectfPS (float x, float y, float width, float height) | 
|  | 
| Rect | clan::RectPS (int x, int y, int width, int height) | 
|  | 
| template<typename Type > | 
| Vec2< Type > | clan::sign (const Vec2< Type > &x) | 
|  | 
| template<typename Type > | 
| Vec3< Type > | clan::sign (const Vec3< Type > &x) | 
|  | 
| template<typename Type > | 
| Vec4< Type > | clan::sign (const Vec4< Type > &x) | 
|  | 
| double | clan::sign (double x) | 
|  | 
| float | clan::sign (float x) | 
|  | 
| int | clan::sign (int x) | 
|  | 
| template<typename A , typename B , typename C > | 
| C | clan::smoothstep (A edge0, B edge1, C x) | 
|  | 
| template<typename Type > | 
| Vec2< Type > | clan::step (const Vec2< Type > &edge, const Vec2< Type > &x) | 
|  | 
| template<typename Type > | 
| Vec3< Type > | clan::step (const Vec3< Type > &edge, const Vec3< Type > &x) | 
|  | 
| template<typename Type > | 
| Vec4< Type > | clan::step (const Vec4< Type > &edge, const Vec4< Type > &x) | 
|  | 
| double | clan::step (double edge, double x) | 
|  | 
| float | clan::step (float edge, float x) | 
|  | 
| int | clan::step (int edge, int x) | 
|  | 
| long long | clan::step (long long edge, long long x) | 
|  | 
| static Mat3< Type > | clan::Mat3< Type >::subtract (const Mat3< Type > &matrix_1, const Mat3< Type > &matrix_2) | 
|  | Subtract 2 matrices. 
 | 
|  | 
| static Mat4< Type > | clan::Mat4< Type >::subtract (const Mat4< Type > &matrix_1, const Mat4< Type > &matrix_2) | 
|  | Subtract 2 matrices. 
 | 
|  | 
| static Mat3< Type > | clan::Mat3< Type >::transpose (const Mat3< Type > &matrix) | 
|  | Calculate the transpose of a matrix. 
 | 
|  | 
| static Mat4< Type > | clan::Mat4< Type >::transpose (const Mat4< Type > &matrix) | 
|  | Calculate the transpose of a matrix. 
 | 
|  |