OpenVDB  11.0.0
Public Types | Public Member Functions | Static Public Attributes | List of all members
Vec3< T > Class Template Reference

A simple vector class with three components, similar to openvdb::math::Vec3. More...

#include <nanovdb/NanoVDB.h>

Public Types

using ValueType = T
 

Public Member Functions

 Vec3 ()=default
 
 Vec3 (T x)
 
 Vec3 (T x, T y, T z)
 
template<template< class > class Vec3T, class T2 >
 Vec3 (const Vec3T< T2 > &v)
 
template<typename T2 >
 Vec3 (const Vec3< T2 > &v)
 
 Vec3 (const Coord &ijk)
 
bool operator== (const Vec3 &rhs) const
 
bool operator!= (const Vec3 &rhs) const
 
template<template< class > class Vec3T, class T2 >
Vec3operator= (const Vec3T< T2 > &rhs)
 
const T & operator[] (int i) const
 
T & operator[] (int i)
 
template<typename Vec3T >
dot (const Vec3T &v) const
 
template<typename Vec3T >
Vec3 cross (const Vec3T &v) const
 
lengthSqr () const
 
length () const
 
Vec3 operator- () const
 
Vec3 operator* (const Vec3 &v) const
 
Vec3 operator/ (const Vec3 &v) const
 
Vec3 operator+ (const Vec3 &v) const
 
Vec3 operator- (const Vec3 &v) const
 
Vec3 operator+ (const Coord &ijk) const
 
Vec3 operator- (const Coord &ijk) const
 
Vec3 operator* (const T &s) const
 
Vec3 operator/ (const T &s) const
 
Vec3operator+= (const Vec3 &v)
 
Vec3operator+= (const Coord &ijk)
 
Vec3operator-= (const Vec3 &v)
 
Vec3operator-= (const Coord &ijk)
 
Vec3operator*= (const T &s)
 
Vec3operator/= (const T &s)
 
Vec3normalize ()
 
Vec3minComponent (const Vec3 &other)
 Perform a component-wise minimum with the other Coord. More...
 
Vec3maxComponent (const Vec3 &other)
 Perform a component-wise maximum with the other Coord. More...
 
ValueType min () const
 Return the smallest vector component. More...
 
ValueType max () const
 Return the largest vector component. More...
 
Coord floor () const
 Round each component if this Vec<T> up to its integer value. More...
 
Coord ceil () const
 Round each component if this Vec<T> down to its integer value. More...
 
Coord round () const
 Round each component if this Vec<T> to its closest integer value. More...
 
T * asPointer ()
 return a non-const raw constant pointer to array of three vector components More...
 
const T * asPointer () const
 return a const raw constant pointer to array of three vector components More...
 

Static Public Attributes

static const int SIZE = 3
 
static const int size = 3
 

Detailed Description

template<typename T>
class nanovdb::Vec3< T >

A simple vector class with three components, similar to openvdb::math::Vec3.

Member Typedef Documentation

using ValueType = T

Constructor & Destructor Documentation

Vec3 ( )
default
Vec3 ( x)
inlineexplicit
Vec3 ( x,
y,
z 
)
inline
Vec3 ( const Vec3T< T2 > &  v)
inline
Vec3 ( const Vec3< T2 > &  v)
inlineexplicit
Vec3 ( const Coord ijk)
inlineexplicit

Member Function Documentation

T* asPointer ( )
inline

return a non-const raw constant pointer to array of three vector components

const T* asPointer ( ) const
inline

return a const raw constant pointer to array of three vector components

Coord ceil ( ) const
inline

Round each component if this Vec<T> down to its integer value.

Returns
Return an integer Coord
Vec3 cross ( const Vec3T &  v) const
inline
T dot ( const Vec3T &  v) const
inline
Coord floor ( ) const
inline

Round each component if this Vec<T> up to its integer value.

Returns
Return an integer Coord
T length ( ) const
inline
T lengthSqr ( ) const
inline
ValueType max ( ) const
inline

Return the largest vector component.

Vec3& maxComponent ( const Vec3< T > &  other)
inline

Perform a component-wise maximum with the other Coord.

ValueType min ( ) const
inline

Return the smallest vector component.

Vec3& minComponent ( const Vec3< T > &  other)
inline

Perform a component-wise minimum with the other Coord.

Vec3& normalize ( )
inline
bool operator!= ( const Vec3< T > &  rhs) const
inline
Vec3 operator* ( const Vec3< T > &  v) const
inline
Vec3 operator* ( const T &  s) const
inline
Vec3& operator*= ( const T &  s)
inline
Vec3 operator+ ( const Vec3< T > &  v) const
inline
Vec3 operator+ ( const Coord ijk) const
inline
Vec3& operator+= ( const Vec3< T > &  v)
inline
Vec3& operator+= ( const Coord ijk)
inline
Vec3 operator- ( ) const
inline
Vec3 operator- ( const Vec3< T > &  v) const
inline
Vec3 operator- ( const Coord ijk) const
inline
Vec3& operator-= ( const Vec3< T > &  v)
inline
Vec3& operator-= ( const Coord ijk)
inline
Vec3 operator/ ( const Vec3< T > &  v) const
inline
Vec3 operator/ ( const T &  s) const
inline
Vec3& operator/= ( const T &  s)
inline
Vec3& operator= ( const Vec3T< T2 > &  rhs)
inline
bool operator== ( const Vec3< T > &  rhs) const
inline
const T& operator[] ( int  i) const
inline
T& operator[] ( int  i)
inline
Coord round ( ) const
inline

Round each component if this Vec<T> to its closest integer value.

Returns
Return an integer Coord

Member Data Documentation

const int SIZE = 3
static
const int size = 3
static