10#ifndef OPENVDB_POINTS_POINT_ATTRIBUTE_HAS_BEEN_INCLUDED
11#define OPENVDB_POINTS_POINT_ATTRIBUTE_HAS_BEEN_INCLUDED
26namespace point_attribute_internal {
28template <
typename ValueType>
31 static inline ValueType
value() {
return zeroVal<ValueType>(); }
48template <
typename Po
intDataTreeT>
49inline void appendAttribute(PointDataTreeT& tree,
52 const Index strideOrTotalSize = 1,
53 const bool constantStride =
true,
54 const Metadata* defaultValue =
nullptr,
55 const bool hidden =
false,
56 const bool transient =
false);
68template <
typename ValueType,
69 typename CodecType = NullCodec,
70 typename PointDataTreeT>
71inline void appendAttribute(PointDataTreeT& tree,
72 const std::string& name,
73 const ValueType& uniformValue =
74 point_attribute_internal::Default<ValueType>::value(),
75 const Index strideOrTotalSize = 1,
76 const bool constantStride =
true,
78 const bool hidden =
false,
79 const bool transient =
false);
86template <
typename ValueType,
typename Po
intDataTreeT>
87inline void collapseAttribute( PointDataTreeT& tree,
89 const ValueType& uniformValue =
90 point_attribute_internal::Default<ValueType>::value());
96template <
typename Po
intDataTreeT>
97inline void dropAttributes( PointDataTreeT& tree,
98 const std::vector<size_t>& indices);
104template <
typename Po
intDataTreeT>
105inline void dropAttributes( PointDataTreeT& tree,
106 const std::vector<Name>& names);
112template <
typename Po
intDataTreeT>
113inline void dropAttribute( PointDataTreeT& tree,
114 const size_t& index);
120template <
typename Po
intDataTreeT>
121inline void dropAttribute( PointDataTreeT& tree,
133template <
typename Po
intDataTreeT>
134inline void renameAttributes(PointDataTreeT& tree,
135 const std::vector<Name>& oldNames,
136 const std::vector<Name>& newNames);
145template <
typename Po
intDataTreeT>
146inline void renameAttribute(PointDataTreeT& tree,
148 const Name& newName);
153template <
typename Po
intDataTreeT>
154inline void compactAttributes(PointDataTreeT& tree);
Attribute array storage for string data using Descriptor Metadata.
Attribute Group access and filtering for iteration.
Set of Attribute Arrays which tracks metadata about each array.
Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by v...
std::string Name
Definition Name.h:19
Index32 Index
Definition Types.h:54
std::pair< Name, Name > NamePair
Definition AttributeArray.h:39
Definition Exceptions.h:13
Definition PointAttribute.h:30
static ValueType value()
Definition PointAttribute.h:31
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition version.h.in:121
#define OPENVDB_USE_VERSION_NAMESPACE
Definition version.h.in:212