OpenVDB  9.0.1
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Friends | List of all members
TypedAttributeArray< ValueType_, Codec_ > Class Template Referencefinal

Typed class for storing attribute data. More...

#include <openvdb/points/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, CONSTANTSTRIDE = 0x8, STREAMING = 0x10,
  PARTIALREAD = 0x20
}
 
enum  SerializationFlag { WRITESTRIDED = 0x1, WRITEUNIFORM = 0x2, WRITEMEMCOMPRESS = 0x4, WRITEPAGED = 0x8 }
 
using FactoryMethod = Ptr(*)(Index, Index, bool, const Metadata *)
 

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 &)
 
 TypedAttributeArray (const TypedAttributeArray &, bool)
 Deep copy constructor. More...
 
TypedAttributeArrayoperator= (const TypedAttributeArray &)
 
 TypedAttributeArray (TypedAttributeArray &&)=delete
 Move constructor disabled. More...
 
TypedAttributeArrayoperator= (TypedAttributeArray &&)=delete
 Move assignment operator disabled. More...
 
 ~TypedAttributeArray () override
 
AttributeArray::Ptr copy () const override
 
AttributeArray::Ptr copyUncompressed () const override
 
const NamePairtype () 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...
 
Name valueType () const override
 Return the name of the value type of a single element in this array (e.g., "float" or "vec3d"). More...
 
Name codecType () const override
 Return the name of the codec used by this array (e.g., "trnc" or "fxpt"). More...
 
Index valueTypeSize () const override
 Return the size in bytes of the value type of a single element in this array. More...
 
Index storageTypeSize () const override
 
bool valueTypeIsFloatingPoint () const override
 Return true if the value type is floating point. More...
 
bool valueTypeIsClass () const override
 Return true if the value type is a class (ie vector, matrix or quaternion return true) More...
 
bool valueTypeIsVector () const override
 Return true if the value type is a vector. More...
 
bool valueTypeIsQuaternion () const override
 Return true if the value type is a quaternion. More...
 
bool valueTypeIsMatrix () const override
 Return true if the value type is a matrix. 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 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 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 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 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...
 
bool isDataLoaded () const override
 Return true if all data has been loaded. More...
 
const StorageTypeconstData () const
 Return the raw data buffer. 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...
 
template<typename IterT >
void copyValuesUnsafe (const AttributeArray &sourceArray, const IterT &iter)
 Copy values into this array from a source array to a target array as referenced by an iterator. More...
 
template<typename IterT >
void copyValues (const AttributeArray &sourceArray, const IterT &iter, bool compact=true)
 Like copyValuesUnsafe(), but if compact is true, attempt to collapse this array. 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
 
const char * constDataAsByteArray () const
 Indirect virtual function to retrieve the data buffer cast to a char byte array. More...
 

Static Public Member Functions

static Ptr create (Index n, Index strideOrTotalSize=1, bool constantStride=true, const Metadata *metadata=nullptr)
 Return a new attribute array of the given length n and stride with uniform value zero. More...
 
static TypedAttributeArraycast (AttributeArray &attributeArray)
 Cast an AttributeArray to TypedAttributeArray<T> More...
 
static const TypedAttributeArraycast (const AttributeArray &attributeArray)
 Cast an AttributeArray to TypedAttributeArray<T> More...
 
static const NamePairattributeType ()
 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, const Metadata *metadata=nullptr, const ScopedRegistryLock *lock=nullptr)
 
static bool isRegistered (const NamePair &type, const ScopedRegistryLock *lock=nullptr)
 Return true if the given attribute type name is registered. More...
 
static void clearRegistry (const ScopedRegistryLock *lock=nullptr)
 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...
 
StorageTypedata ()
 Return the raw data buffer. More...
 
const StorageTypedata () const
 
bool validData () const
 Verify that data is not out-of-core or in a partially-read state. 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, const ScopedRegistryLock *lock=nullptr)
 Register a attribute type along with a factory function. More...
 
static void unregisterType (const NamePair &type, const ScopedRegistryLock *lock=nullptr)
 Remove a attribute type from the registry. More...
 

Protected Attributes

bool mIsUniform = true
 
tbb::spin_mutex mMutex
 
uint8_t mFlags = 0
 
uint8_t mUsePagedRead = 0
 
std::atomic< Index32mOutOfCore
 
union {
   compression::PageHandle::Ptr   mPageHandle
 
   size_t   mCompressedBytes
 
}; 
 used for out-of-core, paged reading More...
 

Friends

class ::TestAttributeArray
 

Detailed Description

template<typename ValueType_, typename Codec_ = NullCodec>
class openvdb::v9_0::points::TypedAttributeArray< ValueType_, Codec_ >

Typed class for storing attribute data.

Member Typedef Documentation

using AccessorBasePtr = std::shared_ptr<AccessorBase>
protectedinherited
using Codec = Codec_
using ConstPtr = std::shared_ptr<const TypedAttributeArray>
using FactoryMethod = Ptr (*)(Index, Index, bool, const Metadata*)
inherited
using Ptr = std::shared_ptr<TypedAttributeArray>
using StorageType = typename Codec::template Storage<ValueType>::Type
using ValueType = ValueType_

Member Enumeration Documentation

enum Flag
inherited
Enumerator
TRANSIENT 
HIDDEN 

by default not written to disk

CONSTANTSTRIDE 

hidden from UIs or iterators

STREAMING 

stride size does not vary in the array

PARTIALREAD 

streaming mode collapses attributes when first accessed

enum SerializationFlag
inherited
Enumerator
WRITESTRIDED 
WRITEUNIFORM 

data is marked as strided when written

WRITEMEMCOMPRESS 

data is marked as uniform when written

WRITEPAGED 

data is marked as compressed in-memory when written (deprecated flag as of ABI=6)

Constructor & Destructor Documentation

TypedAttributeArray ( Index  n = 1,
Index  strideOrTotalSize = 1,
bool  constantStride = true,
const ValueType uniformValue = zeroVal<ValueType>() 
)
explicit

Default constructor, always constructs a uniform attribute.

TypedAttributeArray ( const TypedAttributeArray< ValueType_, Codec_ > &  rhs)

Deep copy constructor.

Note
This method is thread-safe (as of ABI=7) for concurrently reading from the source attribute array while being deep-copied. Specifically, this means that the attribute array being deep-copied can be out-of-core and safely loaded in one thread while being copied using this copy-constructor in another thread. It is not thread-safe for write.
TypedAttributeArray ( const TypedAttributeArray< ValueType_, Codec_ > &  ,
bool   
)

Deep copy constructor.

Deprecated:
"Use copy-constructor without unused bool parameter"
TypedAttributeArray ( TypedAttributeArray< ValueType_, Codec_ > &&  )
delete

Move constructor disabled.

~TypedAttributeArray ( )
inlineoverride

Member Function Documentation

const NamePair & attributeType ( )
inlinestatic

Return the name of this attribute's type (includes codec)

TypedAttributeArray< ValueType_, Codec_ > & cast ( AttributeArray attributeArray)
inlinestatic

Cast an AttributeArray to TypedAttributeArray<T>

const TypedAttributeArray< ValueType_, Codec_ > & cast ( const AttributeArray attributeArray)
inlinestatic

Cast an AttributeArray to TypedAttributeArray<T>

static void clearRegistry ( const ScopedRegistryLock lock = nullptr)
staticinherited

Clear the attribute type registry.

Name codecType ( ) const
inlineoverridevirtual

Return the name of the codec used by this array (e.g., "trnc" or "fxpt").

Implements AttributeArray.

void collapse ( )
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.

void collapse ( AttributeArray array,
const ValueType value 
)
static

Non-member equivalent to collapse() that static_casts array to this TypedAttributeArray.

bool compact ( )
overridevirtual

Compact the existing array to become uniform if all values are identical.

Implements AttributeArray.

bool compress ( )
inlineoverridevirtual

Compress the attribute array.

Deprecated:
"Previously this compressed the attribute array, now it does nothing"

Implements AttributeArray.

const StorageType* constData ( ) const
inline

Return the raw data buffer.

const char* constDataAsByteArray ( ) const
inlineinherited

Indirect virtual function to retrieve the data buffer cast to a char byte array.

AttributeArray::Ptr copy ( ) const
overridevirtual

Return a copy of this attribute.

Note
This method is thread-safe.

Implements AttributeArray.

AttributeArray::Ptr copyUncompressed ( ) const
overridevirtual

Return a copy of this attribute.

Note
This method is thread-safe.
Deprecated:
"In-memory compression no longer supported, use AttributeArray::copy() instead"

Implements AttributeArray.

void copyValues ( const AttributeArray sourceArray,
const IterT &  iter,
bool  compact = true 
)
inherited

Like copyValuesUnsafe(), but if compact is true, attempt to collapse this array.

Note
This method is not thread-safe, it must be guaranteed that this array is not concurrently modified by another thread and that the source array is also not modified.
void copyValuesUnsafe ( const AttributeArray sourceArray,
const IterT &  iter 
)
inherited

Copy values into this array from a source array to a target array as referenced by an iterator.

Iterators must adhere to the ForwardIterator interface described in the example below:

struct MyIterator
{
// returns true if the iterator is referencing valid copying indices
operator bool() const;
// increments the iterator
MyIterator& operator++();
// returns the source index that the iterator is referencing for copying
Index sourceIndex() const;
// returns the target index that the iterator is referencing for copying
Index targetIndex() const;
};
Note
It is assumed that the strided storage sizes match, the arrays are both in-core, and both value types are floating-point or both integer.
It is possible to use this method to write to a uniform target array if the iterator does not have non-zero target indices.
This method is not thread-safe, it must be guaranteed that this array is not concurrently modified by another thread and that the source array is also not modified.
static Ptr create ( const NamePair type,
Index  length,
Index  stride = 1,
bool  constantStride = true,
const Metadata metadata = nullptr,
const ScopedRegistryLock lock = nullptr 
)
staticinherited

Create a new attribute array of the given (registered) type, length and stride.

If lock is non-null, the AttributeArray registry mutex has already been locked

TypedAttributeArray< ValueType_, Codec_ >::Ptr create ( Index  n,
Index  strideOrTotalSize = 1,
bool  constantStride = true,
const Metadata metadata = nullptr 
)
inlinestatic

Return a new attribute array of the given length n and stride with uniform value zero.

StorageType* data ( )
inlineprotected

Return the raw data buffer.

const StorageType* data ( ) const
inlineprotected
Index dataSize ( ) const
inlineoverridevirtual

Return the size of the data in this array.

Implements AttributeArray.

bool decompress ( )
inlineoverridevirtual

Uncompress the attribute array.

Deprecated:
"Previously this uncompressed the attribute array, now it does nothing"

Implements AttributeArray.

void expand ( bool  fill = true)
overridevirtual

Replace the single value storage with an array of length size().

Note
Non-uniform attributes are unchanged.
Parameters
filltoggle 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.

Note
Identical to collapse() except a non-uniform array will not become uniform.
void fill ( AttributeArray array,
const ValueType value 
)
static

Non-member equivalent to fill() that static_casts array to this TypedAttributeArray.

uint8_t flags ( ) const
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.

AttributeArray::AccessorBasePtr getAccessor ( ) const
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 in-core)

void getUnsafe ( Index  n,
T &  value 
) const

Return the value at index n (assumes in-core)

TypedAttributeArray< ValueType_, Codec_ >::ValueType getUnsafe ( const AttributeArray array,
const Index  n 
)
static

Non-member equivalent to getUnsafe() that static_casts array to this TypedAttributeArray (assumes in-core)

bool hasConstantStride ( ) const
inlineinherited

Return true if this attribute has a constant stride.

bool hasValueType ( ) const
inlineinherited

Return true if this attribute has a value type the same as the template parameter.

bool isDataLoaded ( ) const
overridevirtual

Return true if all data has been loaded.

Implements AttributeArray.

bool isHidden ( ) const
inlineinherited

Return true if this attribute is hidden (e.g., from UI or iterators).

bool isOutOfCore ( ) const
inline

Return true if this buffer's values have not yet been read from disk.

static bool isRegistered ( const NamePair type,
const ScopedRegistryLock lock = nullptr 
)
staticinherited

Return true if the given attribute type name is registered.

bool isRegistered ( )
inlinestatic

Return true if this attribute type is registered.

bool isStreaming ( ) const
inlineinherited

Return true if this attribute is in streaming mode.

bool isTransient ( ) const
inlineinherited

Return true if this attribute is not serialized during stream output.

bool isType ( ) const
inlineinherited

Return true if this attribute is of the same type as the template parameter.

bool isUniform ( ) const
inlineoverridevirtual

Return true if this array is stored as a single uniform value.

Implements AttributeArray.

void loadData ( ) const
overridevirtual

Ensures all data is in-core.

Implements AttributeArray.

size_t memUsage ( ) const
overridevirtual

Return the number of bytes of memory used by this attribute.

Implements AttributeArray.

bool operator!= ( const AttributeArray other) const
inlineinherited
TypedAttributeArray< ValueType_, Codec_ > & operator= ( const TypedAttributeArray< ValueType_, Codec_ > &  rhs)

Deep copy assignment operator.

Note
this operator is thread-safe.
TypedAttributeArray& operator= ( TypedAttributeArray< ValueType_, Codec_ > &&  )
delete

Move assignment operator disabled.

bool operator== ( const AttributeArray other) const
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

void read ( std::istream &  is)
overridevirtual

Read attribute data from a stream.

Implements AttributeArray.

void readBuffers ( std::istream &  is)
overridevirtual

Read attribute buffers from a stream.

Implements AttributeArray.

void readMetadata ( std::istream &  is)
overridevirtual

Read attribute metadata from a stream.

Implements AttributeArray.

void readPagedBuffers ( compression::PagedInputStream is)
overridevirtual

Read attribute buffers from a paged stream.

Implements AttributeArray.

static void registerType ( const NamePair type,
FactoryMethod  ,
const ScopedRegistryLock lock = nullptr 
)
staticprotectedinherited

Register a attribute type along with a factory function.

void registerType ( )
inlinestatic

Register this attribute type along with a factory function.

void set ( Index  n,
const ValueType value 
)

Set value at the given index n.

void set ( Index  n,
const T &  value 
)

Set value at the given index n.

void set ( const Index  n,
const AttributeArray sourceArray,
const Index  sourceIndex 
)
overridevirtual

Set value at given index n from sourceIndex of another sourceArray.

Deprecated:
"Use copyValues() with source-target index pairs"

Implements AttributeArray.

void setConstantStride ( bool  state)
protectedinherited

Specify whether this attribute has a constant stride or not.

void setHidden ( bool  state)
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.

Note
Attributes are not hidden by default.
void setStreaming ( bool  state)
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.

Note
This operation is not thread-safe.
void setTransient ( bool  state)
inherited

Specify whether this attribute should only exist in memory and not be serialized during stream output.

Note
Attributes are not transient by default.
void setUnsafe ( Index  n,
const ValueType value 
)

Set value at the given index n (assumes in-core)

void setUnsafe ( Index  n,
const T &  value 
)

Set value at the given index n (assumes in-core)

void setUnsafe ( AttributeArray array,
const Index  n,
const ValueType value 
)
static

Non-member equivalent to setUnsafe() that static_casts array to this TypedAttributeArray (assumes in-core)

Index size ( ) const
inlineoverridevirtual

Return the number of elements in this array.

Implements AttributeArray.

Index storageTypeSize ( ) const
inlineoverridevirtual

Return the size in bytes of the storage type of a single element of this array.

Note
If the Codec is a NullCodec, valueSize() == storageSize()

Implements AttributeArray.

Index stride ( ) const
inlineoverridevirtual

Return the stride of this array.

Note
A return value of zero means a variable stride

Implements AttributeArray.

const NamePair& type ( ) const
inlineoverridevirtual

Return the name of this attribute's type.

Implements AttributeArray.

static void unregisterType ( const NamePair type,
const ScopedRegistryLock lock = nullptr 
)
staticprotectedinherited

Remove a attribute type from the registry.

void unregisterType ( )
inlinestatic

Remove this attribute type from the registry.

bool validData ( ) const
inlineprotected

Verify that data is not out-of-core or in a partially-read state.

Name valueType ( ) const
inlineoverridevirtual

Return the name of the value type of a single element in this array (e.g., "float" or "vec3d").

Implements AttributeArray.

bool valueTypeIsClass ( ) const
overridevirtual

Return true if the value type is a class (ie vector, matrix or quaternion return true)

Implements AttributeArray.

bool valueTypeIsFloatingPoint ( ) const
overridevirtual

Return true if the value type is floating point.

Implements AttributeArray.

bool valueTypeIsMatrix ( ) const
overridevirtual

Return true if the value type is a matrix.

Implements AttributeArray.

bool valueTypeIsQuaternion ( ) const
overridevirtual

Return true if the value type is a quaternion.

Implements AttributeArray.

bool valueTypeIsVector ( ) const
overridevirtual

Return true if the value type is a vector.

Implements AttributeArray.

Index valueTypeSize ( ) const
inlineoverridevirtual

Return the size in bytes of the value type of a single element in this array.

Implements AttributeArray.

void write ( std::ostream &  os,
bool  outputTransient 
) const
overridevirtual

Write attribute data to a stream.

Parameters
osthe output stream
outputTransientif true, write out transient attributes

Implements AttributeArray.

void write ( std::ostream &  os) const
overridevirtual

Write attribute data to a stream, don't write transient attributes.

Implements AttributeArray.

void writeBuffers ( std::ostream &  os,
bool  outputTransient 
) const
overridevirtual

Write attribute buffers to a stream.

Parameters
osthe output stream
outputTransientif true, write out transient attributes

Implements AttributeArray.

void writeMetadata ( std::ostream &  os,
bool  outputTransient,
bool  paged 
) const
overridevirtual

Write attribute metadata to a stream.

Parameters
osthe output stream
outputTransientif true, write out transient attributes
pagedif true, data is written out in pages

Implements AttributeArray.

void writePagedBuffers ( compression::PagedOutputStream os,
bool  outputTransient 
) const
overridevirtual

Write attribute buffers to a paged stream.

Parameters
osthe output stream
outputTransientif true, write out transient attributes

Implements AttributeArray.

Friends And Related Function Documentation

friend class ::TestAttributeArray
friend

Member Data Documentation

union { ... }

used for out-of-core, paged reading

size_t mCompressedBytes
inherited
uint8_t mFlags = 0
protectedinherited
bool mIsUniform = true
protectedinherited
tbb::spin_mutex mMutex
mutableprotectedinherited
std::atomic<Index32> mOutOfCore
protectedinherited
compression::PageHandle::Ptr mPageHandle
inherited
uint8_t mUsePagedRead = 0
protectedinherited