HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vec3h.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/gf/half.h"
#include "pxr/base/tf/hash.h"
#include <cstddef>
#include <cmath>
#include <iosfwd>
#include "pxr/base/gf/vec3d.h"
#include "pxr/base/gf/vec3f.h"
#include "pxr/base/gf/vec3i.h"
+ Include dependency graph for vec3h.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  GfIsGfVec< class GfVec3h >
 
class  GfVec3h
 

Functions

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

Function Documentation

GF_API void GfBuildOrthonormalFrame ( GfVec3h const &  v0,
GfVec3h v1,
GfVec3h v2,
GfHalf  eps = 0.001 
)
GfVec3h GfCompDiv ( GfVec3h const &  v1,
GfVec3h const &  v2 
)
inline

Returns component-wise quotient of vectors v1 and v2.

Definition at line 359 of file vec3h.h.

GfVec3h GfCompMult ( GfVec3h const &  v1,
GfVec3h const &  v2 
)
inline

Returns component-wise multiplication of vectors v1 and v2.

Definition at line 349 of file vec3h.h.

GfVec3h GfCross ( GfVec3h const &  v1,
GfVec3h const &  v2 
)
inline

Returns the cross product of v1 and v2.

Definition at line 441 of file vec3h.h.

GfHalf GfDot ( GfVec3h const &  v1,
GfVec3h const &  v2 
)
inline

Returns the dot (inner) product of two vectors.

Definition at line 369 of file vec3h.h.

GfVec3h GfGetComplement ( GfVec3h const &  a,
GfVec3h const &  b 
)
inline

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

a - a.GetProjection(b)

Definition at line 414 of file vec3h.h.

GfHalf GfGetLength ( GfVec3h const &  v)
inline

Returns the geometric length of v.

Definition at line 376 of file vec3h.h.

GfVec3h GfGetNormalized ( GfVec3h const &  v,
GfHalf  eps = 0.001 
)
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 394 of file vec3h.h.

GfVec3h GfGetProjection ( GfVec3h const &  a,
GfVec3h const &  b 
)
inline

Returns the projection of a onto b. That is:

b * (a * b)

Definition at line 404 of file vec3h.h.

bool GfIsClose ( GfVec3h const &  v1,
GfVec3h 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 422 of file vec3h.h.

GfHalf GfNormalize ( GfVec3h v,
GfHalf  eps = 0.001 
)
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 385 of file vec3h.h.

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

Spherical linear interpolation in three dimensions.

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

Returns the cross product of v1 and v2.

See Also
GfCross()

Definition at line 452 of file vec3h.h.