10 #ifndef OPENVDB_POINTS_POINT_ATTRIBUTE_HAS_BEEN_INCLUDED 11 #define OPENVDB_POINTS_POINT_ATTRIBUTE_HAS_BEEN_INCLUDED 27 namespace point_attribute_internal {
29 template <
typename ValueType>
32 static inline ValueType
value() {
return zeroVal<ValueType>(); }
49 template <
typename Po
intDataTreeT>
53 const Index strideOrTotalSize = 1,
54 const bool constantStride =
true,
55 const Metadata* defaultValue =
nullptr,
56 const bool hidden =
false,
57 const bool transient =
false);
69 template <
typename ValueType,
71 typename PointDataTreeT>
73 const std::string& name,
74 const ValueType& uniformValue =
76 const Index strideOrTotalSize = 1,
77 const bool constantStride =
true,
79 const bool hidden =
false,
80 const bool transient =
false);
87 template <
typename ValueType,
typename Po
intDataTreeT>
90 const ValueType& uniformValue =
97 template <
typename Po
intDataTreeT>
99 const std::vector<size_t>& indices);
105 template <
typename Po
intDataTreeT>
107 const std::vector<Name>& names);
113 template <
typename Po
intDataTreeT>
115 const size_t& index);
121 template <
typename Po
intDataTreeT>
134 template <
typename Po
intDataTreeT>
136 const std::vector<Name>& oldNames,
137 const std::vector<Name>& newNames);
146 template <
typename Po
intDataTreeT>
149 const Name& newName);
154 template <
typename Po
intDataTreeT>
164 #endif // OPENVDB_POINTS_POINT_ATTRIBUTE_HAS_BEEN_INCLUDED Definition: PointAttribute.h:30
Attribute Group access and filtering for iteration.
void renameAttributes(PointDataTreeT &tree, const std::vector< Name > &oldNames, const std::vector< Name > &newNames)
Rename attributes in a VDB tree.
Definition: PointAttributeImpl.h:326
void compactAttributes(PointDataTreeT &tree)
Compact attributes in a VDB tree (if possible).
Definition: PointAttributeImpl.h:385
void dropAttribute(PointDataTreeT &tree, const Name &name)
Drop one attribute from the VDB tree (convenience method).
Definition: PointAttributeImpl.h:314
void appendAttribute(PointDataTreeT &tree, const std::string &name, const ValueType &uniformValue=point_attribute_internal::Default< ValueType >::value(), const Index strideOrTotalSize=1, const bool constantStride=true, const TypedMetadata< ValueType > *defaultValue=nullptr, const bool hidden=false, const bool transient=false)
Appends a new attribute to the VDB tree.
Definition: PointAttributeImpl.h:166
Index32 Index
Definition: Types.h:54
void collapseAttribute(PointDataTreeT &tree, const Name &name, const ValueType &uniformValue=point_attribute_internal::Default< ValueType >::value())
Collapse the attribute into a uniform value.
Definition: PointAttributeImpl.h:202
void renameAttribute(PointDataTreeT &tree, const Name &oldName, const Name &newName)
Rename an attribute in a VDB tree.
Definition: PointAttributeImpl.h:373
Definition: Exceptions.h:13
void dropAttributes(PointDataTreeT &tree, const std::vector< Name > &names)
Drops attributes from the VDB tree.
Definition: PointAttributeImpl.h:273
std::pair< Name, Name > NamePair
Definition: AttributeArray.h:40
static ValueType value()
Definition: PointAttribute.h:32
Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by v...
Attribute array storage for string data using Descriptor Metadata.
std::string Name
Definition: Name.h:19
Definition: AttributeArray.h:436
#define OPENVDB_VERSION_NAME
The version namespace name for this library version.
Definition: version.h.in:121
Set of Attribute Arrays which tracks metadata about each array.
#define OPENVDB_USE_VERSION_NAMESPACE
Definition: version.h.in:218