HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim > Class Template Reference

#include <PointDataGrid.h>

+ Inheritance diagram for openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >:

Public Types

using LeafNodeType = PointDataLeafNode< T, Log2Dim >
 
using Ptr = std::shared_ptr< PointDataLeafNode >
 
using ValueType = T
 
using ValueTypePair = std::pair< ValueType, ValueType >
 
using IndexArray = std::vector< ValueType >
 
using Descriptor = AttributeSet::Descriptor
 
using BaseLeaf = tree::LeafNode< T, Log2Dim >
 
using NodeMaskType = util::NodeMask< Log2Dim >
 
using ValueOn = typename BaseLeaf::ValueOn
 
using ValueOff = typename BaseLeaf::ValueOff
 
using ValueAll = typename BaseLeaf::ValueAll
 
using ValueOnIter = typename BaseLeaf::template ValueIter< MaskOnIterator, PointDataLeafNode, const ValueType, ValueOn >
 
using ValueOnCIter = typename BaseLeaf::template ValueIter< MaskOnIterator, const PointDataLeafNode, const ValueType, ValueOn >
 
using ValueOffIter = typename BaseLeaf::template ValueIter< MaskOffIterator, PointDataLeafNode, const ValueType, ValueOff >
 
using ValueOffCIter = typename BaseLeaf::template ValueIter< MaskOffIterator, const PointDataLeafNode, const ValueType, ValueOff >
 
using ValueAllIter = typename BaseLeaf::template ValueIter< MaskDenseIterator, PointDataLeafNode, const ValueType, ValueAll >
 
using ValueAllCIter = typename BaseLeaf::template ValueIter< MaskDenseIterator, const PointDataLeafNode, const ValueType, ValueAll >
 
using ChildOnIter = typename BaseLeaf::template ChildIter< MaskOnIterator, PointDataLeafNode, ChildOn >
 
using ChildOnCIter = typename BaseLeaf::template ChildIter< MaskOnIterator, const PointDataLeafNode, ChildOn >
 
using ChildOffIter = typename BaseLeaf::template ChildIter< MaskOffIterator, PointDataLeafNode, ChildOff >
 
using ChildOffCIter = typename BaseLeaf::template ChildIter< MaskOffIterator, const PointDataLeafNode, ChildOff >
 
using ChildAllIter = typename BaseLeaf::template DenseIter< PointDataLeafNode, ValueType, ChildAll >
 
using ChildAllCIter = typename BaseLeaf::template DenseIter< const PointDataLeafNode, const ValueType, ChildAll >
 
using IndexVoxelIter = IndexIter< ValueVoxelCIter, NullFilter >
 
using IndexAllIter = IndexIter< ValueAllCIter, NullFilter >
 
using IndexOnIter = IndexIter< ValueOnCIter, NullFilter >
 
using IndexOffIter = IndexIter< ValueOffCIter, NullFilter >
 
- Public Types inherited from openvdb::OPENVDB_VERSION_NAME::tree::LeafNode< T, Log2Dim >
using BuildType = T
 
using ValueType = T
 
using Buffer = LeafBuffer< ValueType, Log2Dim >
 
using LeafNodeType = LeafNode< ValueType, Log2Dim >
 
using NodeMaskType = util::NodeMask< Log2Dim >
 
using Ptr = SharedPtr< LeafNode >
 
using ValueOnIter = ValueIter< MaskOnIterator, LeafNode, const ValueType, ValueOn >
 
using ValueOnCIter = ValueIter< MaskOnIterator, const LeafNode, const ValueType, ValueOn >
 
using ValueOffIter = ValueIter< MaskOffIterator, LeafNode, const ValueType, ValueOff >
 
using ValueOffCIter = ValueIter< MaskOffIterator, const LeafNode, const ValueType, ValueOff >
 
using ValueAllIter = ValueIter< MaskDenseIterator, LeafNode, const ValueType, ValueAll >
 
using ValueAllCIter = ValueIter< MaskDenseIterator, const LeafNode, const ValueType, ValueAll >
 
using ChildOnIter = ChildIter< MaskOnIterator, LeafNode, ChildOn >
 
using ChildOnCIter = ChildIter< MaskOnIterator, const LeafNode, ChildOn >
 
using ChildOffIter = ChildIter< MaskOffIterator, LeafNode, ChildOff >
 
using ChildOffCIter = ChildIter< MaskOffIterator, const LeafNode, ChildOff >
 
using ChildAllIter = DenseIter< LeafNode, ValueType, ChildAll >
 
using ChildAllCIter = DenseIter< const LeafNode, const ValueType, ChildAll >
 

Public Member Functions

 PointDataLeafNode ()
 Default constructor. More...
 
 ~PointDataLeafNode ()=default
 
 PointDataLeafNode (const PointDataLeafNode &other)
 Construct using deep copy of other PointDataLeafNode. More...
 
 PointDataLeafNode (const Coord &coords, const T &value=zeroVal< T >(), bool active=false)
 Construct using supplied origin, value and active status. More...
 
 PointDataLeafNode (const PointDataLeafNode &other, const Coord &coords, const T &value=zeroVal< T >(), bool active=false)
 
template<typename OtherValueType >
 PointDataLeafNode (const tools::PointIndexLeafNode< OtherValueType, Log2Dim > &other)
 
template<typename ValueType >
 PointDataLeafNode (const tree::LeafNode< ValueType, Log2Dim > &other, const T &value, TopologyCopy)
 
template<typename ValueType >
 PointDataLeafNode (const tree::LeafNode< ValueType, Log2Dim > &other, const T &, const T &, TopologyCopy)
 
 PointDataLeafNode (PartialCreate, const Coord &coords, const T &value=zeroVal< T >(), bool active=false)
 
const AttributeSetattributeSet () const
 Retrieve the attribute set. More...
 
AttributeSet::UniquePtr stealAttributeSet ()
 Steal the attribute set, a new, empty attribute set is inserted in it's place. More...
 
void initializeAttributes (const Descriptor::Ptr &descriptor, const Index arrayLength, const AttributeArray::ScopedRegistryLock *lock=nullptr)
 Create a new attribute set. Existing attributes will be removed. More...
 
void clearAttributes (const bool updateValueMask=true, const AttributeArray::ScopedRegistryLock *lock=nullptr)
 Clear the attribute set. More...
 
bool hasAttribute (const size_t pos) const
 Returns true if an attribute with this index exists. More...
 
bool hasAttribute (const Name &attributeName) const
 Returns true if an attribute with this name exists. More...
 
AttributeArray::Ptr appendAttribute (const Descriptor &expected, Descriptor::Ptr &replacement, const size_t pos, const Index strideOrTotalSize=1, const bool constantStride=true, const Metadata *metadata=nullptr, const AttributeArray::ScopedRegistryLock *lock=nullptr)
 Append an attribute to the leaf. More...
 
void dropAttributes (const std::vector< size_t > &pos, const Descriptor &expected, Descriptor::Ptr &replacement)
 Drop list of attributes. More...
 
void reorderAttributes (const Descriptor::Ptr &replacement)
 Reorder attribute set. More...
 
void renameAttributes (const Descriptor &expected, Descriptor::Ptr &replacement)
 Rename attributes in attribute set (order must remain the same). More...
 
void compactAttributes ()
 Compact all attributes in attribute set. More...
 
void replaceAttributeSet (AttributeSet *attributeSet, bool allowMismatchingDescriptors=false)
 Replace the underlying attribute set with the given attributeSet. More...
 
void resetDescriptor (const Descriptor::Ptr &replacement)
 Replace the descriptor with a new one The new Descriptor must exactly match the old one. More...
 
void setOffsets (const std::vector< ValueType > &offsets, const bool updateValueMask=true)
 Sets all of the voxel offset values on this leaf, from the given vector of offsets. If updateValueMask is true, then the active value mask will be updated so voxels with points are active and empty voxels are inactive. More...
 
void validateOffsets () const
 Throws an error if the voxel values on this leaf are not monotonically increasing or within the bounds of the attribute arrays. More...
 
AttributeArrayattributeArray (const size_t pos)
 Read-write attribute array reference from index. More...
 
const AttributeArrayattributeArray (const size_t pos) const
 
const AttributeArrayconstAttributeArray (const size_t pos) const
 
AttributeArrayattributeArray (const Name &attributeName)
 Read-write attribute array reference from name. More...
 
const AttributeArrayattributeArray (const Name &attributeName) const
 
const AttributeArrayconstAttributeArray (const Name &attributeName) const
 
GroupHandle groupHandle (const AttributeSet::Descriptor::GroupIndex &index) const
 } More...
 
GroupHandle groupHandle (const Name &group) const
 Read-only group handle from group name. More...
 
GroupWriteHandle groupWriteHandle (const AttributeSet::Descriptor::GroupIndex &index)
 Read-write group handle from group index. More...
 
GroupWriteHandle groupWriteHandle (const Name &name)
 Read-write group handle from group name. More...
 
Index64 pointCount () const
 Compute the total point count for the leaf. More...
 
Index64 onPointCount () const
 Compute the total active (on) point count for the leaf. More...
 
Index64 offPointCount () const
 Compute the total inactive (off) point count for the leaf. More...
 
Index64 groupPointCount (const Name &groupName) const
 Compute the point count in a specific group for the leaf. More...
 
void updateValueMask ()
 Activate voxels with non-zero points, deactivate voxels with zero points. More...
 
void setOffsetOn (Index offset, const ValueType &val)
 
void setOffsetOnly (Index offset, const ValueType &val)
 
template<typename OtherType , Index OtherLog2Dim>
bool hasSameTopology (const PointDataLeafNode< OtherType, OtherLog2Dim > *other) const
 Return true if the given node (which may have a different ValueType than this node) has the same active value topology as this node. More...
 
bool operator== (const PointDataLeafNode &other) const
 
bool operator!= (const PointDataLeafNode &other) const
 
void addLeaf (PointDataLeafNode *)
 
template<typename AccessorT >
void addLeafAndCache (PointDataLeafNode *, AccessorT &)
 
void readTopology (std::istream &is, bool fromHalf=false)
 
void writeTopology (std::ostream &os, bool toHalf=false) const
 
Index buffers () const
 
void readBuffers (std::istream &is, bool fromHalf=false)
 
void readBuffers (std::istream &is, const CoordBBox &, bool fromHalf=false)
 
void writeBuffers (std::ostream &os, bool toHalf=false) const
 
Index64 memUsage () const
 
void evalActiveBoundingBox (CoordBBox &bbox, bool visitVoxels=true) const
 
CoordBBox getNodeBoundingBox () const
 Return the bounding box of this node, i.e., the full index space spanned by this leaf node. More...
 
void assertNonmodifiable ()
 
void assertNonModifiableUnlessZero (const ValueType &value)
 
void setActiveState (const Coord &xyz, bool on)
 
void setActiveState (Index offset, bool on)
 
void setValueOnly (const Coord &, const ValueType &)
 
void setValueOnly (Index, const ValueType &)
 
void setValueOff (const Coord &xyz)
 
void setValueOff (Index offset)
 
void setValueOff (const Coord &, const ValueType &)
 
void setValueOff (Index, const ValueType &)
 
void setValueOn (const Coord &xyz)
 
void setValueOn (Index offset)
 
void setValueOn (const Coord &, const ValueType &)
 
void setValueOn (Index, const ValueType &)
 
void setValue (const Coord &, const ValueType &)
 
void setValuesOn ()
 
void setValuesOff ()
 
template<typename ModifyOp >
void modifyValue (Index, const ModifyOp &)
 
template<typename ModifyOp >
void modifyValue (const Coord &, const ModifyOp &)
 
template<typename ModifyOp >
void modifyValueAndActiveState (const Coord &, const ModifyOp &)
 
void clip (const CoordBBox &, const ValueType &value)
 
void fill (const CoordBBox &, const ValueType &, bool)
 
void fill (const ValueType &value)
 
void fill (const ValueType &, bool)
 
template<typename AccessorT >
void setValueOnlyAndCache (const Coord &, const ValueType &, AccessorT &)
 
template<typename ModifyOp , typename AccessorT >
void modifyValueAndActiveStateAndCache (const Coord &, const ModifyOp &, AccessorT &)
 
template<typename AccessorT >
void setValueOffAndCache (const Coord &, const ValueType &, AccessorT &)
 
template<typename AccessorT >
void setActiveStateAndCache (const Coord &xyz, bool on, AccessorT &parent)
 
void resetBackground (const ValueType &, const ValueType &newBackground)
 
void signedFloodFill (const ValueType &)
 
void signedFloodFill (const ValueType &, const ValueType &)
 
void negate ()
 
ValueVoxelCIter beginValueVoxel (const Coord &ijk) const
 Leaf value voxel iterator. More...
 
IndexAllIter beginIndexAll () const
 Leaf index iterator. More...
 
IndexOnIter beginIndexOn () const
 
IndexOffIter beginIndexOff () const
 
template<typename IterT , typename FilterT >
IndexIter< IterT, FilterT > beginIndex (const FilterT &filter) const
 
template<typename FilterT >
IndexIter< ValueAllCIter, FilterT > beginIndexAll (const FilterT &filter) const
 Filtered leaf index iterator. More...
 
template<typename FilterT >
IndexIter< ValueOnCIter, FilterT > beginIndexOn (const FilterT &filter) const
 
template<typename FilterT >
IndexIter< ValueOffCIter, FilterT > beginIndexOff (const FilterT &filter) const
 
IndexVoxelIter beginIndexVoxel (const Coord &ijk) const
 Leaf index iterator from voxel. More...
 
template<typename FilterT >
IndexIter< ValueVoxelCIter,
FilterT > 
beginIndexVoxel (const Coord &ijk, const FilterT &filter) const
 Filtered leaf index iterator from voxel. More...
 
ValueOnCIter cbeginValueOn () const
 
ValueOnCIter beginValueOn () const
 
ValueOnIter beginValueOn ()
 
ValueOffCIter cbeginValueOff () const
 
ValueOffCIter beginValueOff () const
 
ValueOffIter beginValueOff ()
 
ValueAllCIter cbeginValueAll () const
 
ValueAllCIter beginValueAll () const
 
ValueAllIter beginValueAll ()
 
ValueOnCIter cendValueOn () const
 
ValueOnCIter endValueOn () const
 
ValueOnIter endValueOn ()
 
ValueOffCIter cendValueOff () const
 
ValueOffCIter endValueOff () const
 
ValueOffIter endValueOff ()
 
ValueAllCIter cendValueAll () const
 
ValueAllCIter endValueAll () const
 
ValueAllIter endValueAll ()
 
ChildOnCIter cbeginChildOn () const
 
ChildOnCIter beginChildOn () const
 
ChildOnIter beginChildOn ()
 
ChildOffCIter cbeginChildOff () const
 
ChildOffCIter beginChildOff () const
 
ChildOffIter beginChildOff ()
 
ChildAllCIter cbeginChildAll () const
 
ChildAllCIter beginChildAll () const
 
ChildAllIter beginChildAll ()
 
ChildOnCIter cendChildOn () const
 
ChildOnCIter endChildOn () const
 
ChildOnIter endChildOn ()
 
ChildOffCIter cendChildOff () const
 
ChildOffCIter endChildOff () const
 
ChildOffIter endChildOff ()
 
ChildAllCIter cendChildAll () const
 
ChildAllCIter endChildAll () const
 
ChildAllIter endChildAll ()
 
template<typename ValueIterT , typename FilterT >
IndexIter< ValueIterT, FilterT > beginIndex (const FilterT &filter) const
 
PointDataLeafNodetouchLeaf (const Coord &)
 Return a pointer to this node. More...
 
template<typename AccessorT >
PointDataLeafNodetouchLeafAndCache (const Coord &, AccessorT &)
 Return a pointer to this node. More...
 
template<typename NodeT , typename AccessorT >
NodeT * probeNodeAndCache (const Coord &, AccessorT &)
 Return a pointer to this node. More...
 
PointDataLeafNodeprobeLeaf (const Coord &)
 Return a pointer to this node. More...
 
template<typename AccessorT >
PointDataLeafNodeprobeLeafAndCache (const Coord &, AccessorT &)
 Return a pointer to this node. More...
 
const PointDataLeafNodeprobeConstLeaf (const Coord &) const
 Return a pointer to this node. More...
 
template<typename AccessorT >
const PointDataLeafNodeprobeConstLeafAndCache (const Coord &, AccessorT &) const
 Return a pointer to this node. More...
 
template<typename AccessorT >
const PointDataLeafNodeprobeLeafAndCache (const Coord &, AccessorT &) const
 Return a pointer to this node. More...
 
const PointDataLeafNodeprobeLeaf (const Coord &) const
 Return a pointer to this node. More...
 
template<typename NodeT , typename AccessorT >
const NodeT * probeConstNodeAndCache (const Coord &, AccessorT &) const
 Return a pointer to this node. More...
 
- Public Member Functions inherited from openvdb::OPENVDB_VERSION_NAME::tree::LeafNode< T, Log2Dim >
 LeafNode ()
 Default constructor. More...
 
 LeafNode (const Coord &coords, const ValueType &value=zeroVal< ValueType >(), bool active=false)
 Constructor. More...
 
 LeafNode (PartialCreate, const Coord &coords, const ValueType &value=zeroVal< ValueType >(), bool active=false)
 "Partial creation" constructor used during file input More...
 
 LeafNode (const LeafNode &)
 Deep copy constructor. More...
 
LeafNodeoperator= (const LeafNode &)=default
 Deep assignment operator. More...
 
template<typename OtherValueType >
 LeafNode (const LeafNode< OtherValueType, Log2Dim > &other)
 Value conversion copy constructor. More...
 
template<typename OtherValueType >
 LeafNode (const LeafNode< OtherValueType, Log2Dim > &other, const ValueType &offValue, const ValueType &onValue, TopologyCopy)
 Topology copy constructor. More...
 
template<typename OtherValueType >
 LeafNode (const LeafNode< OtherValueType, Log2Dim > &other, const ValueType &background, TopologyCopy)
 Topology copy constructor. More...
 
 ~LeafNode ()
 Destructor. More...
 
void nodeCount (std::vector< Index32 > &) const
 no-op More...
 
Index64 onVoxelCount () const
 Return the number of voxels marked On. More...
 
Index64 offVoxelCount () const
 Return the number of voxels marked Off. More...
 
Index64 onLeafVoxelCount () const
 
Index64 offLeafVoxelCount () const
 
bool isEmpty () const
 Return true if this node has no active voxels. More...
 
bool isDense () const
 Return true if this node contains only active voxels. More...
 
bool isAllocated () const
 Return true if memory for this node's buffer has been allocated. More...
 
bool allocate ()
 Allocate memory for this node's buffer if it has not already been allocated. More...
 
Index64 memUsage () const
 Return the memory in bytes occupied by this node. More...
 
Index64 memUsageIfLoaded () const
 
void evalActiveBoundingBox (CoordBBox &bbox, bool visitVoxels=true) const
 
CoordBBox getNodeBoundingBox () const
 Return the bounding box of this node, i.e., the full index space spanned by this leaf node. More...
 
void setOrigin (const Coord &origin)
 Set the grid index coordinates of this node's local origin. More...
 
Coord offsetToGlobalCoord (Index n) const
 Return the global coordinates for a linear table offset. More...
 
std::string str () const
 Return a string representation of this node. More...
 
template<typename OtherType , Index OtherLog2Dim>
bool hasSameTopology (const LeafNode< OtherType, OtherLog2Dim > *other) const
 Return true if the given node (which may have a different ValueType than this node) has the same active value topology as this node. More...
 
bool operator== (const LeafNode &other) const
 Check for buffer, state and origin equivalence. More...
 
bool operator!= (const LeafNode &other) const
 
ValueOnCIter cbeginValueOn () const
 
ValueOnCIter beginValueOn () const
 
ValueOnIter beginValueOn ()
 
ValueOffCIter cbeginValueOff () const
 
ValueOffCIter beginValueOff () const
 
ValueOffIter beginValueOff ()
 
ValueAllCIter cbeginValueAll () const
 
ValueAllCIter beginValueAll () const
 
ValueAllIter beginValueAll ()
 
ValueOnCIter cendValueOn () const
 
ValueOnCIter endValueOn () const
 
ValueOnIter endValueOn ()
 
ValueOffCIter cendValueOff () const
 
ValueOffCIter endValueOff () const
 
ValueOffIter endValueOff ()
 
ValueAllCIter cendValueAll () const
 
ValueAllCIter endValueAll () const
 
ValueAllIter endValueAll ()
 
ChildOnCIter cbeginChildOn () const
 
ChildOnCIter beginChildOn () const
 
ChildOnIter beginChildOn ()
 
ChildOffCIter cbeginChildOff () const
 
ChildOffCIter beginChildOff () const
 
ChildOffIter beginChildOff ()
 
ChildAllCIter cbeginChildAll () const
 
ChildAllCIter beginChildAll () const
 
ChildAllIter beginChildAll ()
 
ChildOnCIter cendChildOn () const
 
ChildOnCIter endChildOn () const
 
ChildOnIter endChildOn ()
 
ChildOffCIter cendChildOff () const
 
ChildOffCIter endChildOff () const
 
ChildOffIter endChildOff ()
 
ChildAllCIter cendChildAll () const
 
ChildAllCIter endChildAll () const
 
ChildAllIter endChildAll ()
 
void swap (Buffer &other)
 Exchange this node's data buffer with the given data buffer without changing the active states of the values. More...
 
const Bufferbuffer () const
 
Bufferbuffer ()
 
void readTopology (std::istream &is, bool fromHalf=false)
 Read in just the topology. More...
 
void writeTopology (std::ostream &os, bool toHalf=false) const
 Write out just the topology. More...
 
void readBuffers (std::istream &is, bool fromHalf=false)
 Read buffers from a stream. More...
 
void readBuffers (std::istream &is, const CoordBBox &bbox, bool fromHalf=false)
 Read buffers that intersect the given bounding box. More...
 
void writeBuffers (std::ostream &os, bool toHalf=false) const
 Write buffers to a stream. More...
 
size_t streamingSize (bool toHalf=false) const
 
const ValueTypegetValue (const Coord &xyz) const
 Return the value of the voxel at the given coordinates. More...
 
const ValueTypegetValue (Index offset) const
 Return the value of the voxel at the given linear offset. More...
 
bool probeValue (const Coord &xyz, ValueType &val) const
 Return true if the voxel at the given coordinates is active. More...
 
bool probeValue (Index offset, ValueType &val) const
 Return true if the voxel at the given offset is active. More...
 
void setActiveState (const Coord &xyz, bool on)
 Set the active state of the voxel at the given coordinates but don't change its value. More...
 
void setActiveState (Index offset, bool on)
 Set the active state of the voxel at the given offset but don't change its value. More...
 
void setValueOnly (const Coord &xyz, const ValueType &val)
 Set the value of the voxel at the given coordinates but don't change its active state. More...
 
void setValueOnly (Index offset, const ValueType &val)
 Set the value of the voxel at the given offset but don't change its active state. More...
 
void setValueOff (const Coord &xyz)
 Mark the voxel at the given coordinates as inactive but don't change its value. More...
 
void setValueOff (Index offset)
 Mark the voxel at the given offset as inactive but don't change its value. More...
 
void setValueOff (const Coord &xyz, const ValueType &val)
 Set the value of the voxel at the given coordinates and mark the voxel as inactive. More...
 
void setValueOff (Index offset, const ValueType &val)
 Set the value of the voxel at the given offset and mark the voxel as inactive. More...
 
void setValueOn (const Coord &xyz)
 Mark the voxel at the given coordinates as active but don't change its value. More...
 
void setValueOn (Index offset)
 Mark the voxel at the given offset as active but don't change its value. More...
 
void setValueOn (const Coord &xyz, const ValueType &val)
 Set the value of the voxel at the given coordinates and mark the voxel as active. More...
 
void setValue (const Coord &xyz, const ValueType &val)
 Set the value of the voxel at the given coordinates and mark the voxel as active. More...
 
void setValueOn (Index offset, const ValueType &val)
 Set the value of the voxel at the given offset and mark the voxel as active. More...
 
template<typename ModifyOp >
void modifyValue (Index offset, const ModifyOp &op)
 Apply a functor to the value of the voxel at the given offset and mark the voxel as active. More...
 
template<typename ModifyOp >
void modifyValue (const Coord &xyz, const ModifyOp &op)
 Apply a functor to the value of the voxel at the given coordinates and mark the voxel as active. More...
 
template<typename ModifyOp >
void modifyValueAndActiveState (const Coord &xyz, const ModifyOp &op)
 Apply a functor to the voxel at the given coordinates. More...
 
void setValuesOn ()
 Mark all voxels as active but don't change their values. More...
 
void setValuesOff ()
 Mark all voxels as inactive but don't change their values. More...
 
bool isValueOn (const Coord &xyz) const
 Return true if the voxel at the given coordinates is active. More...
 
bool isValueOn (Index offset) const
 Return true if the voxel at the given offset is active. More...
 
void clip (const CoordBBox &, const ValueType &background)
 Set all voxels that lie outside the given axis-aligned box to the background. More...
 
void fill (const CoordBBox &bbox, const ValueType &, bool active=true)
 Set all voxels within an axis-aligned box to the specified value and active state. More...
 
void denseFill (const CoordBBox &bbox, const ValueType &value, bool active=true)
 Set all voxels within an axis-aligned box to the specified value and active state. More...
 
void fill (const ValueType &value)
 Set all voxels to the specified value but don't change their active states. More...
 
void fill (const ValueType &value, bool active)
 Set all voxels to the specified value and active state. More...
 
template<typename DenseT >
void copyToDense (const CoordBBox &bbox, DenseT &dense) const
 Copy into a dense grid the values of the voxels that lie within a given bounding box. More...
 
template<typename DenseT >
void copyFromDense (const CoordBBox &bbox, const DenseT &dense, const ValueType &background, const ValueType &tolerance)
 Copy from a dense grid into this node the values of the voxels that lie within a given bounding box. More...
 
template<typename AccessorT >
const ValueTypegetValueAndCache (const Coord &xyz, AccessorT &) const
 Return the value of the voxel at the given coordinates. More...
 
template<typename AccessorT >
bool isValueOnAndCache (const Coord &xyz, AccessorT &) const
 Return true if the voxel at the given coordinates is active. More...
 
template<typename AccessorT >
void setValueAndCache (const Coord &xyz, const ValueType &val, AccessorT &)
 Change the value of the voxel at the given coordinates and mark it as active. More...
 
template<typename AccessorT >
void setValueOnlyAndCache (const Coord &xyz, const ValueType &val, AccessorT &)
 Change the value of the voxel at the given coordinates but preserve its state. More...
 
template<typename ModifyOp , typename AccessorT >
void modifyValueAndCache (const Coord &xyz, const ModifyOp &op, AccessorT &)
 Apply a functor to the value of the voxel at the given coordinates and mark the voxel as active. More...
 
template<typename ModifyOp , typename AccessorT >
void modifyValueAndActiveStateAndCache (const Coord &xyz, const ModifyOp &op, AccessorT &)
 
template<typename AccessorT >
void setValueOffAndCache (const Coord &xyz, const ValueType &value, AccessorT &)
 Change the value of the voxel at the given coordinates and mark it as inactive. More...
 
template<typename AccessorT >
void setActiveStateAndCache (const Coord &xyz, bool on, AccessorT &)
 Set the active state of the voxel at the given coordinates without changing its value. More...
 
template<typename AccessorT >
bool probeValueAndCache (const Coord &xyz, ValueType &val, AccessorT &) const
 Return true if the voxel at the given coordinates is active and return the voxel value in val. More...
 
template<typename AccessorT >
const ValueTypegetValue (const Coord &xyz, bool &state, int &level, AccessorT &) const
 Return the value of the voxel at the given coordinates and return its active state and level (i.e., 0) in state and level. More...
 
const ValueTypegetFirstValue () const
 Return a const reference to the first value in the buffer. More...
 
const ValueTypegetLastValue () const
 Return a const reference to the last value in the buffer. More...
 
void resetBackground (const ValueType &oldBackground, const ValueType &newBackground)
 Replace inactive occurrences of oldBackground with newBackground, and inactive occurrences of -oldBackground with -newBackground. More...
 
void negate ()
 
void voxelizeActiveTiles (bool=true)
 No-op. More...
 
template<MergePolicy Policy>
void merge (const LeafNode &)
 
template<MergePolicy Policy>
void merge (const ValueType &tileValue, bool tileActive)
 
template<MergePolicy Policy>
void merge (const LeafNode &other, const ValueType &, const ValueType &)
 
template<typename OtherType >
void topologyUnion (const LeafNode< OtherType, Log2Dim > &other, const bool preserveTiles=false)
 Union this node's set of active values with the active values of the other node, whose ValueType may be different. So a resulting voxel will be active if either of the original voxels were active. More...
 
template<typename OtherType >
void topologyIntersection (const LeafNode< OtherType, Log2Dim > &other, const ValueType &)
 Intersect this node's set of active values with the active values of the other node, whose ValueType may be different. So a resulting voxel will be active only if both of the original voxels were active. More...
 
template<typename OtherType >
void topologyDifference (const LeafNode< OtherType, Log2Dim > &other, const ValueType &)
 Difference this node's set of active values with the active values of the other node, whose ValueType may be different. So a resulting voxel will be active only if the original voxel is active in this LeafNode and inactive in the other LeafNode. More...
 
template<typename CombineOp >
void combine (const LeafNode &other, CombineOp &op)
 
template<typename CombineOp >
void combine (const ValueType &value, bool valueIsActive, CombineOp &op)
 
template<typename CombineOp , typename OtherType >
void combine2 (const LeafNode &other, const OtherType &, bool valueIsActive, CombineOp &)
 
template<typename CombineOp , typename OtherNodeT >
void combine2 (const ValueType &, const OtherNodeT &other, bool valueIsActive, CombineOp &)
 
template<typename CombineOp , typename OtherNodeT >
void combine2 (const LeafNode &b0, const OtherNodeT &b1, CombineOp &)
 
void addTile (Index level, const Coord &, const ValueType &, bool)
 
void addTile (Index offset, const ValueType &, bool)
 
template<typename AccessorT >
void addTileAndCache (Index, const Coord &, const ValueType &, bool, AccessorT &)
 
bool isConstant (ValueType &firstValue, bool &state, const ValueType &tolerance=zeroVal< ValueType >()) const
 
bool isConstant (ValueType &minValue, ValueType &maxValue, bool &state, const ValueType &tolerance=zeroVal< ValueType >()) const
 
ValueType medianAll (ValueType *tmp=nullptr) const
 Computes the median value of all the active AND inactive voxels in this node. More...
 
Index medianOn (ValueType &value, ValueType *tmp=nullptr) const
 Computes the median value of all the active voxels in this node. More...
 
Index medianOff (ValueType &value, ValueType *tmp=nullptr) const
 Computes the median value of all the inactive voxels in this node. More...
 
bool isInactive () const
 Return true if all of this node's values are inactive. More...
 
bool isValueMaskOn (Index n) const
 
bool isValueMaskOn () const
 
bool isValueMaskOff (Index n) const
 
bool isValueMaskOff () const
 
const NodeMaskTypegetValueMask () const
 
NodeMaskTypegetValueMask ()
 
const NodeMaskTypevalueMask () const
 
void setValueMask (const NodeMaskType &mask)
 
bool isChildMaskOn (Index) const
 
bool isChildMaskOff (Index) const
 
bool isChildMaskOff () const
 
const Coord & origin () const
 Return the grid index coordinates of this node's local origin. More...
 
void getOrigin (Coord &origin) const
 Return the grid index coordinates of this node's local origin. More...
 
void getOrigin (Int32 &x, Int32 &y, Int32 &z) const
 Return the grid index coordinates of this node's local origin. More...
 
void prune (const ValueType &=zeroVal< ValueType >())
 This function exists only to enable template instantiation. More...
 
void addLeaf (LeafNode *)
 This function exists only to enable template instantiation. More...
 
template<typename AccessorT >
void addLeafAndCache (LeafNode *, AccessorT &)
 This function exists only to enable template instantiation. More...
 
template<typename NodeT >
NodeT * stealNode (const Coord &, const ValueType &, bool)
 This function exists only to enable template instantiation. More...
 
template<typename NodeT >
NodeT * probeNode (const Coord &)
 This function exists only to enable template instantiation. More...
 
template<typename NodeT >
const NodeT * probeConstNode (const Coord &) const
 This function exists only to enable template instantiation. More...
 
template<typename ArrayT >
void getNodes (ArrayT &) const
 This function exists only to enable template instantiation. More...
 
template<typename ArrayT >
void stealNodes (ArrayT &, const ValueType &, bool)
 This function exists only to enable template instantiation. More...
 
LeafNodetouchLeaf (const Coord &)
 Return a pointer to this node. More...
 
template<typename AccessorT >
LeafNodetouchLeafAndCache (const Coord &, AccessorT &)
 Return a pointer to this node. More...
 
template<typename NodeT , typename AccessorT >
NodeT * probeNodeAndCache (const Coord &, AccessorT &)
 Return a pointer to this node. More...
 
LeafNodeprobeLeaf (const Coord &)
 Return a pointer to this node. More...
 
template<typename AccessorT >
LeafNodeprobeLeafAndCache (const Coord &, AccessorT &)
 Return a pointer to this node. More...
 
const LeafNodeprobeConstLeaf (const Coord &) const
 Return a pointer to this node. More...
 
template<typename AccessorT >
const LeafNodeprobeConstLeafAndCache (const Coord &, AccessorT &) const
 Return a pointer to this node. More...
 
template<typename AccessorT >
const LeafNodeprobeLeafAndCache (const Coord &, AccessorT &) const
 Return a pointer to this node. More...
 
const LeafNodeprobeLeaf (const Coord &) const
 Return a pointer to this node. More...
 
template<typename NodeT , typename AccessorT >
const NodeT * probeConstNodeAndCache (const Coord &, AccessorT &) const
 Return a pointer to this node. More...
 

Protected Types

using ChildOn = typename BaseLeaf::ChildOn
 
using ChildOff = typename BaseLeaf::ChildOff
 
using ChildAll = typename BaseLeaf::ChildAll
 
using MaskOnIterator = typename NodeMaskType::OnIterator
 
using MaskOffIterator = typename NodeMaskType::OffIterator
 
using MaskDenseIterator = typename NodeMaskType::DenseIterator
 
- Protected Types inherited from openvdb::OPENVDB_VERSION_NAME::tree::LeafNode< T, Log2Dim >
using MaskOnIterator = typename NodeMaskType::OnIterator
 
using MaskOffIterator = typename NodeMaskType::OffIterator
 
using MaskDenseIterator = typename NodeMaskType::DenseIterator
 

Friends

class ::TestPointDataLeaf
 
template<typename , Index >
class PointDataLeafNode
 
class tree::IteratorBase< MaskOnIterator, PointDataLeafNode >
 
class tree::IteratorBase< MaskOffIterator, PointDataLeafNode >
 
class tree::IteratorBase< MaskDenseIterator, PointDataLeafNode >
 

Additional Inherited Members

- Static Public Member Functions inherited from openvdb::OPENVDB_VERSION_NAME::tree::LeafNode< T, Log2Dim >
static Index log2dim ()
 Return log2 of the dimension of this LeafNode, e.g. 3 if dimensions are 8^3. More...
 
static Index dim ()
 Return the number of voxels in each coordinate dimension. More...
 
static Index size ()
 Return the total number of voxels represented by this LeafNode. More...
 
static Index numValues ()
 Return the total number of voxels represented by this LeafNode. More...
 
static Index getLevel ()
 Return the level of this node, which by definition is zero for LeafNodes. More...
 
static void getNodeLog2Dims (std::vector< Index > &dims)
 Append the Log2Dim of this LeafNode to the specified vector. More...
 
static Index getChildDim ()
 Return the dimension of child nodes of this LeafNode, which is one for voxels. More...
 
static Index32 leafCount ()
 Return the leaf count for this node, which is one. More...
 
static Index32 nonLeafCount ()
 Return the non-leaf count for this node, which is zero. More...
 
static Index32 childCount ()
 Return the child count for this node, which is zero. More...
 
static Index64 onTileCount ()
 
static Index64 offTileCount ()
 
static Index coordToOffset (const Coord &xyz)
 Return the linear table offset of the given global or local coordinates. More...
 
static Coord offsetToLocalCoord (Index n)
 Return the local coordinates for a linear table offset, where offset 0 has coordinates (0, 0, 0). More...
 
static Index getValueLevel (const Coord &)
 Return the level (i.e., 0) at which leaf node values reside. More...
 
static bool hasActiveTiles ()
 Return false since leaf nodes never contain tiles. More...
 
template<typename AccessorT >
static Index getValueLevelAndCache (const Coord &, AccessorT &)
 Return the LEVEL (=0) at which leaf node values reside. More...
 
- Static Public Attributes inherited from openvdb::OPENVDB_VERSION_NAME::tree::LeafNode< T, Log2Dim >
static const Index LOG2DIM = Log2Dim
 
static const Index TOTAL = Log2Dim
 
static const Index DIM = 1 << TOTAL
 
static const Index NUM_VALUES = 1 << 3 * Log2Dim
 
static const Index NUM_VOXELS = NUM_VALUES
 
static const Index SIZE = NUM_VALUES
 
static const Index LEVEL = 0
 
- Protected Member Functions inherited from openvdb::OPENVDB_VERSION_NAME::tree::LeafNode< T, Log2Dim >
void setValueMask (Index n, bool on)
 
void setValueMaskOn (Index n)
 
void setValueMaskOff (Index n)
 
void skipCompressedValues (bool seekable, std::istream &, bool fromHalf)
 
- Static Protected Member Functions inherited from openvdb::OPENVDB_VERSION_NAME::tree::LeafNode< T, Log2Dim >
static void evalNodeOrigin (Coord &xyz)
 Compute the origin of the leaf node that contains the voxel with the given coordinates. More...
 

Detailed Description

template<typename T, Index Log2Dim>
class openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >

Definition at line 181 of file PointDataGrid.h.

Member Typedef Documentation

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::BaseLeaf = tree::LeafNode<T, Log2Dim>

Definition at line 256 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::ChildAll = typename BaseLeaf::ChildAll
protected

Definition at line 609 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::ChildAllCIter = typename BaseLeaf::template DenseIter< const PointDataLeafNode, const ValueType, ChildAll>

Definition at line 652 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::ChildAllIter = typename BaseLeaf::template DenseIter< PointDataLeafNode, ValueType, ChildAll>

Definition at line 650 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::ChildOff = typename BaseLeaf::ChildOff
protected

Definition at line 608 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::ChildOffCIter = typename BaseLeaf::template ChildIter< MaskOffIterator, const PointDataLeafNode, ChildOff>

Definition at line 648 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::ChildOffIter = typename BaseLeaf::template ChildIter< MaskOffIterator, PointDataLeafNode, ChildOff>

Definition at line 646 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::ChildOn = typename BaseLeaf::ChildOn
protected

Definition at line 607 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::ChildOnCIter = typename BaseLeaf::template ChildIter< MaskOnIterator, const PointDataLeafNode, ChildOn>

Definition at line 644 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::ChildOnIter = typename BaseLeaf::template ChildIter< MaskOnIterator, PointDataLeafNode, ChildOn>

Definition at line 642 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::Descriptor = AttributeSet::Descriptor

Definition at line 249 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::IndexAllIter = IndexIter<ValueAllCIter, NullFilter>

Definition at line 655 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::IndexArray = std::vector<ValueType>

Definition at line 247 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::IndexOffIter = IndexIter<ValueOffCIter, NullFilter>

Definition at line 657 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::IndexOnIter = IndexIter<ValueOnCIter, NullFilter>

Definition at line 656 of file PointDataGrid.h.

Definition at line 654 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::LeafNodeType = PointDataLeafNode<T, Log2Dim>

Definition at line 242 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::MaskDenseIterator = typename NodeMaskType::DenseIterator
protected

Definition at line 613 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::MaskOffIterator = typename NodeMaskType::OffIterator
protected

Definition at line 612 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::MaskOnIterator = typename NodeMaskType::OnIterator
protected

Definition at line 611 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::NodeMaskType = util::NodeMask<Log2Dim>

Definition at line 257 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::Ptr = std::shared_ptr<PointDataLeafNode>

Definition at line 243 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::ValueAll = typename BaseLeaf::ValueAll

Definition at line 600 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::ValueAllCIter = typename BaseLeaf::template ValueIter< MaskDenseIterator,const PointDataLeafNode,const ValueType,ValueAll>

Definition at line 640 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::ValueAllIter = typename BaseLeaf::template ValueIter< MaskDenseIterator, PointDataLeafNode, const ValueType, ValueAll>

Definition at line 638 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::ValueOff = typename BaseLeaf::ValueOff

Definition at line 599 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::ValueOffCIter = typename BaseLeaf::template ValueIter< MaskOffIterator,const PointDataLeafNode,const ValueType,ValueOff>

Definition at line 636 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::ValueOffIter = typename BaseLeaf::template ValueIter< MaskOffIterator, PointDataLeafNode, const ValueType, ValueOff>

Definition at line 634 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::ValueOn = typename BaseLeaf::ValueOn

Definition at line 598 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::ValueOnCIter = typename BaseLeaf::template ValueIter< MaskOnIterator, const PointDataLeafNode, const ValueType, ValueOn>

Definition at line 632 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::ValueOnIter = typename BaseLeaf::template ValueIter< MaskOnIterator, PointDataLeafNode, const ValueType, ValueOn>

Definition at line 630 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::ValueType = T

Definition at line 245 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
using openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::ValueTypePair = std::pair<ValueType, ValueType>

Definition at line 246 of file PointDataGrid.h.

Constructor & Destructor Documentation

template<typename T, Index Log2Dim>
openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::PointDataLeafNode ( )
inline

Default constructor.

Definition at line 268 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::~PointDataLeafNode ( )
default
template<typename T, Index Log2Dim>
openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::PointDataLeafNode ( const PointDataLeafNode< T, Log2Dim > &  other)
inlineexplicit

Construct using deep copy of other PointDataLeafNode.

Definition at line 274 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::PointDataLeafNode ( const Coord &  coords,
const T &  value = zeroVal<T>(),
bool  active = false 
)
inlineexplicit

Construct using supplied origin, value and active status.

Definition at line 280 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::PointDataLeafNode ( const PointDataLeafNode< T, Log2Dim > &  other,
const Coord &  coords,
const T &  value = zeroVal<T>(),
bool  active = false 
)
inline

Construct using supplied origin, value and active status use attribute map from another PointDataLeafNode

Definition at line 286 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename OtherValueType >
openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::PointDataLeafNode ( const tools::PointIndexLeafNode< OtherValueType, Log2Dim > &  other)
inline

Definition at line 296 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename ValueType >
openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::PointDataLeafNode ( const tree::LeafNode< ValueType, Log2Dim > &  other,
const T &  value,
TopologyCopy   
)
inline

Definition at line 303 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename ValueType >
openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::PointDataLeafNode ( const tree::LeafNode< ValueType, Log2Dim > &  other,
const T &  ,
const T &  ,
TopologyCopy   
)
inline

Definition at line 310 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::PointDataLeafNode ( PartialCreate  ,
const Coord &  coords,
const T &  value = zeroVal<T>(),
bool  active = false 
)
inline

Definition at line 314 of file PointDataGrid.h.

Member Function Documentation

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::addLeaf ( PointDataLeafNode< T, Log2Dim > *  )
inline

Definition at line 452 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename AccessorT >
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::addLeafAndCache ( PointDataLeafNode< T, Log2Dim > *  ,
AccessorT &   
)
inline

Definition at line 454 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
AttributeArray::Ptr openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::appendAttribute ( const Descriptor expected,
Descriptor::Ptr &  replacement,
const size_t  pos,
const Index  strideOrTotalSize = 1,
const bool  constantStride = true,
const Metadata metadata = nullptr,
const AttributeArray::ScopedRegistryLock lock = nullptr 
)
inline

Append an attribute to the leaf.

Parameters
expectedExisting descriptor is expected to match this parameter.
replacementNew descriptor to replace the existing one.
posIndex of the new attribute in the descriptor replacement.
strideOrTotalSizeStride of the attribute array (if constantStride), total size otherwise
constantStrideif false, stride is interpreted as total size of the array
metadataoptional default value metadata
lockan optional scoped registry lock to avoid contention

Definition at line 807 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::assertNonmodifiable ( )
inline

Definition at line 521 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::assertNonModifiableUnlessZero ( const ValueType value)
inline

Definition at line 528 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
AttributeArray & openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::attributeArray ( const size_t  pos)
inline

Read-write attribute array reference from index.

Attribute arrays can be shared across leaf nodes, so non-const access will deep-copy the array to make it unique. Always prefer accessing const arrays where possible to eliminate this copying. {

Definition at line 912 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
const AttributeArray & openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::attributeArray ( const size_t  pos) const
inline

Definition at line 920 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
AttributeArray & openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::attributeArray ( const Name attributeName)
inline

Read-write attribute array reference from name.

}

Attribute arrays can be shared across leaf nodes, so non-const access will deep-copy the array to make it unique. Always prefer accessing const arrays where possible to eliminate this copying. {

Definition at line 935 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
const AttributeArray & openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::attributeArray ( const Name attributeName) const
inline

Definition at line 944 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
const AttributeSet& openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::attributeSet ( ) const
inline

Retrieve the attribute set.

Definition at line 322 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ChildAllCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginChildAll ( ) const
inline

Definition at line 731 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ChildAllIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginChildAll ( )
inline

Definition at line 732 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ChildOffCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginChildOff ( ) const
inline

Definition at line 728 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ChildOffIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginChildOff ( )
inline

Definition at line 729 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ChildOnCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginChildOn ( ) const
inline

Definition at line 725 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ChildOnIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginChildOn ( )
inline

Definition at line 726 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename IterT , typename FilterT >
IndexIter<IterT, FilterT> openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginIndex ( const FilterT &  filter) const
template<typename T, Index Log2Dim>
template<typename ValueIterT , typename FilterT >
IndexIter<ValueIterT, FilterT> openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginIndex ( const FilterT &  filter) const
inline

Definition at line 1001 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
IndexAllIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginIndexAll ( ) const
inline

Leaf index iterator.

Definition at line 660 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename FilterT >
IndexIter<ValueAllCIter, FilterT> openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginIndexAll ( const FilterT &  filter) const
inline

Filtered leaf index iterator.

Definition at line 681 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
IndexOffIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginIndexOff ( ) const
inline

Definition at line 670 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename FilterT >
IndexIter<ValueOffCIter, FilterT> openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginIndexOff ( const FilterT &  filter) const
inline

Definition at line 691 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
IndexOnIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginIndexOn ( ) const
inline

Definition at line 665 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename FilterT >
IndexIter<ValueOnCIter, FilterT> openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginIndexOn ( const FilterT &  filter) const
inline

Definition at line 686 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
PointDataLeafNode< T, Log2Dim >::IndexVoxelIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginIndexVoxel ( const Coord &  ijk) const
inline

Leaf index iterator from voxel.

Definition at line 1036 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
template<typename FilterT >
IndexIter< ValueVoxelCIter, FilterT > openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginIndexVoxel ( const Coord &  ijk,
const FilterT &  filter 
) const
inline

Filtered leaf index iterator from voxel.

Definition at line 1045 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ValueAllCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginValueAll ( ) const
inline

Definition at line 711 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ValueAllIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginValueAll ( )
inline

Definition at line 712 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ValueOffCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginValueOff ( ) const
inline

Definition at line 708 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ValueOffIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginValueOff ( )
inline

Definition at line 709 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ValueOnCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginValueOn ( ) const
inline

Definition at line 705 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ValueOnIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginValueOn ( )
inline

Definition at line 706 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
ValueVoxelCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::beginValueVoxel ( const Coord &  ijk) const
inline

Leaf value voxel iterator.

Definition at line 1025 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
Index openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::buffers ( ) const
inline

Definition at line 1136 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ChildAllCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::cbeginChildAll ( ) const
inline

Definition at line 730 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ChildOffCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::cbeginChildOff ( ) const
inline

Definition at line 727 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ChildOnCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::cbeginChildOn ( ) const
inline

Definition at line 724 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ValueAllCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::cbeginValueAll ( ) const
inline

Definition at line 710 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ValueOffCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::cbeginValueOff ( ) const
inline

Definition at line 707 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ValueOnCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::cbeginValueOn ( ) const
inline

Definition at line 704 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ChildAllCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::cendChildAll ( ) const
inline

Definition at line 740 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ChildOffCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::cendChildOff ( ) const
inline

Definition at line 737 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ChildOnCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::cendChildOn ( ) const
inline

Definition at line 734 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ValueAllCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::cendValueAll ( ) const
inline

Definition at line 720 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ValueOffCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::cendValueOff ( ) const
inline

Definition at line 717 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ValueOnCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::cendValueOn ( ) const
inline

Definition at line 714 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::clearAttributes ( const bool  updateValueMask = true,
const AttributeArray::ScopedRegistryLock lock = nullptr 
)
inline

Clear the attribute set.

Definition at line 776 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::clip ( const CoordBBox &  ,
const ValueType value 
)
inline

Definition at line 565 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::compactAttributes ( )
inline

Compact all attributes in attribute set.

Definition at line 841 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
const AttributeArray & openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::constAttributeArray ( const size_t  pos) const
inline

Definition at line 928 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
const AttributeArray & openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::constAttributeArray ( const Name attributeName) const
inline

Definition at line 953 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::dropAttributes ( const std::vector< size_t > &  pos,
const Descriptor expected,
Descriptor::Ptr &  replacement 
)
inline

Drop list of attributes.

Parameters
posvector of attribute indices to drop
expectedExisting descriptor is expected to match this parameter.
replacementNew descriptor to replace the existing one.

Definition at line 819 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ChildAllCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::endChildAll ( ) const
inline

Definition at line 741 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ChildAllIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::endChildAll ( )
inline

Definition at line 742 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ChildOffCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::endChildOff ( ) const
inline

Definition at line 738 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ChildOffIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::endChildOff ( )
inline

Definition at line 739 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ChildOnCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::endChildOn ( ) const
inline

Definition at line 735 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ChildOnIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::endChildOn ( )
inline

Definition at line 736 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ValueAllCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::endValueAll ( ) const
inline

Definition at line 721 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ValueAllIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::endValueAll ( )
inline

Definition at line 722 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ValueOffCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::endValueOff ( ) const
inline

Definition at line 718 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ValueOffIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::endValueOff ( )
inline

Definition at line 719 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ValueOnCIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::endValueOn ( ) const
inline

Definition at line 715 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
ValueOnIter openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::endValueOn ( )
inline

Definition at line 716 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::evalActiveBoundingBox ( CoordBBox &  bbox,
bool  visitVoxels = true 
) const
inline

Definition at line 1537 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::fill ( const CoordBBox &  bbox,
const ValueType value,
bool  active 
)
inline

Definition at line 1551 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::fill ( const ValueType value)
inline

Definition at line 568 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::fill ( const ValueType value,
bool  active 
)
inline

Definition at line 1573 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
CoordBBox openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::getNodeBoundingBox ( ) const
inline

Return the bounding box of this node, i.e., the full index space spanned by this leaf node.

Definition at line 1544 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
GroupHandle openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::groupHandle ( const AttributeSet::Descriptor::GroupIndex &  index) const
inline

}

Read-only group handle from group index

Definition at line 960 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
GroupHandle openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::groupHandle ( const Name group) const
inline

Read-only group handle from group name.

Definition at line 972 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
Index64 openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::groupPointCount ( const Name groupName) const
inline

Compute the point count in a specific group for the leaf.

Definition at line 1080 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
GroupWriteHandle openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::groupWriteHandle ( const AttributeSet::Descriptor::GroupIndex &  index)
inline

Read-write group handle from group index.

Definition at line 980 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
GroupWriteHandle openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::groupWriteHandle ( const Name name)
inline

Read-write group handle from group name.

Definition at line 992 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
bool openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::hasAttribute ( const size_t  pos) const
inline

Returns true if an attribute with this index exists.

Parameters
posIndex of the attribute

Definition at line 792 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
bool openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::hasAttribute ( const Name attributeName) const
inline

Returns true if an attribute with this name exists.

Parameters
attributeNameName of the attribute

Definition at line 799 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename OtherType , Index OtherLog2Dim>
bool openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::hasSameTopology ( const PointDataLeafNode< OtherType, OtherLog2Dim > *  other) const
inline

Return true if the given node (which may have a different ValueType than this node) has the same active value topology as this node.

Definition at line 439 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::initializeAttributes ( const Descriptor::Ptr &  descriptor,
const Index  arrayLength,
const AttributeArray::ScopedRegistryLock lock = nullptr 
)
inline

Create a new attribute set. Existing attributes will be removed.

Definition at line 761 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
Index64 openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::memUsage ( ) const
inline

Definition at line 1521 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename ModifyOp >
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::modifyValue ( Index  ,
const ModifyOp &   
)
inline

Definition at line 556 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename ModifyOp >
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::modifyValue ( const Coord &  ,
const ModifyOp &   
)
inline

Definition at line 559 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename ModifyOp >
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::modifyValueAndActiveState ( const Coord &  ,
const ModifyOp &   
)
inline

Definition at line 562 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename ModifyOp , typename AccessorT >
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::modifyValueAndActiveStateAndCache ( const Coord &  ,
const ModifyOp &  ,
AccessorT &   
)
inline

Definition at line 575 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::negate ( )
inline

Definition at line 594 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
Index64 openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::offPointCount ( ) const
inline

Compute the total inactive (off) point count for the leaf.

Definition at line 1071 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
Index64 openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::onPointCount ( ) const
inline

Compute the total active (on) point count for the leaf.

Definition at line 1062 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
bool openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::operator!= ( const PointDataLeafNode< T, Log2Dim > &  other) const
inline

Definition at line 450 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
bool openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::operator== ( const PointDataLeafNode< T, Log2Dim > &  other) const
inline

Check for buffer, state and origin equivalence first. If this returns true, do a deeper comparison on the attribute set to check

Definition at line 445 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
Index64 openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::pointCount ( ) const
inline

Compute the total point count for the leaf.

Definition at line 1055 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
const PointDataLeafNode* openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::probeConstLeaf ( const Coord &  ) const
inline

Return a pointer to this node.

Definition at line 477 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename AccessorT >
const PointDataLeafNode* openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::probeConstLeafAndCache ( const Coord &  ,
AccessorT &   
) const
inline

Return a pointer to this node.

Definition at line 479 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename NodeT , typename AccessorT >
const NodeT* openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::probeConstNodeAndCache ( const Coord &  ,
AccessorT &   
) const
inline

Return a pointer to this node.

Definition at line 484 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
PointDataLeafNode* openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::probeLeaf ( const Coord &  )
inline

Return a pointer to this node.

Definition at line 470 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
const PointDataLeafNode* openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::probeLeaf ( const Coord &  ) const
inline

Return a pointer to this node.

Definition at line 482 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename AccessorT >
PointDataLeafNode* openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::probeLeafAndCache ( const Coord &  ,
AccessorT &   
)
inline

Return a pointer to this node.

Definition at line 472 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename AccessorT >
const PointDataLeafNode* openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::probeLeafAndCache ( const Coord &  ,
AccessorT &   
) const
inline

Return a pointer to this node.

Definition at line 481 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename NodeT , typename AccessorT >
NodeT* openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::probeNodeAndCache ( const Coord &  ,
AccessorT &   
)
inline

Return a pointer to this node.

Definition at line 463 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::readBuffers ( std::istream &  is,
bool  fromHalf = false 
)
inline

Definition at line 1148 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::readBuffers ( std::istream &  is,
const CoordBBox &  ,
bool  fromHalf = false 
)
inline

Definition at line 1155 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::readTopology ( std::istream &  is,
bool  fromHalf = false 
)
inline

Definition at line 1122 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::renameAttributes ( const Descriptor expected,
Descriptor::Ptr &  replacement 
)
inline

Rename attributes in attribute set (order must remain the same).

Parameters
expectedExisting descriptor is expected to match this parameter.
replacementNew descriptor to replace the existing one.

Definition at line 834 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::reorderAttributes ( const Descriptor::Ptr &  replacement)
inline

Reorder attribute set.

Parameters
replacementNew descriptor to replace the existing one.

Definition at line 827 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::replaceAttributeSet ( AttributeSet attributeSet,
bool  allowMismatchingDescriptors = false 
)
inline

Replace the underlying attribute set with the given attributeSet.

This leaf will assume ownership of the given attribute set. The descriptors must match and the voxel offsets values will need updating if the point order is different.

Exceptions
ValueErrorif allowMismatchingDescriptors is false and the descriptors do not match

Definition at line 851 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::resetBackground ( const ValueType ,
const ValueType newBackground 
)
inline

Definition at line 587 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::resetDescriptor ( const Descriptor::Ptr &  replacement)
inline

Replace the descriptor with a new one The new Descriptor must exactly match the old one.

Definition at line 866 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::setActiveState ( const Coord &  xyz,
bool  on 
)
inline

Definition at line 532 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::setActiveState ( Index  offset,
bool  on 
)
inline

Definition at line 533 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename AccessorT >
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::setActiveStateAndCache ( const Coord &  xyz,
bool  on,
AccessorT &  parent 
)
inline

Definition at line 583 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::setOffsetOn ( Index  offset,
const ValueType val 
)
inline

Definition at line 1107 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::setOffsetOnly ( Index  offset,
const ValueType val 
)
inline

Definition at line 1115 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::setOffsets ( const std::vector< ValueType > &  offsets,
const bool  updateValueMask = true 
)
inline

Sets all of the voxel offset values on this leaf, from the given vector of offsets. If updateValueMask is true, then the active value mask will be updated so voxels with points are active and empty voxels are inactive.

Definition at line 873 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::setValue ( const Coord &  ,
const ValueType  
)
inline

Definition at line 550 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::setValueOff ( const Coord &  xyz)
inline

Definition at line 538 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::setValueOff ( Index  offset)
inline

Definition at line 539 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::setValueOff ( const Coord &  ,
const ValueType  
)
inline

Definition at line 541 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::setValueOff ( Index  ,
const ValueType  
)
inline

Definition at line 542 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename AccessorT >
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::setValueOffAndCache ( const Coord &  ,
const ValueType ,
AccessorT &   
)
inline

Definition at line 580 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::setValueOn ( const Coord &  xyz)
inline

Definition at line 544 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::setValueOn ( Index  offset)
inline

Definition at line 545 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::setValueOn ( const Coord &  ,
const ValueType  
)
inline

Definition at line 547 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::setValueOn ( Index  ,
const ValueType  
)
inline

Definition at line 548 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::setValueOnly ( const Coord &  ,
const ValueType  
)
inline

Definition at line 535 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::setValueOnly ( Index  ,
const ValueType  
)
inline

Definition at line 536 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename AccessorT >
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::setValueOnlyAndCache ( const Coord &  ,
const ValueType ,
AccessorT &   
)
inline

Definition at line 572 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::setValuesOff ( )
inline

Definition at line 553 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::setValuesOn ( )
inline

Definition at line 552 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::signedFloodFill ( const ValueType )
inline

Definition at line 591 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::signedFloodFill ( const ValueType ,
const ValueType  
)
inline

Definition at line 592 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
AttributeSet::UniquePtr openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::stealAttributeSet ( )
inline

Steal the attribute set, a new, empty attribute set is inserted in it's place.

Definition at line 752 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
PointDataLeafNode* openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::touchLeaf ( const Coord &  )
inline

Return a pointer to this node.

Definition at line 458 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename AccessorT >
PointDataLeafNode* openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::touchLeafAndCache ( const Coord &  ,
AccessorT &   
)
inline

Return a pointer to this node.

Definition at line 460 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::updateValueMask ( )
inline

Activate voxels with non-zero points, deactivate voxels with zero points.

Definition at line 1095 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::validateOffsets ( ) const
inline

Throws an error if the voxel values on this leaf are not monotonically increasing or within the bounds of the attribute arrays.

Definition at line 888 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::writeBuffers ( std::ostream &  os,
bool  toHalf = false 
) const
inline

Definition at line 1331 of file PointDataGrid.h.

template<typename T , Index Log2Dim>
void openvdb::OPENVDB_VERSION_NAME::points::PointDataLeafNode< T, Log2Dim >::writeTopology ( std::ostream &  os,
bool  toHalf = false 
) const
inline

Definition at line 1129 of file PointDataGrid.h.

Friends And Related Function Documentation

template<typename T, Index Log2Dim>
friend class ::TestPointDataLeaf
friend

Definition at line 596 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
template<typename , Index >
friend class PointDataLeafNode
friend

Definition at line 617 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
friend class tree::IteratorBase< MaskDenseIterator, PointDataLeafNode >
friend

Definition at line 621 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
friend class tree::IteratorBase< MaskOffIterator, PointDataLeafNode >
friend

Definition at line 620 of file PointDataGrid.h.

template<typename T, Index Log2Dim>
friend class tree::IteratorBase< MaskOnIterator, PointDataLeafNode >
friend

Definition at line 619 of file PointDataGrid.h.


The documentation for this class was generated from the following file: