37 #ifndef OPENVDB_POINTS_ATTRIBUTE_GROUP_HAS_BEEN_INCLUDED 38 #define OPENVDB_POINTS_ATTRIBUTE_GROUP_HAS_BEEN_INCLUDED 65 static const char*
name() {
return "grp"; }
104 using Ptr = std::shared_ptr<GroupHandle>;
117 bool get(
Index n)
const;
131 using Ptr = std::shared_ptr<GroupWriteHandle>;
135 void set(
Index n,
bool on);
145 bool collapse(
bool on);
161 : mAttribute(attribute) { }
165 template <
typename LeafT>
167 mHandle.reset(
new GroupHandle(leaf.groupHandle(mAttribute)));
170 template <
typename IterT>
171 bool valid(
const IterT& iter)
const {
173 return mHandle->get(*iter);
177 const Name mAttribute;
191 #endif // OPENVDB_POINTS_ATTRIBUTE_GROUP_HAS_BEEN_INCLUDED
bool isGroup(const AttributeArray &array)
Definition: AttributeGroup.h:92
bool isUniform() const
Definition: AttributeGroup.h:115
Attribute Array storage templated on type and compression codec.
T * data
Definition: LeafBuffer.h:71
Index filtering on group membership.
Definition: AttributeGroup.h:157
GroupType ValueType
Definition: AttributeGroup.h:58
Index32 Index
Definition: Types.h:57
bool valid(const IterT &iter) const
Definition: AttributeGroup.h:171
Index size() const
Definition: AttributeGroup.h:114
static const char * name()
Definition: AttributeGroup.h:65
std::string Name
Definition: Name.h:44
Definition: AttributeGroup.h:61
#define OPENVDB_VERSION_NAME
Definition: version.h:43
Definition: AttributeGroup.h:55
Definition: Exceptions.h:39
const GroupType mBitMask
Definition: AttributeGroup.h:121
std::pair< Index, uint8_t > GroupIndex
Definition: AttributeGroup.h:109
Typed class for storing attribute data.
Definition: AttributeArray.h:437
GroupFilter(const Name &attribute)
Definition: AttributeGroup.h:160
uint8_t GroupType
Definition: AttributeGroup.h:49
void reset(const LeafT &leaf)
Definition: AttributeGroup.h:166
bool initialized() const
Definition: AttributeGroup.h:163
Definition: AttributeGroup.h:128
const GroupAttributeArray & mArray
Definition: AttributeGroup.h:120
Definition: AttributeGroup.h:107
Base class for storing attribute data.
Definition: AttributeArray.h:118
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h:71
Definition: AttributeGroup.h:101
std::shared_ptr< GroupHandle > Ptr
Definition: AttributeGroup.h:104
bool isType() const
Return true if this attribute is of the same type as the template parameter.
Definition: AttributeArray.h:186
GroupType StorageType
Definition: AttributeGroup.h:57
StorageType Type
Definition: AttributeGroup.h:61