10#ifndef OPENVDB_POINTS_POINT_ATTRIBUTE_HAS_BEEN_INCLUDED 
   11#define OPENVDB_POINTS_POINT_ATTRIBUTE_HAS_BEEN_INCLUDED 
   29template <
typename ValueType>
 
 
   49template <
typename Po
intDataTreeT>
 
   50inline void appendAttribute(PointDataTreeT& 
tree,
 
   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);
 
   69template <
typename ValueType,
 
   70          typename CodecType = NullCodec,
 
   71          typename PointDataTreeT>
 
   72inline void appendAttribute(PointDataTreeT& 
tree,
 
   73                            const std::string& name,
 
   74                            const ValueType& uniformValue =
 
   75                                point_attribute_internal::Default<ValueType>::value(),
 
   76                            const Index strideOrTotalSize = 1,
 
   77                            const bool constantStride = 
true,
 
   79                            const bool hidden = 
false,
 
   80                            const bool transient = 
false);
 
   87template <
typename ValueType, 
typename Po
intDataTreeT>
 
   88inline void collapseAttribute(  PointDataTreeT& 
tree,
 
   90                                const ValueType& uniformValue =
 
   91                                    point_attribute_internal::Default<ValueType>::value());
 
   97template <
typename Po
intDataTreeT>
 
   98inline void dropAttributes( PointDataTreeT& 
tree,
 
   99                            const std::vector<size_t>& indices);
 
  105template <
typename Po
intDataTreeT>
 
  106inline void dropAttributes( PointDataTreeT& 
tree,
 
  107                            const std::vector<Name>& names);
 
  113template <
typename Po
intDataTreeT>
 
  114inline void dropAttribute(  PointDataTreeT& 
tree,
 
  115                            const size_t& index);
 
  121template <
typename Po
intDataTreeT>
 
  122inline void dropAttribute(  PointDataTreeT& 
tree,
 
  134template <
typename Po
intDataTreeT>
 
  135inline void renameAttributes(PointDataTreeT& 
tree,
 
  136                            const std::vector<Name>& oldNames,
 
  137                            const std::vector<Name>& newNames);
 
  146template <
typename Po
intDataTreeT>
 
  147inline void renameAttribute(PointDataTreeT& 
tree,
 
  149                            const Name& newName);
 
  154template <
typename Po
intDataTreeT>
 
  155inline 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...
Definition PointAttribute.h:27
Definition PointDataGrid.h:170
std::string Name
Definition Name.h:19
Index32 Index
Definition Types.h:54
std::pair< Name, Name > NamePair
Definition AttributeArray.h:40
constexpr T zeroVal()
Return the value of type T that corresponds to zero.
Definition Math.h:70
Definition Exceptions.h:13
Definition PointAttribute.h:31
static ValueType value()
Definition PointAttribute.h:32
#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:218