OpenVDB: Vec2< T > Class Template Reference

OpenVDB 3.1.0

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
Vec2< T > Class Template Reference

`#include <Vec2.h>`

Inherits Tuple< 2, T >.

## Public Types
typedef T | value_type
typedef T | ValueType

## Public Member Functions
| Vec2 ()
| Trivial constructor, the vector is NOT initialized. More...
| Vec2 (T val)
| Constructor with one argument, e.g. Vec2f v(0);. More...
| Vec2 (T x, T y)
| Constructor with two arguments, e.g. Vec2f v(1,2,3);. More...
template<typename Source >
| Vec2 (Source *a)
| Constructor with array argument, e.g. float a[2]; Vec2f v(a);. More...
template<typename Source >
| Vec2 (const Tuple< 2, Source > &t)
| Conversion constructor. More...
T & | x ()
| Reference to the component, e.g. v.x() = 4.5f;. More...
T & | y ()
T | x () const
| Get the component, e.g. float f = v.y();. More...
T | y () const
T & | operator() (int i)
| Alternative indexed reference to the elements. More...
T | operator() (int i) const
| Alternative indexed constant reference to the elements,. More...
T * | asPointer ()
const T * | asPointer () const
const Vec2< T > & | init (T x=0, T y=0)
const Vec2< T > & | setZero ()
| Set "this" vector to zero. More...
template<typename Source >
const Vec2< T > & | operator= (const Vec2< Source > &v)
| Assignment operator. More...
bool | operator== (const Vec2< T > &v) const
| Equality operator, does exact floating point comparisons. More...
bool | operator!= (const Vec2< T > &v) const
| Inequality operator, does exact floating point comparisons. More...
bool | eq (const Vec2< T > &v, T eps=static_cast< T >(1.0e-7)) const
| Test if "this" vector is equivalent to vector v with tolerance of eps. More...
Vec2< T > | operator- () const
| Negation operator, for e.g. v1 = -v2;. More...
template<typename T0 , typename T1 >
const Vec2< T > & | add (const Vec2< T0 > &v1, const Vec2< T1 > &v2)
template<typename T0 , typename T1 >
const Vec2< T > & | sub (const Vec2< T0 > &v1, const Vec2< T1 > &v2)
template<typename T0 , typename T1 >
const Vec2< T > & | scale (T0 scalar, const Vec2< T1 > &v)
template<typename T0 , typename T1 >
const Vec2< T > & | div (T0 scalar, const Vec2< T1 > &v)
T | dot (const Vec2< T > &v) const
| Dot product. More...
T | length () const
| Length of the vector. More...
T | lengthSqr () const
const Vec2< T > & | exp ()
T | sum () const
| Return the sum of all the vector components. More...
bool | normalize (T eps=1.0e-8)
| this = normalized this More...
Vec2< T > | unit (T eps=0) const
| return normalized this, throws if null vector More...
Vec2< T > | unit (T eps, T &len) const
| return normalized this and length, throws if null vector More...
template<typename S >
const Vec2< T > & | operator*= (S scalar)
| Returns v, where for . More...
template<typename S >
const Vec2< T > & | operator*= (const Vec2< S > &v1)
| Returns v0, where for . More...
template<typename S >
const Vec2< T > & | operator/= (S scalar)
| Returns v, where for . More...
template<typename S >
const Vec2< T > & | operator/= (const Vec2< S > &v1)
| Returns v0, where for . More...
template<typename S >
const Vec2< T > & | operator+= (S scalar)
| Returns v, where for . More...
template<typename S >
const Vec2< T > & | operator+= (const Vec2< S > &v1)
| Returns v0, where for . More...
template<typename S >
const Vec2< T > & | operator-= (S scalar)
| Returns v, where for . More...
template<typename S >
const Vec2< T > & | operator-= (const Vec2< S > &v1)
| Returns v0, where for . More...
T | component (const Vec2< T > &onto, T eps=1.0e-8) const
Vec2< T > | projection (const Vec2< T > &onto, T eps=1.0e-8) const
Vec2< T > | getArbPerpendicular () const
bool | isNan () const
| True if a Nan is present in vector. More...
bool | isInfinite () const
| True if an Inf is present in vector. More...
bool | isFinite () const
| True if all no Nan or Inf values present. More...
T | operator[] (int i) const
T & | operator[] (int i)
std::string | str () const
void | write (std::ostream &os) const
void | read (std::istream &is)
Compatibility
These are mostly for backwards compability with functions that take old-style Vs (which are just arrays).
void | toV (S *v) const
| Copies this tuple into an array of a compatible type. More...
value_type * | asV ()
| Exposes the internal array. Be careful when using this function. More...
value_type const * | asV () const
| Exposes the internal array. Be careful when using this function. More...

## Static Public Member Functions
static unsigned | numRows ()
static unsigned | numColumns ()
static unsigned | numElements ()
static Vec2< T > | zero ()
| Predefined constants, e.g. Vec2f v = Vec2f::xNegAxis();. More...

## Static Public Attributes
static const int | size

## Protected Attributes
T | mm [SIZE]

## Member Typedef Documentation

typedef T value_type

typedef T ValueType

## Constructor & Destructor Documentation

Vec2 | ( |  | ) |
| inline

Trivial constructor, the vector is NOT initialized.

Vec2 | ( | T | val | ) |
| inlineexplicit

Constructor with one argument, e.g. Vec2f v(0);.

Vec2 | ( | T | x,
|  | T | y
| ) |  |
| inline

Constructor with two arguments, e.g. Vec2f v(1,2,3);.

Vec2 | ( | Source * | a | ) |
| inline

Constructor with array argument, e.g. float a[2]; Vec2f v(a);.

Vec2 | ( | const Tuple< 2, Source > & | t | ) |
| inlineexplicit

Conversion constructor.

## Member Function Documentation

const Vec2<T>& add | ( | const Vec2< T0 > & | v1,
|  | const Vec2< T1 > & | v2
| ) |  |
| inline

this = v1 + v2 "this", v1 and v2 need not be distinct objects, e.g. v.add(v1,v);

T* asPointer | ( |  | ) |
| inline

const T* asPointer | ( |  | ) | const
| inline

value_type* asV | ( |  | ) |
| inlineinherited

Exposes the internal array. Be careful when using this function.

value_type const* asV | ( |  | ) | const
| inlineinherited

Exposes the internal array. Be careful when using this function.

T component | ( | const Vec2< T > & | onto,
|  | T | eps = `1.0e-8`
| ) |  | const
| inline

Returns the scalar component of v in the direction of onto, onto need not be unit. e.g float c = Vec2f::component(v1,v2);

const Vec2<T>& div | ( | T0 | scalar,
|  | const Vec2< T1 > & | v
| ) |  |
| inline

T dot | ( | const Vec2< T > & | v | ) | const
| inline

Dot product.

bool eq | ( | const Vec2< T > & | v,
|  | T | eps = `static_cast<T>(1.0e-7)`
| ) |  | const
| inline

Test if "this" vector is equivalent to vector v with tolerance of eps.

const Vec2<T>& exp | ( |  | ) |
| inline

Return a reference to itsef after the exponent has been applied to all the vector components.

Vec2<T> getArbPerpendicular | ( |  | ) | const
| inline

Return an arbitrary unit vector perpendicular to v Vector v must be a unit vector e.g. v.normalize(); Vec2f n = Vec2f::getArbPerpendicular(v);

const Vec2<T>& init | ( | T | x = `0`,
|  | T | y = `0`
| ) |  |
| inline

"this" vector gets initialized to [x, y, z], calling v.init(); has same effect as calling v = Vec2::zero();

bool isFinite | ( |  | ) | const
| inline

True if all no Nan or Inf values present.

bool isInfinite | ( |  | ) | const
| inline

True if an Inf is present in vector.

bool isNan | ( |  | ) | const
| inline

True if a Nan is present in vector.

T length | ( |  | ) | const
| inline

Length of the vector.

T lengthSqr | ( |  | ) | const
| inline

Squared length of the vector, much faster than length() as it does not involve square root

bool normalize | ( | T | eps = `1.0e-8` | ) |
| inline

this = normalized this

static unsigned numColumns | ( |  | ) |
| inlinestatic

static unsigned numElements | ( |  | ) |
| inlinestatic

static unsigned numRows | ( |  | ) |
| inlinestatic

bool operator!= | ( | const Vec2< T > & | v | ) | const
| inline

Inequality operator, does exact floating point comparisons.

T& operator() | ( | int | i | ) |
| inline

Alternative indexed reference to the elements.

T operator() | ( | int | i | ) | const
| inline

Alternative indexed constant reference to the elements,.

const Vec2<T>& operator*= | ( | S | scalar | ) |
| inline

Returns v, where for .

const Vec2<T>& operator*= | ( | const Vec2< S > & | v1 | ) |
| inline

Returns v0, where for .

const Vec2<T>& operator+= | ( | S | scalar | ) |
| inline

Returns v, where for .

const Vec2<T>& operator+= | ( | const Vec2< S > & | v1 | ) |
| inline

Returns v0, where for .

Vec2<T> operator- | ( |  | ) | const
| inline

Negation operator, for e.g. v1 = -v2;.

const Vec2<T>& operator-= | ( | S | scalar | ) |
| inline

Returns v, where for .

const Vec2<T>& operator-= | ( | const Vec2< S > & | v1 | ) |
| inline

Returns v0, where for .

const Vec2<T>& operator/= | ( | S | scalar | ) |
| inline

Returns v, where for .

const Vec2<T>& operator/= | ( | const Vec2< S > & | v1 | ) |
| inline

Returns v0, where for .

const Vec2<T>& operator= | ( | const Vec2< Source > & | v | ) |
| inline

Assignment operator.

bool operator== | ( | const Vec2< T > & | v | ) | const
| inline

Equality operator, does exact floating point comparisons.

T operator[] | ( | int | i | ) | const
| inlineinherited

T& operator[] | ( | int | i | ) |
| inlineinherited

Vec2<T> projection | ( | const Vec2< T > & | onto,
|  | T | eps = `1.0e-8`
| ) |  | const
| inline

Return the projection of v onto the vector, onto need not be unit e.g. Vec2f v = Vec2f::projection(v,n);

void read | ( | std::istream & | is | ) |
| inlineinherited

const Vec2<T>& scale | ( | T0 | scalar,
|  | const Vec2< T1 > & | v
| ) |  |
| inline

this = scalar*v, v need not be a distinct object from "this", e.g. v.scale(1.5,v1);

const Vec2<T>& setZero | ( |  | ) |
| inline

Set "this" vector to zero.

std::string str | ( |  | ) | const
| inlineinherited

Returns
  string representation of Classname

const Vec2<T>& sub | ( | const Vec2< T0 > & | v1,
|  | const Vec2< T1 > & | v2
| ) |  |
| inline

this = v1 - v2 "this", v1 and v2 need not be distinct objects, e.g. v.sub(v1,v);

T sum | ( |  | ) | const
| inline

Return the sum of all the vector components.

void toV | ( | S * | v | ) | const
| inlineinherited

Copies this tuple into an array of a compatible type.

Vec2<T> unit | ( | T | eps = `0` | ) | const
| inline

return normalized this, throws if null vector

Vec2<T> unit | ( | T | eps,
|  | T & | len
| ) |  | const
| inline

return normalized this and length, throws if null vector

void write | ( | std::ostream & | os | ) | const
| inlineinherited

T& x | ( |  | ) |
| inline

Reference to the component, e.g. v.x() = 4.5f;.

T x | ( |  | ) | const
| inline

Get the component, e.g. float f = v.y();.

T& y | ( |  | ) |
| inline

T y | ( |  | ) | const
| inline

static Vec2<T> zero | ( |  | ) |
| inlinestatic

Predefined constants, e.g. Vec2f v = Vec2f::xNegAxis();.

## Member Data Documentation

T mm[SIZE]
| protectedinherited

const int size
| staticinherited

The documentation for this class was generated from the following file:

- Vec2.h