Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages   Examples  

GLT Math


Files

file  bbox.cpp
file  bbox.h
 Axis-Aligned 3D Bounding Box Class.

file  matrix4.cpp
file  matrix4.h
 4x4 Matrix

file  path.cpp
file  path.h
 Parametric 3D Curves.

file  plane.cpp
file  plane.h
 3D Plane Equation

file  point.cpp
file  point.h
 3D Position and Normal Class

file  random.cpp
file  random.h
 Random Number Classes.

file  real.h
 Numerical Constants.

file  round.cpp
file  round.h
 Numerical Rounding Routines.

file  umatrix.cpp
file  umatrix.h
 4 UnMatrix

file  vector3.cpp
file  vector3.h
 3D Vector

file  vector4.cpp
file  vector4.h
 4D Vector

file  volume.cpp
file  volume.h
 Volume calculation.


Compounds

class  BoundingBox
 Axis-Aligned 3D Bounding Box Class. More...

class  Matrix
 4x4 Matrix More...

class  GltPath3D
 Abstract base class for parametric 3D paths. More...

class  GltPath3DLine
 Linear 3D path. More...

class  GltPath3DHelix
 Helical 3D path. More...

class  GltPath3DSegment
 3D path segment More...

class  Plane
 3D Plane Equation More...

class  Point
 3D Position and Normal Class More...

class  GltRandomLCG
 The Park and Miller "Minimal Standard" LCG generator. More...

class  GltRandomLFSRMix
 Multiple LFSR (Linear Feedback Shift Register) generator. More...

class  GltRandomDouble
 Adaptor for random double precision floating point numbers. More...

class  GltRandomInteger
 Adaptor for random numbers in integer domain. More...

class  GltRandomSphere
 Random points on the unit sphere. More...

class  GltRandomOrientation
 Random orientation matricies in 3D. More...

class  UnMatrix
 4x4 UnMatrix More...

class  Vector
 3D Vector More...

struct  Vector4
 4D Vector More...


Functions

Matrix matrixScale (const double sf)
 Uniform scale transformation matrix.

Matrix matrixScale (const Vector sf)
 Non-uniform scale transformation matrix.

Matrix matrixTranslate (const Vector trans)
 Translation transformation matrix.

Matrix matrixTranslate (const real x, const real y, const real z)
 Translation transformation matrix.

Matrix matrixRotate (const Vector axis, const double angle)
 Axis rotation transformation matrix.

Matrix matrixRotate (const double azimuth, const double elevation)
 Rotation transformation matrix.

Matrix matrixOrient (const Vector &x, const Vector &y, const Vector &z)
 Orientation transformation matrix.

Matrix matrixOrient (const Vector &direction, const Vector &up)
 Orientation transformation matrix.

std::ostream & operator<< (std::ostream &os, const Matrix &m)
 Write a matrix to a text output stream.

std::istream & operator>> (std::istream &is, Matrix &m)
 Read a matrix from a text output stream.

float round (const float value, const int precision)
 rounds value to a specified precision

double round (const double value, const int precision)
 rounds value to a specified precision

UnMatrix operator- (const UnMatrix &b, const UnMatrix &a)
 UnMatrix difference.

UnMatrix operator * (const UnMatrix &a, const double scaleFactor)
 UnMatrix scaling.

UnMatrix operator+ (const UnMatrix &a, const UnMatrix &b)
 UnMatrix addition.

std::ostream & operator<< (std::ostream &os, const UnMatrixField &field)
 Output an UnMatrix field description to a text stream.

istream & operator>> (istream &is, UnMatrixField &field)
 Read an UnMatrix field from a text stream.

std::ostream & operator<< (std::ostream &os, const UnMatrix &unMatrix)
 Write an UnMatrix to a text stream.

istream & operator>> (istream &is, UnMatrix &unMatrix)
 Read an UnMatrix from a text stream.

ostream & operator<< (ostream &os, const Vector &x)
 Output vector to stream.

istream & operator>> (istream &is, Vector &x)
 Input vector from stream.

Vector operator * (const real x, const Vector &v)
 Vector scale.

Vector operator * (const Vector &v, const real x)
 Vector scale.

Vector operator/ (const Vector &v, const real x)
 Vector inverse scale.

Vector operator+ (const Vector &v1, const Vector &v2)
 Vector addition.

Vector operator- (const Vector &v1, const Vector &v2)
 Vector difference.

Vector xProduct (const Vector &v1, const Vector &v2)
 Vector cross product.

Vector planeNormal (const Vector &v1, const Vector &v2, const Vector &v3)
 Calculate normal from three points in plane.

Vector polar (const real lat, const real longitude)
 Location on unit sphere.

void orthogonalSystem (Vector &a, Vector &b, Vector &c)
 Create orthogonal co-ordinate system, based on a.

ostream & operator<< (ostream &os, const Vector4 &x)
 Output vector to stream.

istream & operator>> (istream &is, Vector4 &x)
 Input vector from stream.


Function Documentation

Matrix matrixRotate const Vector    axis,
const double    angle
 

Axis rotation transformation matrix.

Parameters:
axis  Axis of rotation
angle  Angle in degrees

Definition at line 310 of file matrix4.cpp.

References Vector::norm(), and Matrix::set().

Matrix matrixRotate const double    azimuth,
const double    elevation
 

Rotation transformation matrix.

Parameters:
azimuth  East-West degrees
elevation  North-South degrees

Definition at line 348 of file matrix4.cpp.

References Matrix::set().

Referenced by GltInterpolatorRotation::draw(), GltPath3DHelix::GltPath3DHelix(), GlutWindowExaminer::OnKeyboard(), and GlutWindowExaminer::OnMotion().

Matrix matrixOrient const Vector   x,
const Vector   y,
const Vector   z
 

Orientation transformation matrix.

Parameters:
x  New orientation for +x
y  New orientation for +y
z  New orientation for +z

Definition at line 380 of file matrix4.cpp.

References Matrix::set(), Vector::x(), Vector::y(), and Vector::z().

Matrix matrixOrient const Vector   direction,
const Vector   up
 

Orientation transformation matrix.

Parameters:
direction  New orientation for +z
up  New orientation for +y

Definition at line 406 of file matrix4.cpp.

References Vector::norm(), Vector::normalize(), and xProduct().

Referenced by GlutCylinder::position().

float round const float    value,
const int    precision = 0
 

rounds value to a specified precision

Author:
Stefan Greuter
Parameters:
value  float to be rounded
precision  desired precision
Returns:
rounded float value
Note:
precision must be non-negative
Returns the rounded value of 'value' to the specified 'precision' (number of digits after the decimal point). The must be a positive integer value.

Definition at line 13 of file round.cpp.

double round const double    value,
const int    precision = 0
 

rounds value to a specified precision

Author:
Stefan Greuter
Parameters:
value  float to be rounded
precision  desired precision
Returns:
rounded float value
Note:
precision must be non-negative
Returns the rounded value of 'value' to the specified 'precision' (number of digits after the decimal point). The must be a positive integer value.

Definition at line 22 of file round.cpp.

Referenced by round().


Generated on Tue Nov 5 11:11:49 2002 for GLT by doxygen1.2.18