|
OpenVDB
4.0.2
|
Typed class for storing attribute data. More...
#include <AttributeArray.h>
Inherits AttributeArray.
Public Types | |
| using | Ptr = std::shared_ptr< TypedAttributeArray > |
| using | ConstPtr = std::shared_ptr< const TypedAttributeArray > |
| using | ValueType = ValueType_ |
| using | Codec = Codec_ |
| using | StorageType = typename Codec::template Storage< ValueType >::Type |
| enum | Flag { TRANSIENT = 0x1, HIDDEN = 0x2, OUTOFCORE = 0x4, CONSTANTSTRIDE = 0x8, STREAMING = 0x10 } |
| enum | SerializationFlag { WRITESTRIDED = 0x1, WRITEUNIFORM = 0x2, WRITEMEMCOMPRESS = 0x4, WRITEPAGED = 0x8 } |
| using | FactoryMethod = Ptr(*)(Index, Index, bool) |
Public Member Functions | |
| TypedAttributeArray (Index n=1, Index strideOrTotalSize=1, bool constantStride=true, const ValueType &uniformValue=zeroVal< ValueType >()) | |
| Default constructor, always constructs a uniform attribute. More... | |
| TypedAttributeArray (const TypedAttributeArray &, bool uncompress=false) | |
| Deep copy constructor (optionally decompress during copy). More... | |
| TypedAttributeArray & | operator= (const TypedAttributeArray &) |
| Deep copy assignment operator. More... | |
| TypedAttributeArray (TypedAttributeArray &&)=delete | |
| Move constructor disabled. More... | |
| TypedAttributeArray & | operator= (TypedAttributeArray &&)=delete |
| Move assignment operator disabled. More... | |
| virtual | ~TypedAttributeArray () |
| AttributeArray::Ptr | copy () const override |
| Return a copy of this attribute. More... | |
| AttributeArray::Ptr | copyUncompressed () const override |
| Return an uncompressed copy of this attribute (will just return a copy if not compressed). More... | |
| const NamePair & | type () const override |
| Return the name of this attribute's type. More... | |
| Index | size () const override |
| Return the number of elements in this array. More... | |
| Index | stride () const override |
| Index | dataSize () const override |
| Return the size of the data in this array. More... | |
| size_t | memUsage () const override |
| Return the number of bytes of memory used by this attribute. More... | |
| ValueType | getUnsafe (Index n) const |
| Return the value at index n (assumes uncompressed and in-core) More... | |
| ValueType | get (Index n) const |
| Return the value at index n. More... | |
| template<typename T > | |
| void | getUnsafe (Index n, T &value) const |
| Return the value at index n (assumes uncompressed and in-core) More... | |
| template<typename T > | |
| void | get (Index n, T &value) const |
| Return the value at index n. More... | |
| void | setUnsafe (Index n, const ValueType &value) |
| Set value at the given index n (assumes uncompressed and in-core) More... | |
| void | set (Index n, const ValueType &value) |
| Set value at the given index n. More... | |
| template<typename T > | |
| void | setUnsafe (Index n, const T &value) |
| Set value at the given index n (assumes uncompressed and in-core) More... | |
| template<typename T > | |
| void | set (Index n, const T &value) |
| Set value at the given index n. More... | |
| void | set (const Index n, const AttributeArray &sourceArray, const Index sourceIndex) override |
| Set value at given index n from sourceIndex of another sourceArray. More... | |
| bool | isUniform () const override |
Return true if this array is stored as a single uniform value. More... | |
| void | expand (bool fill=true) override |
| Replace the single value storage with an array of length size(). More... | |
| void | collapse () override |
| Replace the existing array with a uniform zero value. More... | |
| bool | compact () override |
| Compact the existing array to become uniform if all values are identical. More... | |
| void | collapse (const ValueType &uniformValue) |
| Replace the existing array with the given uniform value. More... | |
| void | fill (const ValueType &value) |
| Fill the existing array with the given value. More... | |
| bool | compress () override |
| Compress the attribute array. More... | |
| bool | decompress () override |
| Uncompress the attribute array. More... | |
| void | read (std::istream &) override |
| Read attribute data from a stream. More... | |
| void | write (std::ostream &os, bool outputTransient) const override |
| void | write (std::ostream &) const override |
| Write attribute data to a stream, don't write transient attributes. More... | |
| void | readMetadata (std::istream &) override |
| Read attribute metadata from a stream. More... | |
| void | writeMetadata (std::ostream &os, bool outputTransient, bool paged) const override |
| void | readBuffers (std::istream &) override |
| Read attribute buffers from a stream. More... | |
| void | writeBuffers (std::ostream &os, bool outputTransient) const override |
| void | readPagedBuffers (compression::PagedInputStream &) override |
| Read attribute buffers from a paged stream. More... | |
| void | writePagedBuffers (compression::PagedOutputStream &os, bool outputTransient) const override |
| bool | isOutOfCore () const |
Return true if this buffer's values have not yet been read from disk. More... | |
| void | loadData () const override |
| Ensures all data is in-core. More... | |
| template<typename AttributeArrayType > | |
| bool | isType () const |
Return true if this attribute is of the same type as the template parameter. More... | |
| template<typename ValueType > | |
| bool | hasValueType () const |
Return true if this attribute has a value type the same as the template parameter. More... | |
| bool | isCompressed () const |
Return true if this array is compressed. More... | |
| void | setHidden (bool state) |
| Specify whether this attribute should be hidden (e.g., from UI or iterators). More... | |
| bool | isHidden () const |
Return true if this attribute is hidden (e.g., from UI or iterators). More... | |
| void | setTransient (bool state) |
| Specify whether this attribute should only exist in memory and not be serialized during stream output. More... | |
| bool | isTransient () const |
Return true if this attribute is not serialized during stream output. More... | |
| void | setStreaming (bool state) |
| Specify whether this attribute is to be streamed off disk, in which case, the attributes are collapsed after being first loaded leaving them in a destroyed state. More... | |
| bool | isStreaming () const |
Return true if this attribute is in streaming mode. More... | |
| bool | hasConstantStride () const |
Return true if this attribute has a constant stride. More... | |
| uint8_t | flags () const |
| Retrieve the attribute array flags. More... | |
| bool | operator== (const AttributeArray &other) const |
| bool | operator!= (const AttributeArray &other) const |
Static Public Member Functions | |
| static Ptr | create (Index n, Index strideOrTotalSize=1, bool constantStride=true) |
| Return a new attribute array of the given length n and stride with uniform value zero. More... | |
| static TypedAttributeArray & | cast (AttributeArray &attributeArray) |
| Cast an AttributeArray to TypedAttributeArray<T> More... | |
| static const TypedAttributeArray & | cast (const AttributeArray &attributeArray) |
| Cast an AttributeArray to TypedAttributeArray<T> More... | |
| static const NamePair & | attributeType () |
| Return the name of this attribute's type (includes codec) More... | |
| static bool | isRegistered () |
Return true if this attribute type is registered. More... | |
| static void | registerType () |
| Register this attribute type along with a factory function. More... | |
| static void | unregisterType () |
| Remove this attribute type from the registry. More... | |
| static ValueType | getUnsafe (const AttributeArray *array, const Index n) |
| static void | setUnsafe (AttributeArray *array, const Index n, const ValueType &value) |
| static void | collapse (AttributeArray *array, const ValueType &value) |
| Non-member equivalent to collapse() that static_casts array to this TypedAttributeArray. More... | |
| static void | fill (AttributeArray *array, const ValueType &value) |
| Non-member equivalent to fill() that static_casts array to this TypedAttributeArray. More... | |
| static Ptr | create (const NamePair &type, Index length, Index stride=1, bool constantStride=true) |
| Create a new attribute array of the given (registered) type, length and stride. More... | |
| static bool | isRegistered (const NamePair &type) |
Return true if the given attribute type name is registered. More... | |
| static void | clearRegistry () |
| Clear the attribute type registry. More... | |
Protected Types | |
| using | AccessorBasePtr = std::shared_ptr< AccessorBase > |
Protected Member Functions | |
| AccessorBasePtr | getAccessor () const override |
| Obtain an Accessor that stores getter and setter functors. More... | |
| void | setConstantStride (bool state) |
| Specify whether this attribute has a constant stride or not. More... | |
Static Protected Member Functions | |
| static void | registerType (const NamePair &type, FactoryMethod) |
| Register a attribute type along with a factory function. More... | |
| static void | unregisterType (const NamePair &type) |
| Remove a attribute type from the registry. More... | |
Protected Attributes | |
| size_t | mCompressedBytes = 0 |
| uint8_t | mFlags = 0 |
| uint8_t | mSerializationFlags = 0 |
| compression::PageHandle::Ptr | mPageHandle |
| used for out-of-core, paged reading More... | |
Typed class for storing attribute data.
|
protectedinherited |
| using Codec = Codec_ |
| using ConstPtr = std::shared_ptr<const TypedAttributeArray> |
|
inherited |
| using Ptr = std::shared_ptr<TypedAttributeArray> |
| using StorageType = typename Codec::template Storage<ValueType>::Type |
| using ValueType = ValueType_ |
|
inherited |
|
inherited |
|
explicit |
Default constructor, always constructs a uniform attribute.
| TypedAttributeArray | ( | const TypedAttributeArray< ValueType_, Codec_ > & | rhs, |
| bool | uncompress = false |
||
| ) |
Deep copy constructor (optionally decompress during copy).
|
delete |
Move constructor disabled.
|
inlinevirtual |
|
inlinestatic |
Return the name of this attribute's type (includes codec)
|
inlinestatic |
Cast an AttributeArray to TypedAttributeArray<T>
|
inlinestatic |
Cast an AttributeArray to TypedAttributeArray<T>
|
staticinherited |
Clear the attribute type registry.
|
overridevirtual |
Replace the existing array with a uniform zero value.
Implements AttributeArray.
| void collapse | ( | const ValueType & | uniformValue | ) |
Replace the existing array with the given uniform value.
|
static |
Non-member equivalent to collapse() that static_casts array to this TypedAttributeArray.
|
overridevirtual |
Compact the existing array to become uniform if all values are identical.
Implements AttributeArray.
|
inlineoverridevirtual |
Compress the attribute array.
Implements AttributeArray.
|
overridevirtual |
Return a copy of this attribute.
Implements AttributeArray.
|
overridevirtual |
Return an uncompressed copy of this attribute (will just return a copy if not compressed).
Implements AttributeArray.
|
staticinherited |
Create a new attribute array of the given (registered) type, length and stride.
|
inlinestatic |
Return a new attribute array of the given length n and stride with uniform value zero.
|
inlineoverridevirtual |
Return the size of the data in this array.
Implements AttributeArray.
|
inlineoverridevirtual |
Uncompress the attribute array.
Implements AttributeArray.
|
overridevirtual |
Replace the single value storage with an array of length size().
| fill | toggle to initialize the array elements with the pre-expanded value. |
Implements AttributeArray.
| void fill | ( | const ValueType & | value | ) |
Fill the existing array with the given value.
|
static |
Non-member equivalent to fill() that static_casts array to this TypedAttributeArray.
|
inlineinherited |
Retrieve the attribute array flags.
| TypedAttributeArray< ValueType_, Codec_ >::ValueType get | ( | Index | n | ) | const |
Return the value at index n.
| void get | ( | Index | n, |
| T & | value | ||
| ) | const |
Return the value at index n.
|
overrideprotectedvirtual |
Obtain an Accessor that stores getter and setter functors.
Implements AttributeArray.
| TypedAttributeArray< ValueType_, Codec_ >::ValueType getUnsafe | ( | Index | n | ) | const |
Return the value at index n (assumes uncompressed and in-core)
| void getUnsafe | ( | Index | n, |
| T & | value | ||
| ) | const |
Return the value at index n (assumes uncompressed and in-core)
|
static |
Non-member equivalent to getUnsafe() that static_casts array to this TypedAttributeArray (assumes uncompressed and in-core)
|
inlineinherited |
Return true if this attribute has a constant stride.
|
inlineinherited |
Return true if this attribute has a value type the same as the template parameter.
|
inlineinherited |
Return true if this array is compressed.
|
inlineinherited |
Return true if this attribute is hidden (e.g., from UI or iterators).
|
inline |
Return true if this buffer's values have not yet been read from disk.
|
staticinherited |
Return true if the given attribute type name is registered.
|
inlinestatic |
Return true if this attribute type is registered.
|
inlineinherited |
Return true if this attribute is in streaming mode.
|
inlineinherited |
Return true if this attribute is not serialized during stream output.
|
inlineinherited |
Return true if this attribute is of the same type as the template parameter.
|
inlineoverridevirtual |
Return true if this array is stored as a single uniform value.
Implements AttributeArray.
|
overridevirtual |
Ensures all data is in-core.
Implements AttributeArray.
|
overridevirtual |
Return the number of bytes of memory used by this attribute.
Implements AttributeArray.
|
inlineinherited |
| TypedAttributeArray< ValueType_, Codec_ >::TypedAttributeArray & operator= | ( | const TypedAttributeArray< ValueType_, Codec_ > & | rhs | ) |
Deep copy assignment operator.
|
delete |
Move assignment operator disabled.
|
inherited |
Check the compressed bytes and flags. If they are equal, perform a deeper comparison check necessary on the inherited types (TypedAttributeArray) Requires non operator implementation due to inheritance
|
overridevirtual |
Read attribute data from a stream.
Implements AttributeArray.
|
overridevirtual |
Read attribute buffers from a stream.
Implements AttributeArray.
|
overridevirtual |
Read attribute metadata from a stream.
Implements AttributeArray.
|
overridevirtual |
Read attribute buffers from a paged stream.
Implements AttributeArray.
|
staticprotectedinherited |
Register a attribute type along with a factory function.
|
inlinestatic |
Register this attribute type along with a factory function.
| void set | ( | Index | n, |
| const T & | value | ||
| ) |
Set value at the given index n.
|
overridevirtual |
Set value at given index n from sourceIndex of another sourceArray.
Implements AttributeArray.
|
protectedinherited |
Specify whether this attribute has a constant stride or not.
|
inherited |
Specify whether this attribute should be hidden (e.g., from UI or iterators).
This is useful if the attribute is used for blind data or as scratch space for a calculation.
|
inherited |
Specify whether this attribute is to be streamed off disk, in which case, the attributes are collapsed after being first loaded leaving them in a destroyed state.
|
inherited |
Specify whether this attribute should only exist in memory and not be serialized during stream output.
Set value at the given index n (assumes uncompressed and in-core)
| void setUnsafe | ( | Index | n, |
| const T & | value | ||
| ) |
Set value at the given index n (assumes uncompressed and in-core)
|
static |
Non-member equivalent to setUnsafe() that static_casts array to this TypedAttributeArray (assumes uncompressed and in-core)
|
inlineoverridevirtual |
Return the number of elements in this array.
Implements AttributeArray.
|
inlineoverridevirtual |
Return the stride of this array.
Implements AttributeArray.
|
inlineoverridevirtual |
Return the name of this attribute's type.
Implements AttributeArray.
|
staticprotectedinherited |
Remove a attribute type from the registry.
|
inlinestatic |
Remove this attribute type from the registry.
|
overridevirtual |
Write attribute data to a stream.
| os | the output stream |
| outputTransient | if true, write out transient attributes |
Implements AttributeArray.
|
overridevirtual |
Write attribute data to a stream, don't write transient attributes.
Implements AttributeArray.
|
overridevirtual |
Write attribute buffers to a stream.
| os | the output stream |
| outputTransient | if true, write out transient attributes |
Implements AttributeArray.
|
overridevirtual |
Write attribute metadata to a stream.
| os | the output stream |
| outputTransient | if true, write out transient attributes |
| paged | if true, data is written out in pages |
Implements AttributeArray.
|
overridevirtual |
Write attribute buffers to a paged stream.
| os | the output stream |
| outputTransient | if true, write out transient attributes |
Implements AttributeArray.
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
used for out-of-core, paged reading
|
protectedinherited |
1.8.13