All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
vec2h.h File Reference
+ Include dependency graph for vec2h.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

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

Functions

GF_API std::ostream & operator<< (std::ostream &, GfVec2h const &)
 Output a GfVec2h.
 
GfVec2h GfCompMult (GfVec2h const &v1, GfVec2h const &v2)
 Returns component-wise multiplication of vectors v1 and v2.
 
GfVec2h GfCompDiv (GfVec2h const &v1, GfVec2h const &v2)
 Returns component-wise quotient of vectors v1 and v2.
 
GfHalf GfDot (GfVec2h const &v1, GfVec2h const &v2)
 Returns the dot (inner) product of two vectors.
 
GfHalf GfGetLength (GfVec2h const &v)
 Returns the geometric length of v.
 
GfHalf GfNormalize (GfVec2h *v, GfHalf eps=0.001)
 Normalizes *v in place to unit length, returning the length before normalization.
 
GfVec2h GfGetNormalized (GfVec2h const &v, GfHalf eps=0.001)
 Returns a normalized (unit-length) vector with the same direction as v.
 
GfVec2h GfGetProjection (GfVec2h const &a, GfVec2h const &b)
 Returns the projection of a onto b.
 
GfVec2h GfGetComplement (GfVec2h const &a, GfVec2h const &b)
 Returns the orthogonal complement of a.GetProjection(b).
 
bool GfIsClose (GfVec2h const &v1, GfVec2h const &v2, double tolerance)
 Tests for equality within a given tolerance, returning true if the length of the difference vector is less than or equal to tolerance.
 

Function Documentation

◆ GfCompDiv()

GfVec2h GfCompDiv ( GfVec2h const &  v1,
GfVec2h const &  v2 
)
inline

Returns component-wise quotient of vectors v1 and v2.

Definition at line 304 of file vec2h.h.

◆ GfCompMult()

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

Returns component-wise multiplication of vectors v1 and v2.

Definition at line 295 of file vec2h.h.

◆ GfDot()

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

Returns the dot (inner) product of two vectors.

Definition at line 313 of file vec2h.h.

◆ GfGetComplement()

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

Returns the orthogonal complement of a.GetProjection(b).

That is:

a - a.GetProjection(b)

Definition at line 358 of file vec2h.h.

◆ GfGetLength()

GfHalf GfGetLength ( GfVec2h const &  v)
inline

Returns the geometric length of v.

Definition at line 320 of file vec2h.h.

◆ GfGetNormalized()

GfVec2h GfGetNormalized ( GfVec2h 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 338 of file vec2h.h.

◆ GfGetProjection()

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

Returns the projection of a onto b.

That is:

b * (a * b)

Definition at line 348 of file vec2h.h.

◆ GfIsClose()

bool GfIsClose ( GfVec2h const &  v1,
GfVec2h 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 366 of file vec2h.h.

◆ GfNormalize()

GfHalf GfNormalize ( GfVec2h 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 329 of file vec2h.h.