HDK
|
A simple vector class with three components, similar to openvdb::math::Vec3. More...
#include <NanoVDB.h>
Public Types | |
using | ValueType = T |
Public Member Functions | |
Vec3 ()=default | |
__hostdev__ | Vec3 (T x) |
__hostdev__ | Vec3 (T x, T y, T z) |
template<template< class > class Vec3T, class T2 > | |
__hostdev__ | Vec3 (const Vec3T< T2 > &v) |
template<typename T2 > | |
__hostdev__ | Vec3 (const Vec3< T2 > &v) |
__hostdev__ | Vec3 (const Coord &ijk) |
__hostdev__ bool | operator== (const Vec3 &rhs) const |
__hostdev__ bool | operator!= (const Vec3 &rhs) const |
template<template< class > class Vec3T, class T2 > | |
__hostdev__ Vec3 & | operator= (const Vec3T< T2 > &rhs) |
__hostdev__ const T & | operator[] (int i) const |
__hostdev__ T & | operator[] (int i) |
template<typename Vec3T > | |
__hostdev__ T | dot (const Vec3T &v) const |
template<typename Vec3T > | |
__hostdev__ Vec3 | cross (const Vec3T &v) const |
__hostdev__ T | lengthSqr () const |
__hostdev__ T | length () const |
__hostdev__ Vec3 | operator- () const |
__hostdev__ Vec3 | operator* (const Vec3 &v) const |
__hostdev__ Vec3 | operator/ (const Vec3 &v) const |
__hostdev__ Vec3 | operator+ (const Vec3 &v) const |
__hostdev__ Vec3 | operator- (const Vec3 &v) const |
__hostdev__ Vec3 | operator+ (const Coord &ijk) const |
__hostdev__ Vec3 | operator- (const Coord &ijk) const |
__hostdev__ Vec3 | operator* (const T &s) const |
__hostdev__ Vec3 | operator/ (const T &s) const |
__hostdev__ Vec3 & | operator+= (const Vec3 &v) |
__hostdev__ Vec3 & | operator+= (const Coord &ijk) |
__hostdev__ Vec3 & | operator-= (const Vec3 &v) |
__hostdev__ Vec3 & | operator-= (const Coord &ijk) |
__hostdev__ Vec3 & | operator*= (const T &s) |
__hostdev__ Vec3 & | operator/= (const T &s) |
__hostdev__ Vec3 & | normalize () |
__hostdev__ Vec3 & | minComponent (const Vec3 &other) |
Perform a component-wise minimum with the other Coord. More... | |
__hostdev__ Vec3 & | maxComponent (const Vec3 &other) |
Perform a component-wise maximum with the other Coord. More... | |
__hostdev__ ValueType | min () const |
Return the smallest vector component. More... | |
__hostdev__ ValueType | max () const |
Return the largest vector component. More... | |
__hostdev__ Coord | floor () const |
Round each component if this Vec<T> up to its integer value. More... | |
__hostdev__ Coord | ceil () const |
Round each component if this Vec<T> down to its integer value. More... | |
__hostdev__ Coord | round () const |
Round each component if this Vec<T> to its closest integer value. More... | |
__hostdev__ T * | asPointer () |
return a non-const raw constant pointer to array of three vector components More... | |
__hostdev__ 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 |
A simple vector class with three components, similar to openvdb::math::Vec3.
using nanovdb::Vec3< typename >::ValueType = T |
|
default |
|
inlineexplicit |
|
inline |
|
inline |
|
inlineexplicit |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
static |
|
static |