HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vec3f.h File Reference
#include "pxr/pxr.h"
#include "pxr/base/tf/diagnostic.h"
#include "pxr/base/gf/api.h"
#include "pxr/base/gf/limits.h"
#include "pxr/base/gf/traits.h"
#include "pxr/base/gf/math.h"
#include "pxr/base/tf/hash.h"
#include <cstddef>
#include <cmath>
#include <iosfwd>
#include "pxr/base/gf/vec3d.h"
#include "pxr/base/gf/vec3h.h"
#include "pxr/base/gf/vec3i.h"
+ Include dependency graph for vec3f.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  GfIsGfVec< class GfVec3f >
 
class  GfVec3f
 

Functions

GF_API std::ostream & operator<< (std::ostream &, GfVec3f const &)
 
GfVec3f GfCompMult (GfVec3f const &v1, GfVec3f const &v2)
 Returns component-wise multiplication of vectors v1 and v2. More...
 
GfVec3f GfCompDiv (GfVec3f const &v1, GfVec3f const &v2)
 Returns component-wise quotient of vectors v1 and v2. More...
 
float GfDot (GfVec3f const &v1, GfVec3f const &v2)
 Returns the dot (inner) product of two vectors. More...
 
float GfGetLength (GfVec3f const &v)
 Returns the geometric length of v. More...
 
float GfNormalize (GfVec3f *v, float eps=GF_MIN_VECTOR_LENGTH)
 
GfVec3f GfGetNormalized (GfVec3f const &v, float eps=GF_MIN_VECTOR_LENGTH)
 
GfVec3f GfGetProjection (GfVec3f const &a, GfVec3f const &b)
 
GfVec3f GfGetComplement (GfVec3f const &a, GfVec3f const &b)
 
bool GfIsClose (GfVec3f const &v1, GfVec3f const &v2, double tolerance)
 
GF_API bool GfOrthogonalizeBasis (GfVec3f *tx, GfVec3f *ty, GfVec3f *tz, bool normalize, double eps=GF_MIN_ORTHO_TOLERANCE)
 
GF_API void GfBuildOrthonormalFrame (GfVec3f const &v0, GfVec3f *v1, GfVec3f *v2, float eps=GF_MIN_VECTOR_LENGTH)
 
GfVec3f GfCross (GfVec3f const &v1, GfVec3f const &v2)
 Returns the cross product of v1 and v2. More...
 
GfVec3f operator^ (GfVec3f const &v1, GfVec3f const &v2)
 
GF_API GfVec3f GfSlerp (double alpha, GfVec3f const &v0, GfVec3f const &v1)
 Spherical linear interpolation in three dimensions. More...
 

Function Documentation

GF_API void GfBuildOrthonormalFrame ( GfVec3f const v0,
GfVec3f v1,
GfVec3f v2,
float  eps = GF_MIN_VECTOR_LENGTH 
)
GfVec3f GfCompDiv ( GfVec3f const v1,
GfVec3f const v2 
)
inline

Returns component-wise quotient of vectors v1 and v2.

Definition at line 358 of file vec3f.h.

GfVec3f GfCompMult ( GfVec3f const v1,
GfVec3f const v2 
)
inline

Returns component-wise multiplication of vectors v1 and v2.

Definition at line 348 of file vec3f.h.

GfVec3f GfCross ( GfVec3f const v1,
GfVec3f const v2 
)
inline

Returns the cross product of v1 and v2.

Definition at line 440 of file vec3f.h.

float GfDot ( GfVec3f const v1,
GfVec3f const v2 
)
inline

Returns the dot (inner) product of two vectors.

Definition at line 368 of file vec3f.h.

GfVec3f GfGetComplement ( GfVec3f const a,
GfVec3f const b 
)
inline

Returns the orthogonal complement of a.GetProjection(b). That is:

a - a.GetProjection(b)

Definition at line 413 of file vec3f.h.

float GfGetLength ( GfVec3f const v)
inline

Returns the geometric length of v.

Definition at line 375 of file vec3f.h.

GfVec3f GfGetNormalized ( GfVec3f const v,
float  eps = GF_MIN_VECTOR_LENGTH 
)
inline

Returns a normalized (unit-length) vector with the same direction as v. If the length of this vector is smaller than eps, the vector divided by eps is returned.

Definition at line 393 of file vec3f.h.

GfVec3f GfGetProjection ( GfVec3f const a,
GfVec3f const b 
)
inline

Returns the projection of a onto b. That is:

b * (a * b)

Definition at line 403 of file vec3f.h.

bool GfIsClose ( GfVec3f const v1,
GfVec3f const v2,
double  tolerance 
)
inline

Tests for equality within a given tolerance, returning true if the length of the difference vector is less than or equal to tolerance.

Definition at line 421 of file vec3f.h.

float GfNormalize ( GfVec3f v,
float  eps = GF_MIN_VECTOR_LENGTH 
)
inline

Normalizes *v in place to unit length, returning the length before normalization. If the length of *v is smaller than eps then *v is set to *v/eps. The original length of *v is returned.

Definition at line 384 of file vec3f.h.

GF_API bool GfOrthogonalizeBasis ( GfVec3f tx,
GfVec3f ty,
GfVec3f tz,
bool  normalize,
double  eps = GF_MIN_ORTHO_TOLERANCE 
)
GF_API GfVec3f GfSlerp ( double  alpha,
GfVec3f const v0,
GfVec3f const v1 
)

Spherical linear interpolation in three dimensions.

GF_API std::ostream& operator<< ( std::ostream &  ,
GfVec3f const  
)
GfVec3f operator^ ( GfVec3f const v1,
GfVec3f const v2 
)
inline

Returns the cross product of v1 and v2.

See Also
GfCross()

Definition at line 451 of file vec3f.h.