Loading...
Searching...
No Matches
Extrema< VecT, 1 > Class Template Reference

Template specialization of Extrema on vector value types, i.e. rank = 1. More...

`#include <nanovdb/util/GridStats.h>`

## Classes

struct | Pair

## Public Types

using | ValueType = VecT

## Public Member Functions

__hostdev__ | Extrema ()
__hostdev__ | Extrema (const VecT &v)
__hostdev__ | Extrema (const VecT &a, const VecT &b)
__hostdev__ Extrema & | min (const VecT &v)
__hostdev__ Extrema & | max (const VecT &v)
__hostdev__ Extrema & | add (const VecT &v)
__hostdev__ Extrema & | add (const VecT &v, uint64_t)
__hostdev__ Extrema & | add (const Extrema &other)
__hostdev__ const VecT & | min () const
__hostdev__ const VecT & | max () const
__hostdev__ | operator bool () const
template<typename NodeT>
__hostdev__ void | setStats (NodeT &node) const

## Static Public Member Functions

static __hostdev__ constexpr bool | hasMinMax ()
static __hostdev__ constexpr bool | hasAverage ()
static __hostdev__ constexpr bool | hasStdDeviation ()
static __hostdev__ constexpr bool | hasStats ()
static __hostdev__ constexpr size_t | size ()

## Protected Types

using | Real = typename VecT::ValueType

## Protected Member Functions

__hostdev__ Extrema & | add (const Pair &p)

## Protected Attributes

struct nanovdb::Extrema< VecT, 1 >::Pair | mMin
struct nanovdb::Extrema< VecT, 1 >::Pair | mMax

## Detailed Description

template<typename VecT>
class nanovdb::Extrema< VecT, 1 >

Template specialization of Extrema on vector value types, i.e. rank = 1.

## Member Typedef Documentation

## Real

template<typename VecT>

using Real = typename VecT::ValueType

protected

## ValueType

template<typename VecT>

using ValueType = VecT

## Constructor & Destructor Documentation

## Extrema() [1/3]

template<typename VecT>

__hostdev__ Extrema | ( |  | ) |

inline

## Extrema() [2/3]

template<typename VecT>

__hostdev__ Extrema | ( | const VecT & | v | ) |

inline

## Extrema() [3/3]

template<typename VecT>

__hostdev__ Extrema | ( | const VecT & | a,
|  | const VecT & | b )

inline

## Member Function Documentation

## add() [1/4]

template<typename VecT>

__hostdev__ Extrema & add | ( | const Extrema< VecT, 1 > & | other | ) |

inline

## add() [2/4]

template<typename VecT>

__hostdev__ Extrema & add | ( | const Pair & | p | ) |

inline protected

## add() [3/4]

template<typename VecT>

__hostdev__ Extrema & add | ( | const VecT & | v | ) |

inline

## add() [4/4]

template<typename VecT>

__hostdev__ Extrema & add | ( | const VecT & | v,
|  | uint64_t | )

inline

## hasAverage()

template<typename VecT>

__hostdev__ constexpr bool hasAverage | ( |  | ) |

inline static constexpr

## hasMinMax()

template<typename VecT>

__hostdev__ constexpr bool hasMinMax | ( |  | ) |

inline static constexpr

## hasStats()

template<typename VecT>

__hostdev__ constexpr bool hasStats | ( |  | ) |

inline static constexpr

## hasStdDeviation()

template<typename VecT>

__hostdev__ constexpr bool hasStdDeviation | ( |  | ) |

inline static constexpr

## max() [1/2]

template<typename VecT>

__hostdev__ const VecT & max | ( |  | ) | const

inline

## max() [2/2]

template<typename VecT>

__hostdev__ Extrema & max | ( | const VecT & | v | ) |

inline

## min() [1/2]

template<typename VecT>

__hostdev__ const VecT & min | ( |  | ) | const

inline

## min() [2/2]

template<typename VecT>

__hostdev__ Extrema & min | ( | const VecT & | v | ) |

inline

## operator bool()

template<typename VecT>

__hostdev__ operator bool | ( |  | ) | const

inline

## setStats()

template<typename VecT>
template<typename NodeT>

__hostdev__ void setStats | ( | NodeT & | node | ) | const

inline

## size()

template<typename VecT>

__hostdev__ constexpr size_t size | ( |  | ) |

inline static constexpr

## Member Data Documentation

## mMax

template<typename VecT>

struct nanovdb::Extrema< VecT, 1 >::Pair mMax

protected

## mMin

template<typename VecT>

struct nanovdb::Extrema< VecT, 1 >::Pair mMin

protected