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

mlib Namespace Reference

Namespace containing all the related code for Jot Math Library (mlib). More...


Classes

class  Line
 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  Mat4
 A 4x4 matrix class with double precision floating point elements.

Mat4 is a 4x4 matrix class that can be used to perform general affine or projective transformations in 3D space. More...

class  Plane
 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  Point2
 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  Point2list
 A class containing a list of Point2's. Contains functions to aid in using this list of points as a piecewise continuous curve in some 2D coordinate system. More...
class  Vec2i
 A 2D vector class with integer components. More...
class  Point2i
 A 2D point class with integer components. More...
class  Point3
 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  Point3list
 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  Point3i
 A 3D point class with integer components. More...
class  Pointlist
 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  Wvec
 A vector in World coordinates. More...
class  Wpt
 A point in World coordinates. More...
class  Wline
 A line in World coordinates. More...
class  Wtransf
 A tranform (or matrix) in World coordinates. More...
class  Wplane
 A plane in World coordinates. More...
class  Wpt_list
 A list of points in World coordinates. More...
class  Wquat
 A quaternion in World coordinates. More...
class  XYvec
 A vector in XY coordinates. More...
class  XYpt
 A point in XY coordinates. More...
class  XYline
 A line in XY coordinates. More...
class  XYpt_list
 A list of points in XY coordinates. More...
class  NDCZvec
 A vector in NDCZ coordinates. More...
class  NDCZpt
 A point in NDCZ coordinates. More...
class  NDCZpt_list
 A list of points in NDCZ coordinates. More...
class  NDCZvec_list
 A list of vectors in NDCZ coordinates. More...
class  NDCvec
 A vector in NDC coordinates. More...
class  NDCpt
 A point in NDC coordinates. More...
class  NDCline
 A line in NDC coordinates. More...
class  NDCpt_list
 A list of points in NDC coordinates. More...
class  VEXEL
 A vector in pixel coordinates. More...
class  PIXEL
 A point in pixel coordinates. More...
class  PIXELline
 A line in pixel coordinates. More...
class  PIXEL_list
 A list of points in pixel coordinates. More...
class  UVvec
 A vector in UV coordinates. More...
class  UVpt
 A point in UV coordinates. More...
class  UVline
 A line in UV coordinates. More...
class  UVpt_list
 A list of points in UV coordinates. More...
class  EDGElist
 A list of edges in World coordinates. More...
class  Quat
 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  RandomGen
 Random number generator class.

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

class  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  Vec2
 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  Vec3
 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  Vec4
 A 4D vector class with double precision floating point elements. More...

Epsilon Value Accessor Functions

Use these inline functions to access the epsilon value variables rather than accessing the variables directly.

void setEpsAbsMath (double eps)
 Set the value of the absolute epsilon constant (and the absolute epsilon squared constant as well).
double epsAbsMath ()
double epsAbsSqrdMath ()
double epsNorMath ()
double epsNorSqrdMath ()
double epsZeroMath ()
bool isZero (double x)
 Tell if a double is so small that it is essentially zero:.
bool isEqual (double x, double y)
 Tell if two doubles are so close that they are essentially equal:.

Epsilon Values

Don't use these global variables directly, use the inline functions instead. We have to keep these variables in the header file to be able to inline the access functions.

double gEpsAbsMath = 1e-8
 Absolute epsilon.
double gEpsAbsSqrdMath = 1e-16
 Absolute epsilon squared.
const double gEpsNorMath = 1e-10
 Normalized epsilon.
const double gEpsNorSqrdMath = 1e-20
 Normalized epsilon squared.
const double gEpsZeroMath = 1e-12
 Really a very small value.

Typedefs

typedef const class Wvec CWvec
typedef const class Wpt CWpt
typedef const class Wpt_list CWpt_list
typedef const class Wtransf CWtransf
typedef const class Wplane CWplane
typedef const class Wline CWline
typedef const class Wquat CWquat
typedef const class XYvec CXYvec
typedef const class XYpt CXYpt
typedef const class XYpt_list CXYpt_list
typedef const class XYline CXYline
typedef const class NDCvec CNDCvec
typedef const class NDCpt CNDCpt
typedef const class NDCpt_list CNDCpt_list
typedef const class NDCZvec CNDCZvec
typedef const class NDCZvec_list CNDCZvec_list
typedef const class NDCZpt CNDCZpt
typedef const class NDCZpt_list CNDCZpt_list
typedef const class VEXEL CVEXEL
typedef const class PIXEL CPIXEL
typedef const class PIXEL_list CPIXEL_list
typedef const class UVvec CUVvec
typedef const class UVpt CUVpt
typedef const class UVpt_list CUVpt_list
typedef const class UVline CUVline

Functions

void fn_gdb_will_recognize_so_i_can_set_a_fuggin_breakpoint ()
double deg2rad (double degrees)
 Converts degrees to radians.
double rad2deg (double radians)
 Converts radians to degrees.
double Acos (double x)
 Safe arc cosine function.
template<class T, int N>
bool ludcmp (T a[N][N], int indx[N], T *d=NULL)
 LU decomposition.
template<class T, int N>
void lubksb (T a[N][N], int indx[N], T b[N])
 Backsubstitution after ludcmp().
template<class T, int N>
bool ldltdc (T A[N][N], T rdiag[N])
 Perform LDL^T decomposition of a symmetric positive definite matrix.
template<class T, int N>
void ldltsl (T A[N][N], T rdiag[N], T B[N], T x[N])
 Solve Ax=B after ldltdc().
template<int N, class T>
void eigdc (T A[N][N], T d[N])
 Eigenvector decomposition for real, symmetric matrices, a la Bowdler et al. / EISPACK / JAMA.
template<int N, class T>
void eigmult (T A[N][N], T d[N], T b[N], T x[N])
 x <- A * d * A' * b
template<typename M, typename P, typename V, typename L, typename Q>
MLIB_INLINE M operator * (const Mat4< M, P, V, L, Q > &m, const Mat4< M, P, V, L, Q > &m2)
template<typename M, typename P, typename V, typename L, typename Q>
MLIB_INLINE P operator * (const Mat4< M, P, V, L, Q > &m, const P &p)
template<typename M, typename P, typename V, typename L, typename Q>
MLIB_INLINE V operator * (const Mat4< M, P, V, L, Q > &m, const Vec3< V > &v)
template<typename M, typename P, typename V, typename L, typename Q>
MLIB_INLINE L operator * (const Mat4< M, P, V, L, Q > &m, const Line< L, P, V > &l)
template<typename M, typename P, typename V, typename L, typename Q>
MLIB_INLINE ostream & operator<< (ostream &os, const Mat4< M, P, V, L, Q > &x)
template<class P>
nearest_pt_to_line_seg (const P &pt, const P &st, const P &en)
 Returns the nearest point on the line segment (st,en) to the point, pt.
template<class P, class V>
MLIB_INLINE double ray_pt_dist2 (const P &p, const V &v, const P &q)
template<class P, class V>
intersect2d (const Point2< P, V > &p1, const Vec2< V > &v1, const Point2< P, V > &p2, const Vec2< V > &v2, bool &succeeded)
 Intersection of two infinite 2d lines (p1,v1) and (p2,v2).
template<class P, class V>
MLIB_INLINE bool ray_seg_intersect (const Point2< P, V > &rayp, const Vec2< V > &rayv, const Point2< P, V > &startpt, const Point2< P, V > &endpt, Point2< P, V > &inter)
 intersect ray starting at rayp w/ vector rayv with line segment between startpt and endpt. inter is set to the intersection point.
template<typename P>
MLIB_INLINE bool areCoplanar (const P &p1, const P &p2, const P &p3, const P &p4)
NDCZvec normal_to_ndcz (CWpt &p, CWvec &world_normal)
Wvec operator * (double s, const Wvec &p)
Wpt operator * (double s, const Wpt &p)
XYvec operator * (double s, const XYvec &p)
XYpt operator * (double s, const XYpt &p)
NDCZvec operator * (double s, const NDCZvec &p)
NDCvec operator * (double s, const NDCvec &p)
VEXEL operator * (double s, const VEXEL &p)
UVvec operator * (double s, const UVvec &p)
UVpt operator * (double s, const UVpt &p)
double world_length (CWpt &p, double r)
 Given point p in world space and pixel length r, return the world space length of a segment passing through p, parallel to the film plane, with pixel length r.
double obj_length (CWpt &o, double r, CWtransf &M, CWtransf &I)
 Same as world_length(CWpt& p, double r), but for object-space point o, with transform M from object to world and its inverse I.
template<class T>
void statistics (CARRAY< T > &list, bool print, double *average, double *std_d, T *_max, T *_min)
 Calculates standard statistical information like average, standard deviation, min and max and optionally print it or return them.
std::ostream & operator<< (std::ostream &out, const Vec4 &v)
std::istream & operator>> (std::istream &in, Vec4 &v)
mlib::Vec4 cross (const Vec4 &a, const Vec4 &b, const Vec4 &c)
mlib::Vec3< mlib::Wvecproj (const Vec4 &v)

Variables

CWtransf Identity


Detailed Description

Namespace containing all the related code for Jot Math Library (mlib).

Function Documentation

double mlib::Acos double  x  )  [inline]
 

Safe arc cosine function.

Ensures that numerical error doesn't cause a value outside the range [-1,1] to be passed to the acos function by clamping the input value.

Definition at line 103 of file global.H.

Referenced by mlib::Mat4< M, P, V, L, Q >::anchor_scale_rot(), mlib::Vec3< V >::angle(), GESTURE::angle(), mlib::Plane< PLANE, P, V, L >::axis_ang(), Bedge::dihedral_angle(), Cam_int_fp::orbit_rot(), Cam_int::rot(), Cam_int_fp::rot(), Cam_int_edit::rot(), rotate_camera(), mlib::Mat4< M, P, V, L, Q >::rotation(), mlib::Vec2< V >::signed_angle(), mlib::Quat< QUAT, M, P, V, L >::slerp(), Bedge::swapable(), and CamOrbit::tick().

template<typename P>
MLIB_INLINE bool mlib::areCoplanar const P &  p1,
const P &  p2,
const P &  p3,
const P &  p4
[related]
 

Definition at line 19 of file point3.C.

References epsNorMath().

mlib::Vec4 mlib::cross const Vec4 &  a,
const Vec4 &  b,
const Vec4 &  c
[related]
 

Definition at line 25 of file vec4.C.

Referenced by mlib::Mat4< M, P, V, L, Q >::adjoint(), mlib::Mat4< M, P, V, L, Q >::align(), mlib::Mat4< M, P, V, L, Q >::anchor_scale_rot(), mlib::Plane< PLANE, P, V, L >::axis_ang(), compute_initial_vertex_coord_sys(), compute_ntb_coord_sys(), QuadtreeNode::contains(), Bface::contains(), mlib::Vec3< V >::det(), mlib::Mat4< Wtransf, Wpt, Wvec, Wline, Wquat >::det(), diagonalize_curv(), GEOM::do_cam_focus(), VertUVTexture::draw(), Cam_int_fp::focus(), get_mat(), mlib::Mat4< M, P, V, L, Q >::glu_lookat(), LoopLoc::limit_normal(), mlib::Mat4< M, P, V, L, Q >::Mat4(), SHOW_TRIS::Triangle::norm(), mlib::Quat< Wquat, Wtransf, Wpt, Wvec, Wline >::operator *(), mlib::Mat4< M, P, V, L, Q >::orthogonalized(), mlib::Plane< Wplane, Wpt, Wvec, Wline >::Plane(), mlib::Plane< PLANE, P, V, L >::Plane(), proj_curv(), proj_dcurv(), mlib::Quat< QUAT, M, P, V, L >::Quat(), Bface::ray_intersect(), rot_coord_sys(), StripTexCoordsCB2::send_d(), StripTexCoordsCB3::send_d(), Bface::set_normal(), Bface::signed_area(), ZcrossPath::start_sil(), and Bedge::swapable().

double mlib::deg2rad double  degrees  )  [inline]
 

Converts degrees to radians.

Definition at line 47 of file global.H.

Referenced by SharpEdgeFilter::set_angle(), and GESTURE::trim().

template<int N, class T>
void mlib::eigdc A[N][N],
d[N]
[inline]
 

Eigenvector decomposition for real, symmetric matrices, a la Bowdler et al. / EISPACK / JAMA.

Entries of d are eigenvalues, sorted smallest to largest. A changed in-place to have its columns hold the corresponding eigenvectors.

Note:
A must be completely filled in on input.

Definition at line 176 of file linear_sys.H.

References j, max(), and sqr().

template<int N, class T>
void mlib::eigmult A[N][N],
d[N],
b[N],
x[N]
[inline]
 

x <- A * d * A' * b

Definition at line 349 of file linear_sys.H.

References j.

double mlib::epsAbsMath  )  [inline]
 

Definition at line 70 of file global.H.

References gEpsAbsMath.

Referenced by mlib::Point2list< L, P, V, S >::fix_endpoints().

double mlib::epsAbsSqrdMath  )  [inline]
 

Definition at line 71 of file global.H.

References gEpsAbsSqrdMath.

Referenced by intersect2d(), mlib::Line< NDCline, NDCpt, NDCvec >::project_to_seg(), and mlib::Mat4< M, P, V, L, Q >::shear().

double mlib::epsNorMath  )  [inline]
 

Definition at line 73 of file global.H.

References gEpsNorMath.

Referenced by areCoplanar(), mlib::Mat4< M, P, V, L, Q >::is_equal_scaling_orthogonal(), mlib::Vec3< V >::is_perpend(), mlib::Plane< Wplane, Wpt, Wvec, Wline >::is_valid(), and mlib::Mat4< M, P, V, L, Q >::is_valid().

double mlib::epsNorSqrdMath  )  [inline]
 

Definition at line 74 of file global.H.

References gEpsNorSqrdMath.

Referenced by mlib::Vec3< V >::is_parallel(), and mlib::Vec2< V >::is_parallel().

double mlib::epsZeroMath  )  [inline]
 

Definition at line 76 of file global.H.

References gEpsZeroMath.

Referenced by isZero(), and Patch::update_dynamic_samples().

void mlib::fn_gdb_will_recognize_so_i_can_set_a_fuggin_breakpoint  ) 
 

Definition at line 33 of file global.C.

Referenced by mlib::Mat4< M, P, V, L, Q >::inverse().

template<class P, class V>
P mlib::intersect2d const Point2< P, V > &  p1,
const Vec2< V > &  v1,
const Point2< P, V > &  p2,
const Vec2< V > &  v2,
bool succeeded
[inline]
 

Intersection of two infinite 2d lines (p1,v1) and (p2,v2).

Returns:
succeeded==false if the two lines are are parallel

Definition at line 39 of file point2.C.

References epsAbsSqrdMath().

Referenced by mlib::Point2list< L, P, V, S >::ray_intersect(), and ray_seg_intersect().

bool mlib::isEqual double  x,
double  y
[inline]
 

Tell if two doubles are so close that they are essentially equal:.

Definition at line 81 of file global.H.

References isZero().

Referenced by ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::get_zcross_points().

bool mlib::isZero double  x  )  [inline]
 

Tell if a double is so small that it is essentially zero:.

Definition at line 79 of file global.H.

References epsZeroMath().

Referenced by ZCrossExtractor< ScalarField, Confidence, FaceGenerator >::add_seg(), mlib::Mat4< M, P, V, L, Q >::inverse(), isEqual(), mlib::Vec3< Wvec >::tlen(), mlib::Vec2< VEXEL >::tlen(), and Patch::update_dynamic_samples().

template<class T, int N>
bool mlib::ldltdc A[N][N],
rdiag[N]
[inline]
 

Perform LDL^T decomposition of a symmetric positive definite matrix.

Like Cholesky, but no square roots. Overwrites lower triangle of matrix.

Definition at line 123 of file linear_sys.H.

References j, and unlikely.

template<class T, int N>
void mlib::ldltsl A[N][N],
rdiag[N],
B[N],
x[N]
[inline]
 

Solve Ax=B after ldltdc().

Definition at line 150 of file linear_sys.H.

template<class T, int N>
void mlib::lubksb a[N][N],
int  indx[N],
b[N]
[inline]
 

Backsubstitution after ludcmp().

Definition at line 95 of file linear_sys.H.

References j.

template<class T, int N>
bool mlib::ludcmp a[N][N],
int  indx[N],
T *  d = NULL
[inline]
 

LU decomposition.

Definition at line 34 of file linear_sys.H.

References j, and swap().

template<class P>
P mlib::nearest_pt_to_line_seg const P &  pt,
const P &  st,
const P &  en
[inline]
 

Returns the nearest point on the line segment (st,en) to the point, pt.

The template paramenter P should be some sort of point class.

Parameters:
[in] pt The point to find the nearest point on the line segment to.
[in] st The starting endpoint of the line segment.
[in] en The ending endpoint of the line segment.
Returns:
The point on the line segment from st to en that is nearest to the point pt.

Definition at line 26 of file nearest_pt.H.

Referenced by mlib::Pointlist< L, P, V, S >::closest(), and mlib::Pointlist< L, P, V, S >::dist_to_seg().

double mlib::obj_length CWpt o,
double  r,
CWtransf M,
CWtransf I
[inline]
 

Same as world_length(CWpt& p, double r), but for object-space point o, with transform M from object to world and its inverse I.

Definition at line 1465 of file points.H.

template<typename M, typename P, typename V, typename L, typename Q>
MLIB_INLINE L mlib::operator * const Mat4< M, P, V, L, Q > &  m,
const Line< L, P, V > &  l
[related]
 

Definition at line 777 of file mat4.C.

References mlib::Line< L, P, V >::point(), and mlib::Line< L, P, V >::vector().

template<typename M, typename P, typename V, typename L, typename Q>
MLIB_INLINE V mlib::operator * const Mat4< M, P, V, L, Q > &  m,
const Vec3< V > &  v
[related]
 

Definition at line 767 of file mat4.C.

template<typename M, typename P, typename V, typename L, typename Q>
MLIB_INLINE P mlib::operator * const Mat4< M, P, V, L, Q > &  m,
const P &  p
[related]
 

Definition at line 741 of file mat4.C.

References mlib::Mat4< M, P, V, L, Q >::is_perspective().

template<typename M, typename P, typename V, typename L, typename Q>
MLIB_INLINE M mlib::operator * const Mat4< M, P, V, L, Q > &  m,
const Mat4< M, P, V, L, Q > &  m2
[related]
 

Definition at line 444 of file mat4.C.

References mlib::Mat4< M, P, V, L, Q >::is_perspective().

std::ostream& mlib::operator<< std::ostream &  out,
const Vec4 &  v
[related]
 

Definition at line 13 of file vec4.C.

template<typename M, typename P, typename V, typename L, typename Q>
MLIB_INLINE ostream& mlib::operator<< ostream &  os,
const Mat4< M, P, V, L, Q > &  x
 

Definition at line 1076 of file mat4.C.

std::istream& mlib::operator>> std::istream &  in,
Vec4 &  v
[related]
 

Definition at line 19 of file vec4.C.

mlib::Vec3<mlib::Wvec> mlib::proj const Vec4 &  v  )  [related]
 

Definition at line 43 of file vec4.C.

double mlib::rad2deg double  radians  )  [inline]
 

Converts radians to degrees.

Definition at line 49 of file global.H.

Referenced by GEOM::do_cam_focus(), and GESTURE::is_corner().

template<class P, class V>
MLIB_INLINE double mlib::ray_pt_dist2 const P &  p,
const V &  v,
const P &  q
 

Returns:
Distance squared.

Definition at line 22 of file point2.C.

Referenced by mlib::Point2list< L, P, V, S >::ray_intersect().

template<class P, class V>
MLIB_INLINE bool mlib::ray_seg_intersect const Point2< P, V > &  rayp,
const Vec2< V > &  rayv,
const Point2< P, V > &  startpt,
const Point2< P, V > &  endpt,
Point2< P, V > &  inter
 

intersect ray starting at rayp w/ vector rayv with line segment between startpt and endpt. inter is set to the intersection point.

Definition at line 68 of file point2.C.

References intersect2d().

Referenced by mlib::Point2list< L, P, V, S >::ray_intersect().

void mlib::setEpsAbsMath double  eps  ) 
 

Set the value of the absolute epsilon constant (and the absolute epsilon squared constant as well).

Definition at line 24 of file global.C.

References gEpsAbsMath, and gEpsAbsSqrdMath.

template<class T>
void mlib::statistics CARRAY< T > &  list,
bool  print,
double *  average,
double *  std_d,
T *  _max,
T *  _min
 

Calculates standard statistical information like average, standard deviation, min and max and optionally print it or return them.

The template parameter T should be some sort of numerical type for this function to work.

Parameters:
[in] list ARRAY of values over which statistics will be computed.
[in] print Whether or not to print results to stderr.
[out] average Average of values in list.
[out] std_d Standard deviation of values in list.
[out] _max Maximum of values in list.
[out] _min Minimum of values in list.
Questions:
Do we want this function to print its results to stderr or to stdout?
Remarks:
The sun compiler rejects default argument values in templated functions.

Definition at line 32 of file statistics.H.

References max(), and min().

Referenced by LMESH::fit().

double mlib::world_length CWpt p,
double  r
[inline]
 

Given point p in world space and pixel length r, return the world space length of a segment passing through p, parallel to the film plane, with pixel length r.

Definition at line 1457 of file points.H.

Referenced by XF_DRAW::draw().


Variable Documentation

double mlib::gEpsAbsMath = 1e-8
 

Absolute epsilon.

Definition at line 17 of file global.C.

Referenced by mlib::Mat4< M, P, V, L, Q >::anchor_scale_rot(), epsAbsMath(), mlib::Line< NDCline, NDCpt, NDCvec >::intersect(), mlib::Mat4< M, P, V, L, Q >::is_identity(), ELLIPSE::rebuild(), and setEpsAbsMath().

double mlib::gEpsAbsSqrdMath = 1e-16
 

Absolute epsilon squared.

Definition at line 18 of file global.C.

Referenced by epsAbsSqrdMath(), and setEpsAbsMath().

const double mlib::gEpsNorMath = 1e-10
 

Normalized epsilon.

Definition at line 20 of file global.C.

Referenced by epsNorMath().

const double mlib::gEpsNorSqrdMath = 1e-20
 

Normalized epsilon squared.

Definition at line 21 of file global.C.

Referenced by epsNorSqrdMath().

const double mlib::gEpsZeroMath = 1e-12
 

Really a very small value.

Definition at line 15 of file global.C.

Referenced by epsZeroMath(), UVMapping::intersect(), Bedge::nearest_pt_ndc(), mlib::Vec4::normalized(), mlib::Vec3< V >::normalized(), mlib::Vec2< V >::normalized(), mlib::Plane< PLANE, P, V, L >::Plane(), pt_near_seg(), pt_near_seg_ndc(), and snap().

CWtransf mlib::Identity
 

Definition at line 13 of file points.C.

Referenced by DEFINER::clear_deltas(), VIEW::intersect(), BMESH::inv_xform(), VIEW::nearest(), and BMESH::xform().


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