Imath Namespace Reference


Classes

class  Box
class  Box< Vec2< T > >
class  Box< Vec3< T > >
class  Color3
class  Color4
class  Euler
class  Frustum
class  GLPushMatrix
class  GLPushAttrib
class  GLBegin
struct  limits< half >
class  Interval
struct  limits
struct  limits< char >
struct  limits< signed char >
struct  limits< unsigned char >
struct  limits< short >
struct  limits< unsigned short >
struct  limits< int >
struct  limits< unsigned int >
struct  limits< long >
struct  limits< unsigned long >
struct  limits< float >
struct  limits< double >
struct  limits< long double >
class  Line3
struct  Math
struct  Math< float >
class  Matrix33
class  Matrix44
class  Plane3
class  Quat
class  Rand32
class  Rand48
class  Shear6
class  Sphere3
class  Vec2
class  Vec3
class  Vec4

Typedefs

typedef Box< V2sBox2s
typedef Box< V2iBox2i
typedef Box< V2fBox2f
typedef Box< V2dBox2d
typedef Box< V3sBox3s
typedef Box< V3iBox3i
typedef Box< V3fBox3f
typedef Box< V3dBox3d
typedef Color3< float > Color3f
typedef Color3< halfColor3h
typedef Color3< unsigned char > Color3c
typedef Color3< halfC3h
typedef Color3< float > C3f
typedef Color3< unsigned char > C3c
typedef Color4< float > Color4f
typedef Color4< halfColor4h
typedef Color4< unsigned char > Color4c
typedef Color4< float > C4f
typedef Color4< halfC4h
typedef Color4< unsigned char > C4c
typedef unsigned int PackedColor
typedef Euler< float > Eulerf
typedef Euler< double > Eulerd
typedef Frustum< float > Frustumf
typedef Frustum< double > Frustumd
typedef long long unsigned int Int64
typedef Interval< float > Intervalf
typedef Interval< double > Intervald
typedef Interval< short > Intervals
typedef Interval< int > Intervali
typedef Line3< float > Line3f
typedef Line3< double > Line3d
typedef Matrix33< float > M33f
typedef Matrix33< double > M33d
typedef Matrix44< float > M44f
typedef Matrix44< double > M44d
typedef Plane3< float > Plane3f
typedef Plane3< double > Plane3d
typedef Quat< float > Quatf
typedef Quat< double > Quatd
typedef Vec3< float > Shear3f
typedef Vec3< double > Shear3d
typedef Shear6< float > Shear6f
typedef Shear6< double > Shear6d
typedef Sphere3< float > Sphere3f
typedef Sphere3< double > Sphere3d
typedef Vec2< short > V2s
typedef Vec2< int > V2i
typedef Vec2< float > V2f
typedef Vec2< double > V2d
typedef Vec3< short > V3s
typedef Vec3< int > V3i
typedef Vec3< float > V3f
typedef Vec3< double > V3d
typedef Vec4< short > V4s
typedef Vec4< int > V4i
typedef Vec4< float > V4f
typedef Vec4< double > V4d

Enumerations

enum  Uninitialized { UNINITIALIZED }
enum  InfException { INF_EXCEPTION }

Functions

template<class T >
clip (const T &p, const Box< T > &box)
template<class T >
closestPointInBox (const T &p, const Box< T > &box)
template<class T >
Vec3< T > closestPointOnBox (const Vec3< T > &p, const Box< Vec3< T > > &box)
template<class S , class T >
Box< Vec3< S > > transform (const Box< Vec3< S > > &box, const Matrix44< T > &m)
template<class S , class T >
Box< Vec3< S > > affineTransform (const Box< Vec3< S > > &box, const Matrix44< T > &m)
template<class T >
bool findEntryAndExitPoints (const Line3< T > &r, const Box< Vec3< T > > &b, Vec3< T > &entry, Vec3< T > &exit)
template<class T >
bool intersects (const Box< Vec3< T > > &b, const Line3< T > &r, Vec3< T > &ip)
template<class T >
bool intersects (const Box< Vec3< T > > &box, const Line3< T > &ray)
template<class T >
std::ostream & operator<< (std::ostream &s, const Color4< T > &v)
template<class S , class T >
Color4< T > operator* (S a, const Color4< T > &v)
Vec3< double > hsv2rgb_d (const Vec3< double > &hsv)
Color4< double > hsv2rgb_d (const Color4< double > &hsv)
Vec3< double > rgb2hsv_d (const Vec3< double > &rgb)
Color4< double > rgb2hsv_d (const Color4< double > &rgb)
template<class T >
Vec3< T > hsv2rgb (const Vec3< T > &hsv)
template<class T >
Color4< T > hsv2rgb (const Color4< T > &hsv)
template<class T >
Vec3< T > rgb2hsv (const Vec3< T > &rgb)
template<class T >
Color4< T > rgb2hsv (const Color4< T > &rgb)
template<class T >
PackedColor rgb2packed (const Vec3< T > &c)
template<class T >
PackedColor rgb2packed (const Color4< T > &c)
template<class T >
void packed2rgb (PackedColor packed, Vec3< T > &out)
template<class T >
void packed2rgb (PackedColor packed, Color4< T > &out)
template<class T >
std::ostream & operator<< (std::ostream &o, const Euler< T > &euler)
 DEFINE_EXC (NullVecExc,::Iex::MathExc) DEFINE_EXC(InfPointExc
::Iex::MathExc DEFINE_EXC (NullQuatExc,::Iex::MathExc) DEFINE_EXC(SingMatrixExc
::Iex::MathExc::Iex::MathExc DEFINE_EXC (ZeroScaleExc,::Iex::MathExc) DEFINE_EXC(IntVecNormalizeExc
template<class T >
Matrix44< T > firstFrame (const Vec3< T > &, const Vec3< T > &, const Vec3< T > &)
template<class T >
Matrix44< T > nextFrame (const Matrix44< T > &, const Vec3< T > &, const Vec3< T > &, Vec3< T > &, Vec3< T > &)
template<class T >
Matrix44< T > lastFrame (const Matrix44< T > &, const Vec3< T > &, const Vec3< T > &)
template<class T >
abs (T a)
template<class T >
int sign (T a)
template<class T , class Q >
lerp (T a, T b, Q t)
template<class T , class Q >
ulerp (T a, T b, Q t)
template<class T >
lerpfactor (T m, T a, T b)
template<class T >
clamp (T a, T l, T h)
template<class T >
int cmp (T a, T b)
template<class T >
int cmpt (T a, T b, T t)
template<class T >
bool iszero (T a, T t)
template<class T1 , class T2 , class T3 >
bool equal (T1 a, T2 b, T3 t)
template<class T >
int floor (T x)
template<class T >
int ceil (T x)
template<class T >
int trunc (T x)
int divs (int x, int y)
int mods (int x, int y)
int divp (int x, int y)
int modp (int x, int y)
float succf (float f)
float predf (float f)
double succd (double d)
double predd (double d)
bool finitef (float f)
bool finited (double d)
template<class T >
std::ostream & operator<< (std::ostream &o, const Line3< T > &line)
template<class S , class T >
Line3< S > operator* (const Line3< S > &line, const Matrix44< T > &M)
template<class T >
bool closestPoints (const Line3< T > &line1, const Line3< T > &line2, Vec3< T > &point1, Vec3< T > &point2)
template<class T >
bool intersect (const Line3< T > &line, const Vec3< T > &v0, const Vec3< T > &v1, const Vec3< T > &v2, Vec3< T > &pt, Vec3< T > &barycentric, bool &front)
template<class T >
Vec3< T > closestVertex (const Vec3< T > &v0, const Vec3< T > &v1, const Vec3< T > &v2, const Line3< T > &l)
template<class T >
Vec3< T > rotatePoint (const Vec3< T > p, Line3< T > l, T angle)
template<class T >
sinx_over_x (T x)
template<class T >
bool equalWithAbsError (T x1, T x2, T e)
template<class T >
bool equalWithRelError (T x1, T x2, T e)
template<class T >
std::ostream & operator<< (std::ostream &s, const Matrix33< T > &m)
template<class T >
std::ostream & operator<< (std::ostream &s, const Matrix44< T > &m)
template<class S , class T >
const Vec2< S > & operator*= (Vec2< S > &v, const Matrix33< T > &m)
template<class S , class T >
Vec2< S > operator* (const Vec2< S > &v, const Matrix33< T > &m)
template<class S , class T >
const Vec3< S > & operator*= (Vec3< S > &v, const Matrix33< T > &m)
template<class S , class T >
Vec3< S > operator* (const Vec3< S > &v, const Matrix33< T > &m)
template<class S , class T >
const Vec3< S > & operator*= (Vec3< S > &v, const Matrix44< T > &m)
template<class S , class T >
Vec3< S > operator* (const Vec3< S > &v, const Matrix44< T > &m)
template<class S , class T >
const Vec4< S > & operator*= (Vec4< S > &v, const Matrix44< T > &m)
template<class S , class T >
Vec4< S > operator* (const Vec4< S > &v, const Matrix44< T > &m)
template<class T >
Matrix33< T > operator* (T a, const Matrix33< T > &v)
template<class T >
Matrix44< T > operator* (T a, const Matrix44< T > &v)
template<class T >
bool extractScaling (const Matrix44< T > &mat, Vec3< T > &scl, bool exc=true)
template<class T >
Matrix44< T > sansScaling (const Matrix44< T > &mat, bool exc=true)
template<class T >
bool removeScaling (Matrix44< T > &mat, bool exc=true)
template<class T >
bool extractScalingAndShear (const Matrix44< T > &mat, Vec3< T > &scl, Vec3< T > &shr, bool exc=true)
template<class T >
Matrix44< T > sansScalingAndShear (const Matrix44< T > &mat, bool exc=true)
template<class T >
bool removeScalingAndShear (Matrix44< T > &mat, bool exc=true)
template<class T >
bool extractAndRemoveScalingAndShear (Matrix44< T > &mat, Vec3< T > &scl, Vec3< T > &shr, bool exc=true)
template<class T >
void extractEulerXYZ (const Matrix44< T > &mat, Vec3< T > &rot)
template<class T >
void extractEulerZYX (const Matrix44< T > &mat, Vec3< T > &rot)
template<class T >
Quat< T > extractQuat (const Matrix44< T > &mat)
template<class T >
bool extractSHRT (const Matrix44< T > &mat, Vec3< T > &s, Vec3< T > &h, Vec3< T > &r, Vec3< T > &t, bool exc, typename Euler< T >::Order rOrder)
template<class T >
bool extractSHRT (const Matrix44< T > &mat, Vec3< T > &s, Vec3< T > &h, Vec3< T > &r, Vec3< T > &t, bool exc=true)
template<class T >
bool extractSHRT (const Matrix44< T > &mat, Vec3< T > &s, Vec3< T > &h, Euler< T > &r, Vec3< T > &t, bool exc=true)
template<class T >
bool checkForZeroScaleInRow (const T &scl, const Vec3< T > &row, bool exc=true)
template<class T >
Matrix44< T > rotationMatrix (const Vec3< T > &fromDirection, const Vec3< T > &toDirection)
template<class T >
Matrix44< T > rotationMatrixWithUpDir (const Vec3< T > &fromDir, const Vec3< T > &toDir, const Vec3< T > &upDir)
template<class T >
Matrix44< T > alignZAxisWithTargetDir (Vec3< T > targetDir, Vec3< T > upDir)
template<class T >
bool extractScaling (const Matrix33< T > &mat, Vec2< T > &scl, bool exc=true)
template<class T >
Matrix33< T > sansScaling (const Matrix33< T > &mat, bool exc=true)
template<class T >
bool removeScaling (Matrix33< T > &mat, bool exc=true)
template<class T >
bool extractScalingAndShear (const Matrix33< T > &mat, Vec2< T > &scl, T &h, bool exc=true)
template<class T >
Matrix33< T > sansScalingAndShear (const Matrix33< T > &mat, bool exc=true)
template<class T >
bool removeScalingAndShear (Matrix33< T > &mat, bool exc=true)
template<class T >
bool extractAndRemoveScalingAndShear (Matrix33< T > &mat, Vec2< T > &scl, T &shr, bool exc=true)
template<class T >
void extractEuler (const Matrix33< T > &mat, T &rot)
template<class T >
bool extractSHRT (const Matrix33< T > &mat, Vec2< T > &s, T &h, T &r, Vec2< T > &t, bool exc=true)
template<class T >
bool checkForZeroScaleInRow (const T &scl, const Vec2< T > &row, bool exc=true)
template<class T >
std::ostream & operator<< (std::ostream &o, const Plane3< T > &plane)
template<class T >
Plane3< T > operator* (const Plane3< T > &plane, const Matrix44< T > &M)
template<class T >
Plane3< T > operator- (const Plane3< T > &plane)
template<class T >
Quat< T > slerp (const Quat< T > &q1, const Quat< T > &q2, T t)
template<class T >
Quat< T > slerpShortestArc (const Quat< T > &q1, const Quat< T > &q2, T t)
template<class T >
Quat< T > squad (const Quat< T > &q1, const Quat< T > &q2, const Quat< T > &qa, const Quat< T > &qb, T t)
template<class T >
void intermediate (const Quat< T > &q0, const Quat< T > &q1, const Quat< T > &q2, const Quat< T > &q3, Quat< T > &qa, Quat< T > &qb)
template<class T >
Matrix33< T > operator* (const Matrix33< T > &M, const Quat< T > &q)
template<class T >
Matrix33< T > operator* (const Quat< T > &q, const Matrix33< T > &M)
template<class T >
std::ostream & operator<< (std::ostream &o, const Quat< T > &q)
template<class T >
Quat< T > operator* (const Quat< T > &q1, const Quat< T > &q2)
template<class T >
Quat< T > operator/ (const Quat< T > &q1, const Quat< T > &q2)
template<class T >
Quat< T > operator/ (const Quat< T > &q, T t)
template<class T >
Quat< T > operator* (const Quat< T > &q, T t)
template<class T >
Quat< T > operator* (T t, const Quat< T > &q)
template<class T >
Quat< T > operator+ (const Quat< T > &q1, const Quat< T > &q2)
template<class T >
Quat< T > operator- (const Quat< T > &q1, const Quat< T > &q2)
template<class T >
Quat< T > operator~ (const Quat< T > &q)
template<class T >
Quat< T > operator- (const Quat< T > &q)
template<class T >
Vec3< T > operator* (const Vec3< T > &v, const Quat< T > &q)
template<class T >
operator^ (const Quat< T > &q1, const Quat< T > &q2)
template<class T >
angle4D (const Quat< T > &q1, const Quat< T > &q2)
template<class T >
Quat< T > spline (const Quat< T > &q0, const Quat< T > &q1, const Quat< T > &q2, const Quat< T > &q3, T t)
template<class T >
Quat< T > intermediate (const Quat< T > &q0, const Quat< T > &q1, const Quat< T > &q2)
template<class Vec , class Rand >
Vec solidSphereRand (Rand &rand)
template<class Vec , class Rand >
Vec hollowSphereRand (Rand &rand)
template<class Rand >
float gaussRand (Rand &rand)
template<class Vec , class Rand >
Vec gaussSphereRand (Rand &rand)
double erand48 (unsigned short state[3])
double drand48 ()
long int nrand48 (unsigned short state[3])
long int lrand48 ()
void srand48 (long int seed)
template<class T >
int solveLinear (T a, T b, T &x)
template<class T >
int solveQuadratic (T a, T b, T c, T x[2])
template<class T >
int solveNormalizedCubic (T r, T s, T t, T x[3])
template<class T >
int solveCubic (T a, T b, T c, T d, T x[3])
template<class T >
std::ostream & operator<< (std::ostream &s, const Shear6< T > &h)
template<class S , class T >
Shear6< T > operator* (S a, const Shear6< T > &h)
template<class T >
std::ostream & operator<< (std::ostream &s, const Vec2< T > &v)
template<class T >
std::ostream & operator<< (std::ostream &s, const Vec3< T > &v)
template<class T >
std::ostream & operator<< (std::ostream &s, const Vec4< T > &v)
template<class T >
Vec2< T > operator* (T a, const Vec2< T > &v)
template<class T >
Vec3< T > operator* (T a, const Vec3< T > &v)
template<class T >
Vec4< T > operator* (T a, const Vec4< T > &v)
template<class Vec >
Vec project (const Vec &s, const Vec &t)
template<class Vec >
Vec orthogonal (const Vec &s, const Vec &t)
template<class Vec >
Vec reflect (const Vec &s, const Vec &t)
template<class Vec >
Vec closestVertex (const Vec &v0, const Vec &v1, const Vec &v2, const Vec &p)

Variables

IMATH_EXPORT_CONST M33f identity33f
IMATH_EXPORT_CONST M44f identity44f
IMATH_EXPORT_CONST M33d identity33d
IMATH_EXPORT_CONST M44d identity44d

Typedef Documentation

typedef Box<V2d> Imath::Box2d

Definition at line 132 of file ImathBox.h.

typedef Box<V2f> Imath::Box2f

Definition at line 131 of file ImathBox.h.

typedef Box<V2i> Imath::Box2i

Definition at line 130 of file ImathBox.h.

typedef Box<V2s> Imath::Box2s

Definition at line 129 of file ImathBox.h.

typedef Box<V3d> Imath::Box3d

Definition at line 136 of file ImathBox.h.

typedef Box<V3f> Imath::Box3f

Definition at line 135 of file ImathBox.h.

typedef Box<V3i> Imath::Box3i

Definition at line 134 of file ImathBox.h.

typedef Box<V3s> Imath::Box3s

Definition at line 133 of file ImathBox.h.

typedef Color3<unsigned char> Imath::C3c

Definition at line 276 of file ImathColor.h.

typedef Color3<float> Imath::C3f

Definition at line 275 of file ImathColor.h.

Definition at line 274 of file ImathColor.h.

typedef Color4<unsigned char> Imath::C4c

Definition at line 282 of file ImathColor.h.

typedef Color4<float> Imath::C4f

Definition at line 280 of file ImathColor.h.

Definition at line 281 of file ImathColor.h.

typedef Color3<unsigned char> Imath::Color3c

Definition at line 273 of file ImathColor.h.

typedef Color3<float> Imath::Color3f

Definition at line 271 of file ImathColor.h.

Definition at line 272 of file ImathColor.h.

typedef Color4<unsigned char> Imath::Color4c

Definition at line 279 of file ImathColor.h.

typedef Color4<float> Imath::Color4f

Definition at line 277 of file ImathColor.h.

Definition at line 278 of file ImathColor.h.

typedef Euler<double> Imath::Eulerd

Definition at line 344 of file ImathEuler.h.

typedef Euler<float> Imath::Eulerf

Definition at line 343 of file ImathEuler.h.

typedef Frustum<double> Imath::Frustumd

Definition at line 721 of file ImathFrustum.h.

typedef Frustum<float> Imath::Frustumf

Definition at line 720 of file ImathFrustum.h.

typedef long long unsigned int Imath::Int64

Definition at line 55 of file ImathInt64.h.

typedef Interval<double> Imath::Intervald

Definition at line 115 of file ImathInterval.h.

typedef Interval<float> Imath::Intervalf

Definition at line 114 of file ImathInterval.h.

typedef Interval<int> Imath::Intervali

Definition at line 117 of file ImathInterval.h.

typedef Interval<short> Imath::Intervals

Definition at line 116 of file ImathInterval.h.

typedef Line3<double> Imath::Line3d

Definition at line 97 of file ImathLine.h.

typedef Line3<float> Imath::Line3f

Definition at line 96 of file ImathLine.h.

typedef Matrix33<double> Imath::M33d

Definition at line 810 of file ImathMatrix.h.

typedef Matrix33<float> Imath::M33f

Definition at line 809 of file ImathMatrix.h.

typedef Matrix44<double> Imath::M44d

Examples:
field3d/f3d_io.C.

Definition at line 812 of file ImathMatrix.h.

typedef Matrix44<float> Imath::M44f

Definition at line 811 of file ImathMatrix.h.

typedef unsigned int Imath::PackedColor

Definition at line 283 of file ImathColor.h.

typedef Plane3<double> Imath::Plane3d

Definition at line 112 of file ImathPlane.h.

typedef Plane3<float> Imath::Plane3f

Definition at line 111 of file ImathPlane.h.

typedef Quat<double> Imath::Quatd

Definition at line 221 of file ImathQuat.h.

typedef Quat<float> Imath::Quatf

Definition at line 220 of file ImathQuat.h.

typedef Vec3<double> Imath::Shear3d

Definition at line 242 of file ImathShear.h.

typedef Vec3<float> Imath::Shear3f

Definition at line 241 of file ImathShear.h.

typedef Shear6<double> Imath::Shear6d

Definition at line 244 of file ImathShear.h.

typedef Shear6<float> Imath::Shear6f

Definition at line 243 of file ImathShear.h.

typedef Sphere3<double> Imath::Sphere3d

Definition at line 101 of file ImathSphere.h.

typedef Sphere3<float> Imath::Sphere3f

Definition at line 100 of file ImathSphere.h.

typedef Vec2<double> Imath::V2d

Definition at line 689 of file ImathVec.h.

typedef Vec2<float> Imath::V2f

Definition at line 688 of file ImathVec.h.

typedef Vec2<int> Imath::V2i

Definition at line 687 of file ImathVec.h.

typedef Vec2<short> Imath::V2s

Definition at line 686 of file ImathVec.h.

typedef Vec3<double> Imath::V3d

Examples:
field3d/f3d_io.C.

Definition at line 693 of file ImathVec.h.

typedef Vec3<float> Imath::V3f

Examples:
field3d/f3d_io.C.

Definition at line 692 of file ImathVec.h.

typedef Vec3<int> Imath::V3i

Examples:
field3d/f3d_io.C.

Definition at line 691 of file ImathVec.h.

typedef Vec3<short> Imath::V3s

Definition at line 690 of file ImathVec.h.

typedef Vec4<double> Imath::V4d

Definition at line 697 of file ImathVec.h.

typedef Vec4<float> Imath::V4f

Definition at line 696 of file ImathVec.h.

typedef Vec4<int> Imath::V4i

Definition at line 695 of file ImathVec.h.

typedef Vec4<short> Imath::V4s

Definition at line 694 of file ImathVec.h.


Enumeration Type Documentation

Enumerator:
INF_EXCEPTION 

Definition at line 65 of file ImathVec.h.

Enumerator:
UNINITIALIZED 

Definition at line 63 of file ImathMatrix.h.


Function Documentation

template<class T >
T Imath::abs ( a  )  [inline]

Definition at line 53 of file ImathFun.h.

template<class S , class T >
Box< Vec3<S> > Imath::affineTransform ( const Box< Vec3< S > > &  box,
const Matrix44< T > &  m 
) [inline]

Definition at line 240 of file ImathBoxAlgo.h.

template<class T >
Matrix44< T > Imath::alignZAxisWithTargetDir ( Vec3< T >  targetDir,
Vec3< T >  upDir 
) [inline]

Definition at line 796 of file ImathMatrixAlgo.h.

template<class T >
T Imath::angle4D ( const Quat< T > &  q1,
const Quat< T > &  q2 
) [inline]

Definition at line 475 of file ImathQuat.h.

template<class T >
int Imath::ceil ( x  )  [inline]

Definition at line 156 of file ImathFun.h.

template<class T >
bool Imath::checkForZeroScaleInRow ( const T &  scl,
const Vec2< T > &  row,
bool  exc = true 
) [inline]

Definition at line 1093 of file ImathMatrixAlgo.h.

template<class T >
bool Imath::checkForZeroScaleInRow ( const T &  scl,
const Vec3< T > &  row,
bool  exc = true 
) [inline]

Definition at line 732 of file ImathMatrixAlgo.h.

template<class T >
T Imath::clamp ( a,
l,
h 
) [inline]

Definition at line 109 of file ImathFun.h.

template<class T >
T Imath::clip ( const T &  p,
const Box< T > &  box 
) [inline]

Examples:
CHOP/CHOP_Blend.C, and CHOP/CHOP_Spring.C.

Definition at line 82 of file ImathBoxAlgo.h.

template<class T >
T Imath::closestPointInBox ( const T &  p,
const Box< T > &  box 
) [inline]

Definition at line 107 of file ImathBoxAlgo.h.

template<class T >
Vec3<T> Imath::closestPointOnBox ( const Vec3< T > &  p,
const Box< Vec3< T > > &  box 
) [inline]

Definition at line 115 of file ImathBoxAlgo.h.

template<class T >
bool Imath::closestPoints ( const Line3< T > &  line1,
const Line3< T > &  line2,
Vec3< T > &  point1,
Vec3< T > &  point2 
) [inline]

Definition at line 84 of file ImathLineAlgo.h.

template<class Vec >
Vec Imath::closestVertex ( const Vec &  v0,
const Vec &  v1,
const Vec &  v2,
const Vec &  p 
) [inline]

Definition at line 117 of file ImathVecAlgo.h.

template<class T >
Vec3<T> Imath::closestVertex ( const Vec3< T > &  v0,
const Vec3< T > &  v1,
const Vec3< T > &  v2,
const Line3< T > &  l 
) [inline]

Definition at line 229 of file ImathLineAlgo.h.

template<class T >
int Imath::cmp ( a,
b 
) [inline]

Definition at line 117 of file ImathFun.h.

template<class T >
int Imath::cmpt ( a,
b,
t 
) [inline]

Definition at line 125 of file ImathFun.h.

::Iex::MathExc ::Iex::MathExc Imath::DEFINE_EXC ( ZeroScaleExc  ,
::Iex::MathExc   
)

::Iex::MathExc Imath::DEFINE_EXC ( NullQuatExc  ,
::Iex::MathExc   
)

Imath::DEFINE_EXC ( NullVecExc  ,
::Iex::MathExc   
)

int Imath::divp ( int  x,
int  y 
) [inline]

Definition at line 202 of file ImathFun.h.

int Imath::divs ( int  x,
int  y 
) [inline]

Examples:
SOP/SOP_Flatten.C, and VRAY/VRAY_DemoSprite.C.

Definition at line 178 of file ImathFun.h.

double Imath::drand48 (  ) 

template<class T1 , class T2 , class T3 >
bool Imath::equal ( T1  a,
T2  b,
T3  t 
) [inline]

Definition at line 141 of file ImathFun.h.

template<class T >
bool Imath::equalWithAbsError ( x1,
x2,
e 
) [inline]

Definition at line 191 of file ImathMath.h.

template<class T >
bool Imath::equalWithRelError ( x1,
x2,
e 
) [inline]

Definition at line 199 of file ImathMath.h.

double Imath::erand48 ( unsigned short  state[3]  ) 

template<class T >
bool Imath::extractAndRemoveScalingAndShear ( Matrix33< T > &  mat,
Vec2< T > &  scl,
T &  shr,
bool  exc = true 
) [inline]

Definition at line 958 of file ImathMatrixAlgo.h.

template<class T >
bool Imath::extractAndRemoveScalingAndShear ( Matrix44< T > &  mat,
Vec3< T > &  scl,
Vec3< T > &  shr,
bool  exc = true 
) [inline]

Definition at line 412 of file ImathMatrixAlgo.h.

template<class T >
void Imath::extractEuler ( const Matrix33< T > &  mat,
T &  rot 
) [inline]

Definition at line 1047 of file ImathMatrixAlgo.h.

template<class T >
void Imath::extractEulerXYZ ( const Matrix44< T > &  mat,
Vec3< T > &  rot 
) [inline]

Definition at line 527 of file ImathMatrixAlgo.h.

template<class T >
void Imath::extractEulerZYX ( const Matrix44< T > &  mat,
Vec3< T > &  rot 
) [inline]

Definition at line 575 of file ImathMatrixAlgo.h.

template<class T >
Quat< T > Imath::extractQuat ( const Matrix44< T > &  mat  )  [inline]

Definition at line 622 of file ImathMatrixAlgo.h.

template<class T >
bool Imath::extractScaling ( const Matrix33< T > &  mat,
Vec2< T > &  scl,
bool  exc = true 
) [inline]

Definition at line 860 of file ImathMatrixAlgo.h.

template<class T >
bool Imath::extractScaling ( const Matrix44< T > &  mat,
Vec3< T > &  scl,
bool  exc = true 
) [inline]

Definition at line 312 of file ImathMatrixAlgo.h.

template<class T >
bool Imath::extractScalingAndShear ( const Matrix33< T > &  mat,
Vec2< T > &  scl,
T &  h,
bool  exc = true 
) [inline]

Definition at line 917 of file ImathMatrixAlgo.h.

template<class T >
bool Imath::extractScalingAndShear ( const Matrix44< T > &  mat,
Vec3< T > &  scl,
Vec3< T > &  shr,
bool  exc = true 
) [inline]

Definition at line 369 of file ImathMatrixAlgo.h.

template<class T >
bool Imath::extractSHRT ( const Matrix33< T > &  mat,
Vec2< T > &  s,
T &  h,
T &  r,
Vec2< T > &  t,
bool  exc = true 
) [inline]

Definition at line 1069 of file ImathMatrixAlgo.h.

template<class T >
bool Imath::extractSHRT ( const Matrix44< T > &  mat,
Vec3< T > &  s,
Vec3< T > &  h,
Euler< T > &  r,
Vec3< T > &  t,
bool  exc = true 
) [inline]

Definition at line 719 of file ImathMatrixAlgo.h.

template<class T >
bool Imath::extractSHRT ( const Matrix44< T > &  mat,
Vec3< T > &  s,
Vec3< T > &  h,
Vec3< T > &  r,
Vec3< T > &  t,
bool  exc = true 
) [inline]

Definition at line 707 of file ImathMatrixAlgo.h.

template<class T >
bool Imath::extractSHRT ( const Matrix44< T > &  mat,
Vec3< T > &  s,
Vec3< T > &  h,
Vec3< T > &  r,
Vec3< T > &  t,
bool  exc,
typename Euler< T >::Order  rOrder 
) [inline]

Definition at line 675 of file ImathMatrixAlgo.h.

template<class T >
bool Imath::findEntryAndExitPoints ( const Line3< T > &  r,
const Box< Vec3< T > > &  b,
Vec3< T > &  entry,
Vec3< T > &  exit 
) [inline]

Definition at line 292 of file ImathBoxAlgo.h.

bool Imath::finited ( double  d  )  [inline]

Definition at line 256 of file ImathFun.h.

bool Imath::finitef ( float  f  )  [inline]

Definition at line 247 of file ImathFun.h.

template<class T >
Matrix44< T > Imath::firstFrame ( const Vec3< T > &  pi,
const Vec3< T > &  pj,
const Vec3< T > &  pk 
) [inline]

Definition at line 89 of file ImathFrame.h.

template<class T >
int Imath::floor ( x  )  [inline]

Definition at line 148 of file ImathFun.h.

template<class Rand >
float Imath::gaussRand ( Rand &  rand  )  [inline]

Definition at line 371 of file ImathRandom.h.

template<class Vec , class Rand >
Vec Imath::gaussSphereRand ( Rand &  rand  )  [inline]

Definition at line 391 of file ImathRandom.h.

template<class Vec , class Rand >
Vec Imath::hollowSphereRand ( Rand &  rand  )  [inline]

Definition at line 351 of file ImathRandom.h.

template<class T >
Color4<T> Imath::hsv2rgb ( const Color4< T > &  hsv  )  [inline]

Definition at line 95 of file ImathColorAlgo.h.

template<class T >
Vec3<T> Imath::hsv2rgb ( const Vec3< T > &  hsv  )  [inline]

Definition at line 72 of file ImathColorAlgo.h.

Color4<double> Imath::hsv2rgb_d ( const Color4< double > &  hsv  ) 

Vec3<double> Imath::hsv2rgb_d ( const Vec3< double > &  hsv  ) 

template<class T >
Quat<T> Imath::intermediate ( const Quat< T > &  q0,
const Quat< T > &  q1,
const Quat< T > &  q2 
) [inline]

Definition at line 603 of file ImathQuat.h.

template<class T >
void Imath::intermediate ( const Quat< T > &  q0,
const Quat< T > &  q1,
const Quat< T > &  q2,
const Quat< T > &  q3,
Quat< T > &  qa,
Quat< T > &  qb 
) [inline]

template<class T >
bool Imath::intersect ( const Line3< T > &  line,
const Vec3< T > &  v0,
const Vec3< T > &  v1,
const Vec3< T > &  v2,
Vec3< T > &  pt,
Vec3< T > &  barycentric,
bool &  front 
) [inline]

Examples:
tetprim/GU_PrimTetra.C.

Definition at line 124 of file ImathLineAlgo.h.

template<class T >
bool Imath::intersects ( const Box< Vec3< T > > &  box,
const Line3< T > &  ray 
) [inline]

Definition at line 861 of file ImathBoxAlgo.h.

template<class T >
bool Imath::intersects ( const Box< Vec3< T > > &  b,
const Line3< T > &  r,
Vec3< T > &  ip 
) [inline]

Definition at line 582 of file ImathBoxAlgo.h.

template<class T >
bool Imath::iszero ( a,
t 
) [inline]

Definition at line 133 of file ImathFun.h.

template<class T >
Matrix44< T > Imath::lastFrame ( const Matrix44< T > &  Mi,
const Vec3< T > &  pi,
const Vec3< T > &  pj 
) [inline]

Definition at line 178 of file ImathFrame.h.

template<class T , class Q >
T Imath::lerp ( a,
b,
t 
) [inline]

Definition at line 69 of file ImathFun.h.

template<class T >
T Imath::lerpfactor ( m,
a,
b 
) [inline]

Definition at line 85 of file ImathFun.h.

long int Imath::lrand48 (  ) 

int Imath::modp ( int  x,
int  y 
) [inline]

Definition at line 210 of file ImathFun.h.

int Imath::mods ( int  x,
int  y 
) [inline]

Definition at line 186 of file ImathFun.h.

template<class T >
Matrix44< T > Imath::nextFrame ( const Matrix44< T > &  Mi,
const Vec3< T > &  pi,
const Vec3< T > &  pj,
Vec3< T > &  ti,
Vec3< T > &  tj 
) [inline]

Definition at line 127 of file ImathFrame.h.

long int Imath::nrand48 ( unsigned short  state[3]  ) 

template<class T >
Vec4< T > Imath::operator* ( a,
const Vec4< T > &  v 
) [inline]

Definition at line 2214 of file ImathVec.h.

template<class T >
Vec3< T > Imath::operator* ( a,
const Vec3< T > &  v 
) [inline]

Definition at line 2207 of file ImathVec.h.

template<class T >
Vec2< T > Imath::operator* ( a,
const Vec2< T > &  v 
) [inline]

Definition at line 2200 of file ImathVec.h.

template<class S , class T >
Shear6< T > Imath::operator* ( a,
const Shear6< T > &  h 
) [inline]

Definition at line 650 of file ImathShear.h.

template<class T >
Vec3< T > Imath::operator* ( const Vec3< T > &  v,
const Quat< T > &  q 
) [inline]

Definition at line 950 of file ImathQuat.h.

template<class T >
Quat< T > Imath::operator* ( t,
const Quat< T > &  q 
) [inline]

Definition at line 910 of file ImathQuat.h.

template<class T >
Quat< T > Imath::operator* ( const Quat< T > &  q,
t 
) [inline]

Definition at line 902 of file ImathQuat.h.

template<class T >
Quat< T > Imath::operator* ( const Quat< T > &  q1,
const Quat< T > &  q2 
) [inline]

Definition at line 877 of file ImathQuat.h.

template<class T >
Matrix33< T > Imath::operator* ( const Quat< T > &  q,
const Matrix33< T > &  M 
) [inline]

Definition at line 857 of file ImathQuat.h.

template<class T >
Matrix33< T > Imath::operator* ( const Matrix33< T > &  M,
const Quat< T > &  q 
) [inline]

Definition at line 849 of file ImathQuat.h.

template<class T >
Plane3<T> Imath::operator* ( const Plane3< T > &  plane,
const Matrix44< T > &  M 
) [inline]

Definition at line 212 of file ImathPlane.h.

template<class T >
Matrix44<T> Imath::operator* ( a,
const Matrix44< T > &  v 
) [inline]

Definition at line 2407 of file ImathMatrix.h.

template<class T >
Matrix33<T> Imath::operator* ( a,
const Matrix33< T > &  v 
) [inline]

Definition at line 1242 of file ImathMatrix.h.

template<class S , class T >
Vec4< S > Imath::operator* ( const Vec4< S > &  v,
const Matrix44< T > &  m 
) [inline]

Definition at line 3296 of file ImathMatrix.h.

template<class S , class T >
Vec3< S > Imath::operator* ( const Vec3< S > &  v,
const Matrix44< T > &  m 
) [inline]

Definition at line 3266 of file ImathMatrix.h.

template<class S , class T >
Vec3< S > Imath::operator* ( const Vec3< S > &  v,
const Matrix33< T > &  m 
) [inline]

Definition at line 3238 of file ImathMatrix.h.

template<class S , class T >
Vec2< S > Imath::operator* ( const Vec2< S > &  v,
const Matrix33< T > &  m 
) [inline]

Definition at line 3211 of file ImathMatrix.h.

template<class S , class T >
Line3<S> Imath::operator* ( const Line3< S > &  line,
const Matrix44< T > &  M 
) [inline]

Definition at line 176 of file ImathLine.h.

template<class S , class T >
Color4< T > Imath::operator* ( a,
const Color4< T > &  v 
) [inline]

Definition at line 727 of file ImathColor.h.

template<class S , class T >
const Vec4< S > & Imath::operator*= ( Vec4< S > &  v,
const Matrix44< T > &  m 
) [inline]

Definition at line 3279 of file ImathMatrix.h.

template<class S , class T >
const Vec3< S > & Imath::operator*= ( Vec3< S > &  v,
const Matrix44< T > &  m 
) [inline]

Definition at line 3250 of file ImathMatrix.h.

template<class S , class T >
const Vec3< S > & Imath::operator*= ( Vec3< S > &  v,
const Matrix33< T > &  m 
) [inline]

Definition at line 3223 of file ImathMatrix.h.

template<class S , class T >
const Vec2< S > & Imath::operator*= ( Vec2< S > &  v,
const Matrix33< T > &  m 
) [inline]

Definition at line 3197 of file ImathMatrix.h.

template<class T >
Quat< T > Imath::operator+ ( const Quat< T > &  q1,
const Quat< T > &  q2 
) [inline]

Definition at line 918 of file ImathQuat.h.

template<class T >
Quat< T > Imath::operator- ( const Quat< T > &  q  )  [inline]

Definition at line 942 of file ImathQuat.h.

template<class T >
Quat< T > Imath::operator- ( const Quat< T > &  q1,
const Quat< T > &  q2 
) [inline]

Definition at line 926 of file ImathQuat.h.

template<class T >
Plane3<T> Imath::operator- ( const Plane3< T > &  plane  )  [inline]

Definition at line 248 of file ImathPlane.h.

template<class T >
Quat< T > Imath::operator/ ( const Quat< T > &  q,
t 
) [inline]

Definition at line 894 of file ImathQuat.h.

template<class T >
Quat< T > Imath::operator/ ( const Quat< T > &  q1,
const Quat< T > &  q2 
) [inline]

Definition at line 886 of file ImathQuat.h.

template<class T >
std::ostream & Imath::operator<< ( std::ostream &  s,
const Vec4< T > &  v 
) [inline]

Definition at line 2188 of file ImathVec.h.

template<class T >
std::ostream & Imath::operator<< ( std::ostream &  s,
const Vec3< T > &  v 
) [inline]

Definition at line 2181 of file ImathVec.h.

template<class T >
std::ostream & Imath::operator<< ( std::ostream &  s,
const Vec2< T > &  v 
) [inline]

Definition at line 2174 of file ImathVec.h.

template<class T >
std::ostream & Imath::operator<< ( std::ostream &  s,
const Shear6< T > &  h 
) [inline]

Definition at line 635 of file ImathShear.h.

template<class T >
std::ostream & Imath::operator<< ( std::ostream &  o,
const Quat< T > &  q 
) [inline]

Definition at line 865 of file ImathQuat.h.

template<class T >
std::ostream& Imath::operator<< ( std::ostream &  o,
const Plane3< T > &  plane 
) [inline]

Definition at line 205 of file ImathPlane.h.

template<class T >
std::ostream & Imath::operator<< ( std::ostream &  s,
const Matrix44< T > &  m 
) [inline]

Definition at line 3149 of file ImathMatrix.h.

template<class T >
std::ostream & Imath::operator<< ( std::ostream &  s,
const Matrix33< T > &  m 
) [inline]

Definition at line 3114 of file ImathMatrix.h.

template<class T >
std::ostream& Imath::operator<< ( std::ostream &  o,
const Line3< T > &  line 
) [inline]

Definition at line 170 of file ImathLine.h.

template<class T >
std::ostream& Imath::operator<< ( std::ostream &  o,
const Euler< T > &  euler 
) [inline]

Definition at line 828 of file ImathEuler.h.

template<class T >
std::ostream & Imath::operator<< ( std::ostream &  s,
const Color4< T > &  v 
) [inline]

Definition at line 716 of file ImathColor.h.

template<class T >
T Imath::operator^ ( const Quat< T > &  q1,
const Quat< T > &  q2 
) [inline]

Definition at line 374 of file ImathQuat.h.

template<class T >
Quat< T > Imath::operator~ ( const Quat< T > &  q  )  [inline]

Definition at line 934 of file ImathQuat.h.

template<class Vec >
Vec Imath::orthogonal ( const Vec &  s,
const Vec &  t 
) [inline]

Definition at line 103 of file ImathVecAlgo.h.

template<class T >
void Imath::packed2rgb ( PackedColor  packed,
Color4< T > &  out 
) [inline]

Definition at line 233 of file ImathColorAlgo.h.

template<class T >
void Imath::packed2rgb ( PackedColor  packed,
Vec3< T > &  out 
) [inline]

Definition at line 213 of file ImathColorAlgo.h.

double Imath::predd ( double  d  ) 

float Imath::predf ( float  f  ) 

template<class Vec >
Vec Imath::project ( const Vec &  s,
const Vec &  t 
) [inline]

Definition at line 95 of file ImathVecAlgo.h.

template<class Vec >
Vec Imath::reflect ( const Vec &  s,
const Vec &  t 
) [inline]

Definition at line 110 of file ImathVecAlgo.h.

template<class T >
bool Imath::removeScaling ( Matrix33< T > &  mat,
bool  exc = true 
) [inline]

Definition at line 896 of file ImathMatrixAlgo.h.

template<class T >
bool Imath::removeScaling ( Matrix44< T > &  mat,
bool  exc = true 
) [inline]

Definition at line 348 of file ImathMatrixAlgo.h.

template<class T >
bool Imath::removeScalingAndShear ( Matrix33< T > &  mat,
bool  exc = true 
) [inline]

Definition at line 945 of file ImathMatrixAlgo.h.

template<class T >
bool Imath::removeScalingAndShear ( Matrix44< T > &  mat,
bool  exc = true 
) [inline]

Definition at line 398 of file ImathMatrixAlgo.h.

template<class T >
Color4<T> Imath::rgb2hsv ( const Color4< T > &  rgb  )  [inline]

Definition at line 143 of file ImathColorAlgo.h.

template<class T >
Vec3<T> Imath::rgb2hsv ( const Vec3< T > &  rgb  )  [inline]

Definition at line 120 of file ImathColorAlgo.h.

Color4<double> Imath::rgb2hsv_d ( const Color4< double > &  rgb  ) 

Vec3<double> Imath::rgb2hsv_d ( const Vec3< double > &  rgb  ) 

template<class T >
PackedColor Imath::rgb2packed ( const Color4< T > &  c  )  [inline]

Definition at line 186 of file ImathColorAlgo.h.

template<class T >
PackedColor Imath::rgb2packed ( const Vec3< T > &  c  )  [inline]

Definition at line 167 of file ImathColorAlgo.h.

template<class T >
Vec3<T> Imath::rotatePoint ( const Vec3< T >  p,
Line3< T >  l,
angle 
) [inline]

Definition at line 258 of file ImathLineAlgo.h.

template<class T >
Matrix44< T > Imath::rotationMatrix ( const Vec3< T > &  fromDirection,
const Vec3< T > &  toDirection 
) [inline]

Definition at line 754 of file ImathMatrixAlgo.h.

template<class T >
Matrix44< T > Imath::rotationMatrixWithUpDir ( const Vec3< T > &  fromDir,
const Vec3< T > &  toDir,
const Vec3< T > &  upDir 
) [inline]

Definition at line 764 of file ImathMatrixAlgo.h.

template<class T >
Matrix33< T > Imath::sansScaling ( const Matrix33< T > &  mat,
bool  exc = true 
) [inline]

Definition at line 874 of file ImathMatrixAlgo.h.

template<class T >
Matrix44< T > Imath::sansScaling ( const Matrix44< T > &  mat,
bool  exc = true 
) [inline]

Definition at line 326 of file ImathMatrixAlgo.h.

template<class T >
Matrix33< T > Imath::sansScalingAndShear ( const Matrix33< T > &  mat,
bool  exc = true 
) [inline]

Definition at line 930 of file ImathMatrixAlgo.h.

template<class T >
Matrix44< T > Imath::sansScalingAndShear ( const Matrix44< T > &  mat,
bool  exc = true 
) [inline]

Definition at line 383 of file ImathMatrixAlgo.h.

template<class T >
int Imath::sign ( a  )  [inline]

Definition at line 61 of file ImathFun.h.

template<class T >
T Imath::sinx_over_x ( x  )  [inline]

Definition at line 161 of file ImathMath.h.

template<class T >
Quat< T > Imath::slerp ( const Quat< T > &  q1,
const Quat< T > &  q2,
t 
) [inline]

Definition at line 494 of file ImathQuat.h.

template<class T >
Quat< T > Imath::slerpShortestArc ( const Quat< T > &  q1,
const Quat< T > &  q2,
t 
) [inline]

Definition at line 527 of file ImathQuat.h.

template<class Vec , class Rand >
Vec Imath::solidSphereRand ( Rand &  rand  )  [inline]

Definition at line 334 of file ImathRandom.h.

template<class T >
int Imath::solveCubic ( a,
b,
c,
d,
x[3] 
) [inline]

Definition at line 203 of file ImathRoots.h.

template<class T >
int Imath::solveLinear ( a,
b,
T &  x 
) [inline]

Definition at line 96 of file ImathRoots.h.

template<class T >
int Imath::solveNormalizedCubic ( r,
s,
t,
x[3] 
) [inline]

Definition at line 149 of file ImathRoots.h.

template<class T >
int Imath::solveQuadratic ( a,
b,
c,
x[2] 
) [inline]

Definition at line 116 of file ImathRoots.h.

template<class T >
Quat<T> Imath::spline ( const Quat< T > &  q0,
const Quat< T > &  q1,
const Quat< T > &  q2,
const Quat< T > &  q3,
t 
) [inline]

Definition at line 544 of file ImathQuat.h.

template<class T >
Quat< T > Imath::squad ( const Quat< T > &  q1,
const Quat< T > &  q2,
const Quat< T > &  qa,
const Quat< T > &  qb,
t 
) [inline]

Definition at line 580 of file ImathQuat.h.

void Imath::srand48 ( long int  seed  ) 

Examples:
VEX/VEX_Example.C.

double Imath::succd ( double  d  ) 

float Imath::succf ( float  f  ) 

template<class S , class T >
Box< Vec3<S> > Imath::transform ( const Box< Vec3< S > > &  box,
const Matrix44< T > &  m 
) [inline]

Definition at line 158 of file ImathBoxAlgo.h.

template<class T >
int Imath::trunc ( x  )  [inline]

Definition at line 163 of file ImathFun.h.

template<class T , class Q >
T Imath::ulerp ( a,
b,
t 
) [inline]

Definition at line 77 of file ImathFun.h.


Variable Documentation

IMATH_EXPORT_CONST M33d Imath::identity33d

Definition at line 78 of file ImathMatrixAlgo.h.

IMATH_EXPORT_CONST M33f Imath::identity33f

Definition at line 76 of file ImathMatrixAlgo.h.

IMATH_EXPORT_CONST M44d Imath::identity44d

Definition at line 79 of file ImathMatrixAlgo.h.

IMATH_EXPORT_CONST M44f Imath::identity44f

Definition at line 77 of file ImathMatrixAlgo.h.


Generated on Thu Jan 31 00:34:41 2013 for HDK by  doxygen 1.5.9