Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

MLIB

Collaboration diagram for MLIB:

The Jot Math Library. More...


Files

file  global.C
 Contains values of epsilon constants from global.H and the implementation of the setEpsAbsMath function.
file  global.H
 The basic include file for mlib; defines constants and inline utility functions.
file  line.H
 Contains the definition of the Line class.
file  mat4.C
 Contains the definitions of member functions for the Mat4 class.
file  mat4.H
 Contains the declaration of the Mat4 class, a 4x4 matrix class.
file  nearest_pt.H
 Contains the nearest_pt_to_line_seg function.
file  plane.C
 Implementation of non-inline methods of class Plane.
file  plane.H
 Contains the definition of the Plane class. A 3D oriented plane class.
file  point2.C
 Contains the implementation of non-inline functions of the Point2 class and the Point2list class.
file  point2.H
 Contains the declarations of the Point2 and Point2list classes.
file  point2i.H
 Contains the definitions of the Point2i and Vec2i classes.
file  point3.C
 Contains the implementation of non-inline functions of the Point3 class and the Point3list class.
file  point3.H
 Contains the declarations of the Point3 and Point3list classes.
file  point3i.H
 Contains the definition of the Point3i class.
file  pointlist.C
 Contains the implementation of non-inline functions of the Pointlist class.
file  pointlist.H
 Contains the declaration of the Pointlist class.
file  points.H
 Definitions of geometry classes for various coordinate systems.

Remarks:
This file should probably be renamed to something like coordinate_systems.H.

file  quat.C
 Contains the implementation of the non-inline functions of the Quat class.

This code comes in part from Ken Shoemake's article on quaternions (available at ftp://ftp.cis.upenn.edu/pub/graphics/shoemake/quatut.ps.Z).

file  quat.H
 Contains the definition of the Quat class. A quaternion class.
file  random.C
 Contains the implementation of the non-inline functions of the RandomGen class.
file  random.H
 Contains the definition of the RandomGen class.
file  statistics.H
 Statistical functions.
file  tab_fn.H
 Contains the definition of the TabulatedFunction class.
file  vec2.H
 Contains the definition of the Vec2 class, a 2D vector class.
file  vec3.H
 Contains the defintion of the Vec3 class, a 3D vector class.
file  vec4.H
 Contains the declaration of the Vec4 class, a 4D vector class.

Modules

 "World" Coordinate System
 3D coordinates used for "world space" and "object space".
 "XY" Coordinate System
 2D screen coordinates running from [-1,-1] to [1,1] within window.
 "NDC" Coordinate System
 Normalized Device Coordinates. 2D screen coordinates running from -1 to 1 in shorter window dimension, and from -A to A in the longer window dimension, where A is the aspect ratio.
 "NDCZ" Coordinate System
 Same as NDC but with a 3rd coordinate z = depth.
 "PIXEL" Coordinate System
 2D floating point screen coordinates representing pixel locations. E.g. the lower left corner of the screen is (0,0), and the upper right is (w,h) (i.e. window width and height).
 "UV" Coordinate System
 2D coordinates that can be used for texture mapping, e.g.

Classes

class  mlib::Line< L, P, V >
 Templated class defining an oriented line and/or a line segment.

The Line class keeps a point and a vector. For the Line object to be valid, the vector must not be null. More...

class  mlib::Plane< PLANE, P, V, L >
 Declaration of a class plane, keeping a definition of an oriented plane in 3D.

The plane is defined by its (unit) normal vector and parameter 'd', which is the signed distance of the plane from the origin of the coordinate system. More...

class  mlib::Point2< P, V >
 A 2D point class with double precision floating point elements.

This class is designed to be base class of more specific types of 2D points. Specifically, 2D points in different coordinate systems. The template argument P is the type of the derived point class. This allows the Point2 to return new points of the same type as the derived class. The template argument V is the type of the corresponding 2D vector class for the coordinate system of the derived 2D point class. More...

class  mlib::Vec2i
 A 2D vector class with integer components. More...
class  mlib::Point2i
 A 2D point class with integer components. More...
class  mlib::Point3< P, V >
 A 3D point class with double precision floating point elements.

This class is designed to be base class of more specific types of 3D points. Specifically, 3D points in different coordinate systems. The template argument P is the type of the derived point class. This allows the Point3 to return new points of the same type as the derived class. The template argument V is the type of the corresponding 3D vector class for the coordinate system of the derived 3D point class. More...

class  mlib::Point3list< L, M, P, V, S >
 A class containing a list of Point3's. Contains functions to aid in using this list of points as a piecewise continuous curve in some 3D coordinate system.

Like the Point3 class, Point3list is designed to be the base class for more specific types of lists of 3D points. Specifically, lists of 3D points in different coordinate systems. The template argument L is the type of the derived point list class. This allows the Point3list to return new lists of the same type as the derived class. The template arguments M, P, V, and S are the types of the corresponding matrix, point, vector and line classes (respectively) for the coordinate system of the derived 3D point list class. More...

class  mlib::Point3i
 A 3D point class with integer components. More...
class  mlib::Pointlist< L, P, V, S >
 A class containing a list of points. Contains functions to aid in using this list of points as a piecewise continuous curve in some coordinate system.

Pointlist is designed to be the base class for more specific types of lists of points. Specifically, lists of points with different numbers of dimensions. The template argument L is the type of the derived point list class. This allows the Pointlist to return new lists of the same type as the derived class. The template arguments P, V, and S are the types of the corresponding point, vector and line classes (respectively) for the derived class. More...

class  mlib::Quat< QUAT, M, P, V, L >
 A quaternion class.

The Quat class is designed to be the base class for more specific types of quaternions. Specifically, quaternions in different 3D coordinates systems. The QUAT template argument is the type of the derived quaternion class. This allows the Quat class to return new quaternions of the same type as the derived quaternion class. The M, P, V, and L template arguments are the types of the corresponding matrix, point, vector, and line (respectively) for the coordinate system of the derived quaternion class. More...

class  mlib::RandomGen
 Random number generator class.

Private to objects (a la meshes) who need their own source of random variables. More...

class  mlib::TabulatedFunction
 Tabulates values of a given function over an interval [a,b] using a specified resolution.

Approximations of the function at values in [a,b) are returned as interpolations of the tabulated values. at values outside that range the function itself is used to compute the value. More...

class  mlib::Vec2< V >
 A 2D vector class with double precision floating point elements.

This class is designed to be base class of more specific types of 2D vectors. Specifically, 2D vectors in different coordinate systems. The template argument V is the type of the derived vector class. This allows the Vec2 to return new vectors of the same type as the derived class. More...

class  mlib::Vec3< V >
 A 3D vector class with double precision floating point elements.

This class is designed to be base class of more specific types of 3D vectors. Specifically, 3D vectors in different coordinate systems. The template argument V is the type of the derived vector class. This allows the Vec3 to return new vectors of the same type as the derived class. More...

class  mlib::Vec4
 A 4D vector class with double precision floating point elements. More...

Detailed Description

The Jot Math Library.


Generated on Mon Sep 18 11:48:06 2006 for jot by  doxygen 1.4.4