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

Go to the source code of this file.

Classes

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

Functions

GF_API std::ostream & operator<< (std::ostream &, GfVec2d const &)
 Output a GfVec2d.
 
GfVec2d GfCompMult (GfVec2d const &v1, GfVec2d const &v2)
 Returns component-wise multiplication of vectors v1 and v2.
 
GfVec2d GfCompDiv (GfVec2d const &v1, GfVec2d const &v2)
 Returns component-wise quotient of vectors v1 and v2.
 
double GfDot (GfVec2d const &v1, GfVec2d const &v2)
 Returns the dot (inner) product of two vectors.
 
double GfGetLength (GfVec2d const &v)
 Returns the geometric length of v.
 
double GfNormalize (GfVec2d *v, double eps=GF_MIN_VECTOR_LENGTH)
 Normalizes *v in place to unit length, returning the length before normalization.
 
GfVec2d GfGetNormalized (GfVec2d const &v, double eps=GF_MIN_VECTOR_LENGTH)
 Returns a normalized (unit-length) vector with the same direction as v.
 
GfVec2d GfGetProjection (GfVec2d const &a, GfVec2d const &b)
 Returns the projection of a onto b.
 
GfVec2d GfGetComplement (GfVec2d const &a, GfVec2d const &b)
 Returns the orthogonal complement of a.GetProjection(b).
 
bool GfIsClose (GfVec2d const &v1, GfVec2d 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()

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

Returns component-wise quotient of vectors v1 and v2.

Definition at line 303 of file vec2d.h.

◆ GfCompMult()

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

Returns component-wise multiplication of vectors v1 and v2.

Definition at line 294 of file vec2d.h.

◆ GfDot()

double GfDot ( GfVec2d const &  v1,
GfVec2d const &  v2 
)
inline

Returns the dot (inner) product of two vectors.

Definition at line 312 of file vec2d.h.

◆ GfGetComplement()

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

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

That is:

a - a.GetProjection(b)

Definition at line 357 of file vec2d.h.

◆ GfGetLength()

double GfGetLength ( GfVec2d const &  v)
inline

Returns the geometric length of v.

Definition at line 319 of file vec2d.h.

◆ GfGetNormalized()

GfVec2d GfGetNormalized ( GfVec2d const &  v,
double  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 337 of file vec2d.h.

◆ GfGetProjection()

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

Returns the projection of a onto b.

That is:

b * (a * b)

Definition at line 347 of file vec2d.h.

◆ GfIsClose()

bool GfIsClose ( GfVec2d const &  v1,
GfVec2d 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 365 of file vec2d.h.

◆ GfNormalize()

double GfNormalize ( GfVec2d v,
double  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 328 of file vec2d.h.