OpenVDB 12.1.0

Loading...
Searching...
No Matches
EllipseSurfaceMaskOp< RadiusType, MaskTreeT > Struct Template Reference

`#include <openvdb/points/impl/PointRasterizeEllipsoidsSDFImpl.h>`

Inheritance diagram for EllipseSurfaceMaskOp< RadiusType, MaskTreeT >:

## Public Types
using | BaseT = rasterize_sdf_internal::SurfaceMaskOp<MaskTreeT>
using | PointDataLeaf = points::PointDataTree::LeafNodeType
using | LeafManagerT = tree::LeafManager<const points::PointDataTree>
using | RadiusT = typename RadiusType::ValueType

## Public Member Functions
| EllipseSurfaceMaskOp (const math::Transform &src, const math::Transform &trg, const RadiusType &rad, const Real halfband, const EllipseIndicies &indices)
| EllipseSurfaceMaskOp (const EllipseSurfaceMaskOp &other, tbb::split)
Vec3i | getMaxDist () const
void | join (EllipseSurfaceMaskOp &other)
void | fillFromStretch (const typename LeafManagerT::LeafNodeType &leaf)
| Fill activity by analyzing the radius values on points in this leaf. Ignored ellipsoid rotations which results in faster but over zealous activation region.
void | fillFromStretchAndRotation (const typename LeafManagerT::LeafNodeType &leaf)
| Fill activity by analyzing the axis aligned ellipse bounding boxes on points in this leaf. Slightly slower than just looking at ellipse stretches but produces a more accurate/tighter activation result.
void | operator() (const typename LeafManagerT::LeafRange &range)

## Static Public Attributes
static const Index | DIM = points::PointDataTree::LeafNodeType::DIM

## Member Typedef Documentation

## ◆ BaseT

template<typename RadiusType, typename MaskTreeT>

using BaseT = rasterize_sdf_internal::SurfaceMaskOp<MaskTreeT>

## ◆ LeafManagerT

template<typename RadiusType, typename MaskTreeT>

using LeafManagerT = tree::LeafManager<const points::PointDataTree>

## ◆ PointDataLeaf

template<typename RadiusType, typename MaskTreeT>

using PointDataLeaf = points::PointDataTree::LeafNodeType

## ◆ RadiusT

template<typename RadiusType, typename MaskTreeT>

using RadiusT = typename RadiusType::ValueType

## Constructor & Destructor Documentation

## ◆ EllipseSurfaceMaskOp() [1/2]

template<typename RadiusType, typename MaskTreeT>

EllipseSurfaceMaskOp | ( | const math::Transform & | src,
|  | const math::Transform & | trg,
|  | const RadiusType & | rad,
|  | const Real | halfband,
|  | const EllipseIndicies & | indices )
| inline

## ◆ EllipseSurfaceMaskOp() [2/2]

template<typename RadiusType, typename MaskTreeT>

EllipseSurfaceMaskOp | ( | const EllipseSurfaceMaskOp< RadiusType, MaskTreeT > & | other,
|  | tbb::split | )
| inline

## Member Function Documentation

## ◆ fillFromStretch()

template<typename RadiusType, typename MaskTreeT>

void fillFromStretch | ( | const typename LeafManagerT::LeafNodeType & | leaf | ) |
| inline

Fill activity by analyzing the radius values on points in this leaf. Ignored ellipsoid rotations which results in faster but over zealous activation region.

## ◆ fillFromStretchAndRotation()

template<typename RadiusType, typename MaskTreeT>

void fillFromStretchAndRotation | ( | const typename LeafManagerT::LeafNodeType & | leaf | ) |
| inline

Fill activity by analyzing the axis aligned ellipse bounding boxes on points in this leaf. Slightly slower than just looking at ellipse stretches but produces a more accurate/tighter activation result.

## ◆ getMaxDist()

template<typename RadiusType, typename MaskTreeT>

Vec3i getMaxDist | ( |  | ) | const
| inline

## ◆ join()

template<typename RadiusType, typename MaskTreeT>

void join | ( | EllipseSurfaceMaskOp< RadiusType, MaskTreeT > & | other | ) |
| inline

## ◆ operator()()

template<typename RadiusType, typename MaskTreeT>

void operator() | ( | const typename LeafManagerT::LeafRange & | range | ) |
| inline

## Member Data Documentation

## ◆ DIM

template<typename RadiusType, typename MaskTreeT>

const Index DIM = points::PointDataTree::LeafNodeType::DIM
| static