Linear Algebra

## Files

file  homogeneous.h
Utility functions for GfVec4f and GfVec4d as homogeneous vectors.

file  matrix2d.h

file  matrix2f.h

file  matrix3d.h

file  matrix3f.h

file  matrix4d.h

file  matrix4f.h

file  quatd.h

file  quaternion.h

file  quatf.h

file  quath.h

file  rect2i.h

file  rotation.h

file  size2.h

file  size3.h

file  transform.h

file  vec2d.h

file  vec2f.h

file  vec2h.h

file  vec2i.h

file  vec3d.h

file  vec3f.h

file  vec3h.h

file  vec3i.h

file  vec4d.h

file  vec4f.h

file  vec4h.h

file  vec4i.h

## Classes

class  GfMatrix2d
Stores a 2x2 matrix of `double` elements. More...

class  GfMatrix2f
Stores a 2x2 matrix of `float` elements. More...

class  GfMatrix3d
Stores a 3x3 matrix of `double` elements. More...

class  GfMatrix3f
Stores a 3x3 matrix of `float` elements. More...

class  GfMatrix4d
Stores a 4x4 matrix of `double` elements. More...

class  GfMatrix4f
Stores a 4x4 matrix of `float` elements. More...

class  GfQuatd
Basic type: a quaternion, a complex number with a real coefficient and three imaginary coefficients, stored as a 3-vector. More...

class  GfQuaternion
Basic type: complex number with scalar real part and vector imaginary part. More...

class  GfQuatf
Basic type: a quaternion, a complex number with a real coefficient and three imaginary coefficients, stored as a 3-vector. More...

class  GfQuath
Basic type: a quaternion, a complex number with a real coefficient and three imaginary coefficients, stored as a 3-vector. More...

class  GfRect2i
A 2D rectangle with integer coordinates for windowing operations. More...

class  GfRotation
Basic type: 3-space rotation specification. More...

class  GfSize2
Two-dimensional array of sizes. More...

class  GfSize3
Three-dimensional array of sizes. More...

class  GfTransform
Basic type: Compound linear transformation. More...

class  GfVec2d
Basic type for a vector of 2 double components. More...

class  GfVec2f
Basic type for a vector of 2 float components. More...

class  GfVec2h
Basic type for a vector of 2 GfHalf components. More...

class  GfVec2i
Basic type for a vector of 2 int components. More...

class  GfVec3d
Basic type for a vector of 3 double components. More...

class  GfVec3f
Basic type for a vector of 3 float components. More...

class  GfVec3h
Basic type for a vector of 3 GfHalf components. More...

class  GfVec3i
Basic type for a vector of 3 int components. More...

class  GfVec4d
Basic type for a vector of 4 double components. More...

class  GfVec4f
Basic type for a vector of 4 float components. More...

class  GfVec4h
Basic type for a vector of 4 GfHalf components. More...

class  GfVec4i
Basic type for a vector of 4 int components. More...

## Macros

#define GF_MIN_ORTHO_TOLERANCE   1e-6
This constant is used to determine when a set of basis vectors is close to orthogonal. More...

## Functions

GF_API GfVec4f GfGetHomogenized (const GfVec4f &v)
Returns a vector which is `v` homogenized. More...

GF_API GfVec4f GfHomogeneousCross (const GfVec4f &a, const GfVec4f &b)
Homogenizes `a` and `b` and then performs the cross product on the first three elements of each. More...

GF_API GfVec4d GfHomogeneousCross (const GfVec4d &a, const GfVec4d &b)
Homogenizes `a` and `b` and then performs the cross product on the first three elements of each. More...

## Macro Definition Documentation

 #define GF_MIN_ORTHO_TOLERANCE   1e-6

This constant is used to determine when a set of basis vectors is close to orthogonal.

Definition at line 39 of file limits.h.

## Function Documentation

 GF_API GfVec4f GfGetHomogenized ( const GfVec4f & v )

Returns a vector which is `v` homogenized.

If the fourth element of `v` is 0, it is set to 1.

 GF_API GfVec4f GfHomogeneousCross ( const GfVec4f & a, const GfVec4f & b )

Homogenizes `a` and `b` and then performs the cross product on the first three elements of each.

Returns the cross product as a homogenized vector.

 GF_API GfVec4d GfHomogeneousCross ( const GfVec4d & a, const GfVec4d & b )

Homogenizes `a` and `b` and then performs the cross product on the first three elements of each.

Returns the cross product as a homogenized vector.