OpenVDB  12.1.0
Public Types | Public Member Functions | Static Public Attributes | List of all members
EllipseSurfaceMaskOp< RadiusType, MaskTreeT > Struct Template Reference

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

Inherits SurfaceMaskOp< 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. More...
 
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. More...
 
void operator() (const typename LeafManagerT::LeafRange &range)
 

Static Public Attributes

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

Member Typedef Documentation

using BaseT = rasterize_sdf_internal::SurfaceMaskOp<MaskTreeT>
using RadiusT = typename RadiusType::ValueType

Constructor & Destructor Documentation

EllipseSurfaceMaskOp ( const math::Transform src,
const math::Transform trg,
const RadiusType &  rad,
const Real  halfband,
const EllipseIndicies indices 
)
inline
EllipseSurfaceMaskOp ( const EllipseSurfaceMaskOp< RadiusType, MaskTreeT > &  other,
tbb::split   
)
inline

Member Function Documentation

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.

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.

Vec3i getMaxDist ( ) const
inline
void join ( EllipseSurfaceMaskOp< RadiusType, MaskTreeT > &  other)
inline
void operator() ( const typename LeafManagerT::LeafRange range)
inline

Member Data Documentation

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