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