10 #ifndef OPENVDB_POINTS_POINT_ATTRIBUTE_HAS_BEEN_INCLUDED
11 #define OPENVDB_POINTS_POINT_ATTRIBUTE_HAS_BEEN_INCLUDED
26 namespace point_attribute_internal {
28 template <
typename ValueType>
31 static inline ValueType
value() {
return zeroVal<ValueType>(); }
48 template <
typename Po
intDataTreeT>
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);
68 template <
typename ValueType,
69 typename CodecType = NullCodec,
70 typename PointDataTreeT>
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);
86 template <
typename ValueType,
typename Po
intDataTreeT>
89 const ValueType& uniformValue =
90 point_attribute_internal::Default<ValueType>::value());
96 template <
typename Po
intDataTreeT>
98 const std::vector<size_t>& indices);
104 template <
typename Po
intDataTreeT>
106 const std::vector<Name>& names);
112 template <
typename Po
intDataTreeT>
114 const size_t& index);
120 template <
typename Po
intDataTreeT>
133 template <
typename Po
intDataTreeT>
135 const std::vector<Name>& oldNames,
136 const std::vector<Name>& newNames);
145 template <
typename Po
intDataTreeT>
148 const Name& newName);
153 template <
typename Po
intDataTreeT>
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...
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
void compactAttributes(PointDataTreeT &tree)
Compact attributes in a VDB tree (if possible).
Definition: PointAttributeImpl.h:385
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 dropAttributes(PointDataTreeT &tree, const std::vector< Name > &names)
Drops attributes from the VDB tree.
Definition: PointAttributeImpl.h:273
void dropAttribute(PointDataTreeT &tree, const Name &name)
Drop one attribute from the VDB tree (convenience method).
Definition: PointAttributeImpl.h:314
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 renameAttribute(PointDataTreeT &tree, const Name &oldName, const Name &newName)
Rename an attribute in a VDB tree.
Definition: PointAttributeImpl.h:373
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