OpenVDB 11.0.0
Loading...
Searching...
No Matches
GroupWriteHandle Class Reference

#include <openvdb/points/AttributeGroup.h>

Inheritance diagram for GroupWriteHandle:
GroupHandle

Public Types

using Ptr = std::shared_ptr<GroupWriteHandle>
 
using UniquePtr = std::unique_ptr<GroupWriteHandle>
 
using GroupIndex = std::pair<Index, uint8_t>
 

Public Member Functions

 GroupWriteHandle (GroupAttributeArray &array, const GroupType &offset)
 
void set (Index n, bool on)
 Set on at the given index n.
 
void setUnsafe (Index n, bool on)
 Set on at the given index n (assumes in-core and non-uniform)
 
bool collapse (bool on)
 Set membership for the whole array and attempt to collapse.
 
bool compact ()
 Compact the existing array to become uniform if all values are identical.
 
Index size () const
 
bool isUniform () const
 
bool get (Index n) const
 
bool getUnsafe (Index n) const
 

Protected Attributes

const GroupAttributeArraymArray
 
const GroupType mBitMask
 

Member Typedef Documentation

◆ GroupIndex

using GroupIndex = std::pair<Index, uint8_t>
inherited

◆ Ptr

using Ptr = std::shared_ptr<GroupWriteHandle>

◆ UniquePtr

using UniquePtr = std::unique_ptr<GroupWriteHandle>

Constructor & Destructor Documentation

◆ GroupWriteHandle()

GroupWriteHandle ( GroupAttributeArray & array,
const GroupType & offset )

Member Function Documentation

◆ collapse()

bool collapse ( bool on)

Set membership for the whole array and attempt to collapse.

Parameters
onTrue or false for inclusion in group
Note
This method guarantees that all attributes will have group membership changed according to the input bool, however compaction will not be performed if other groups that share the same underlying array are non-uniform. The return value indicates if the group array ends up being uniform.

◆ compact()

bool compact ( )

Compact the existing array to become uniform if all values are identical.

◆ get()

bool get ( Index n) const
inherited

◆ getUnsafe()

bool getUnsafe ( Index n) const
inherited

◆ isUniform()

bool isUniform ( ) const
inlineinherited

◆ set()

void set ( Index n,
bool on )

Set on at the given index n.

◆ setUnsafe()

void setUnsafe ( Index n,
bool on )

Set on at the given index n (assumes in-core and non-uniform)

◆ size()

Index size ( ) const
inlineinherited

Member Data Documentation

◆ mArray

const GroupAttributeArray& mArray
protectedinherited

◆ mBitMask

const GroupType mBitMask
protectedinherited