OpenVDB 10.0.1
Loading...
Searching...
No Matches
Vec3< T > Class Template Reference

A simple vector class with three double 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<typename T2>
 Vec3 (const Vec3< T2 > &v)
 Vec3 (const Coord &ijk)
bool operator== (const Vec3 &rhs) const
bool operator!= (const Vec3 &rhs) const
template<typename Vec3T>
Vec3operator= (const Vec3T &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 T &s) const
Vec3 operator/ (const T &s) const
Vec3operator+= (const Vec3 &v)
Vec3operator-= (const Vec3 &v)
Vec3operator*= (const T &s)
Vec3operator/= (const T &s)
Vec3normalize ()
Vec3minComponent (const Vec3 &other)
 Perform a component-wise minimum with the other Coord.
Vec3maxComponent (const Vec3 &other)
 Perform a component-wise maximum with the other Coord.
ValueType min () const
 Return the smallest vector component.
ValueType max () const
 Return the largest vector component.
Coord floor () const
Coord ceil () const
Coord round () const

Static Public Attributes

static const int SIZE = 3

Detailed Description

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

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

Member Typedef Documentation

◆ ValueType

template<typename T>
using ValueType = T

Constructor & Destructor Documentation

◆ Vec3() [1/5]

template<typename T>
Vec3 ( )
default

◆ Vec3() [2/5]

template<typename T>
Vec3 ( T x)
inlineexplicit

◆ Vec3() [3/5]

template<typename T>
Vec3 ( T x,
T y,
T z )
inline

◆ Vec3() [4/5]

template<typename T>
template<typename T2>
Vec3 ( const Vec3< T2 > & v)
inlineexplicit

◆ Vec3() [5/5]

template<typename T>
Vec3 ( const Coord & ijk)
inlineexplicit

Member Function Documentation

◆ ceil()

template<typename T>
Coord ceil ( ) const
inline

◆ cross()

template<typename T>
template<typename Vec3T>
Vec3 cross ( const Vec3T & v) const
inline

◆ dot()

template<typename T>
template<typename Vec3T>
T dot ( const Vec3T & v) const
inline

◆ floor()

template<typename T>
Coord floor ( ) const
inline

◆ length()

template<typename T>
T length ( ) const
inline

◆ lengthSqr()

template<typename T>
T lengthSqr ( ) const
inline

◆ max()

template<typename T>
ValueType max ( ) const
inline

Return the largest vector component.

◆ maxComponent()

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

Perform a component-wise maximum with the other Coord.

◆ min()

template<typename T>
ValueType min ( ) const
inline

Return the smallest vector component.

◆ minComponent()

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

Perform a component-wise minimum with the other Coord.

◆ normalize()

template<typename T>
Vec3 & normalize ( )
inline

◆ operator!=()

template<typename T>
bool operator!= ( const Vec3< T > & rhs) const
inline

◆ operator*() [1/2]

template<typename T>
Vec3 operator* ( const T & s) const
inline

◆ operator*() [2/2]

template<typename T>
Vec3 operator* ( const Vec3< T > & v) const
inline

◆ operator*=()

template<typename T>
Vec3 & operator*= ( const T & s)
inline

◆ operator+()

template<typename T>
Vec3 operator+ ( const Vec3< T > & v) const
inline

◆ operator+=()

template<typename T>
Vec3 & operator+= ( const Vec3< T > & v)
inline

◆ operator-() [1/2]

template<typename T>
Vec3 operator- ( ) const
inline

◆ operator-() [2/2]

template<typename T>
Vec3 operator- ( const Vec3< T > & v) const
inline

◆ operator-=()

template<typename T>
Vec3 & operator-= ( const Vec3< T > & v)
inline

◆ operator/() [1/2]

template<typename T>
Vec3 operator/ ( const T & s) const
inline

◆ operator/() [2/2]

template<typename T>
Vec3 operator/ ( const Vec3< T > & v) const
inline

◆ operator/=()

template<typename T>
Vec3 & operator/= ( const T & s)
inline

◆ operator=()

template<typename T>
template<typename Vec3T>
Vec3 & operator= ( const Vec3T & rhs)
inline

◆ operator==()

template<typename T>
bool operator== ( const Vec3< T > & rhs) const
inline

◆ operator[]() [1/2]

template<typename T>
T & operator[] ( int i)
inline

◆ operator[]() [2/2]

template<typename T>
const T & operator[] ( int i) const
inline

◆ round()

template<typename T>
Coord round ( ) const
inline

Member Data Documentation

◆ SIZE

template<typename T>
const int SIZE = 3
static