C++ important types and functions

inline VDSHandle OpenVDS::Open(const OpenOptions &options, Error &error)

Open an existing VDS.

Parameters:
  • options – The options for the connection

  • error – If an error occured, the error code and message will be written to this output parameter

Returns:

The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager

inline VDSHandle OpenVDS::Open(std::string url, std::string connectionString, Error &error)

Open an existing VDS.

Parameters:
  • url – The url scheme specific to each cloud provider Available schemes are s3:// azure://

  • connectionString – The cloud provider specific connection string Specifies additional arguments for the cloud provider

  • error – If an error occured, the error code and message will be written to this output parameter

Returns:

The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager

inline VDSHandle OpenVDS::OpenWithAdaptiveCompressionTolerance(std::string url, std::string connectionString, float waveletAdaptiveTolerance, Error &error)

Open an existing VDS with adaptive compression tolerance.

Parameters:
  • url – The url scheme specific to each cloud provider Available schemes are s3:// azure://

  • connectionString – The cloud provider specific connection string Specifies additional arguments for the cloud provider

  • waveletAdaptiveTolerance – Wavelet adaptive tolerance. This will try to read the dataset as-if it was compressed with the given tolerance even if it was compressed with a lower tolerance or lossless.

  • error – If an error occured, the error code and message will be written to this output parameter

Returns:

The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager

inline VDSHandle OpenVDS::Create(const OpenOptions &options, VolumeDataLayoutDescriptor const &layoutDescriptor, std::vector<VolumeDataAxisDescriptor> axisDescriptors, std::vector<VolumeDataChannelDescriptor> channelDescriptors, MetadataReadAccess const &metadata, CompressionMethod compressionMethod, float compressionTolerance, Error &error)

Create a new VDS.

Parameters:
  • options – The options for the connection

  • compressionMethod – The overall compression method to be used for the VDS. The channel descriptors can have additional options to control how a channel is compressed.

  • compressionTolerance – This property specifies the compression tolerance [1..255] when using the wavelet compression method. This value is the maximum deviation from the original data value when the data is converted to 8-bit using the value range. A value of 1 means the maximum allowable loss is the same as quantizing to 8-bit (but the average loss will be much much lower than quantizing to 8-bit). It is not a good idea to directly relate the tolerance to the quality of the compressed data, as the average loss will in general be an order of magnitude lower than the allowable loss.

  • error – If an error occured, the error code and message will be written to this output parameter

Returns:

The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager

inline VDSHandle OpenVDS::Create(std::string url, std::string connectionString, VolumeDataLayoutDescriptor const &layoutDescriptor, std::vector<VolumeDataAxisDescriptor> axisDescriptors, std::vector<VolumeDataChannelDescriptor> channelDescriptors, MetadataReadAccess const &metadata, CompressionMethod compressionMethod, float compressionTolerance, Error &error)

Create a new VDS.

Parameters:
  • url – The url scheme specific to each cloud provider Available schemes are s3:// azure://

  • connectionString – The cloud provider specific connection string Specifies additional arguments for the cloud provider

  • compressionMethod – The overall compression method to be used for the VDS. The channel descriptors can have additional options to control how a channel is compressed.

  • compressionTolerance – This property specifies the compression tolerance [1..255] when using the wavelet compression method. This value is the maximum deviation from the original data value when the data is converted to 8-bit using the value range. A value of 1 means the maximum allowable loss is the same as quantizing to 8-bit (but the average loss will be much much lower than quantizing to 8-bit). It is not a good idea to directly relate the tolerance to the quality of the compressed data, as the average loss will in general be an order of magnitude lower than the allowable loss.

  • error – If an error occured, the error code and message will be written to this output parameter

Returns:

The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager

inline void OpenVDS::Close(VDSHandle handle, bool flush = true)

Close a VDS and free up all associated resources. If an error occurs, an exception will be thrown.

Parameters:

handle – The handle of the VDS

struct AWSOpenOptions : public OpenVDS::OpenOptions

Options for opening a VDS in AWS.

Public Functions

inline AWSOpenOptions()
inline AWSOpenOptions(std::string const &bucket, std::string const &key, std::string const &region = std::string(), std::string const &endpointOverride = std::string(), int connectionTimeoutMs = 3000, int requestTimeoutMs = 6000, bool disableInitApi = false)

AWSOpenOptions constructor.

Parameters:
  • bucket – The bucket of the VDS

  • key – The key prefix of the VDS

  • region – The region of the bucket of the VDS

  • endpointOverride – This parameter allows to override the endpoint url

  • connectionTimeoutMs – This parameter allows to override the time a connection can spend on connecting to AWS

  • requestTimeoutMs – This paramter allows to override the time a request can take

Public Members

std::string bucket
std::string key
std::string region
std::string endpointOverride
std::string accessKeyId
std::string secretKey
std::string sessionToken
std::string expiration
int connectionTimeoutMs
int requestTimeoutMs
bool disableInitApi
struct AzureOpenOptions : public OpenVDS::OpenOptions

Options for opening a VDS in Azure.

Public Functions

inline AzureOpenOptions()
inline AzureOpenOptions(std::string const &connectionString, std::string const &container, std::string const &blob)

AzureOpenOptions constructor.

Parameters:
  • connectionString – The connectionString for the VDS

  • container – The container of the VDS

  • blob – The blob prefix of the VDS

inline AzureOpenOptions(std::string const &connectionString, std::string const &container, std::string const &blob, int parallelism_factor, int max_execution_time)

AzureOpenOptions constructor.

Parameters:
  • connectionString – The connectionString for the VDS

  • container – The container of the VDS

  • blob – The blob prefix of the VDS

  • parallelism_factor – The parallelism factor setting for the Azure Blob Storage library

  • max_execution_time – The max execution time setting for the Azure Blob Storage library

Public Members

std::string connectionString
std::string accountName
std::string bearerToken
std::string container
std::string blob
int parallelism_factor = 4
int max_execution_time = 100000

Public Static Functions

static inline AzureOpenOptions AzureOpenOptionsBearer(std::string const &accountName, std::string const &bearerToken, std::string const &container, std::string const &blob)

AzureOpenOptions factory function for bearer token based authentication.

Parameters:
  • bearerToken – The bearer token

  • container – The container of the VDS

  • blob – The blob prefix of the VDS

Returns:

A valid AzureOpenOptions

struct GoogleOpenOptions : public OpenVDS::OpenOptions

Options for opening a VDS in Google Cloud Storage.

Public Types

enum class CredentialsType : CredentialsIntType

Values:

enumerator Default
enumerator AccessToken
enumerator Path
enumerator Json
enumerator SignedUrl
enumerator SignedUrlPath
enumerator SignedUrlJson
using CredentialsIntType = unsigned int

Public Functions

inline GoogleOpenOptions()
inline GoogleOpenOptions(std::string const &bucket, std::string const &pathPrefix)

GoogleOpenOptions constructor.

Parameters:
  • bucket – The bucket of the VDS

  • pathPrefix – The prefix of the VDS

  • credentials – Google Cloud Storage access credentials

inline GoogleOpenOptions(std::string const &bucket, std::string const &pathPrefix, GoogleCredentialsToken const &credentials)
inline GoogleOpenOptions(std::string const &bucket, std::string const &pathPrefix, GoogleCredentialsPath const &credentials)
inline GoogleOpenOptions(std::string const &bucket, std::string const &pathPrefix, GoogleCredentialsJson const &credentials)
inline GoogleOpenOptions(std::string const &bucket, std::string const &pathPrefix, GoogleCredentialsSignedUrl const &credentials)
inline GoogleOpenOptions(std::string const &bucket, std::string const &pathPrefix, GoogleCredentialsSignedUrlPath const &credentials)
inline GoogleOpenOptions(std::string const &bucket, std::string const &pathPrefix, GoogleCredentialsSignedUrlJson const &credentials)
inline bool SetSignedUrl()

Public Members

CredentialsType credentialsType = CredentialsType::Default
std::string bucket
std::string pathPrefix
std::string credentials
std::string storageClass
std::string region
inline VolumeDataAccessManager OpenVDS::GetAccessManager(VDSHandle handle)

Get the VolumeDataAccessManager for a VDS.

Parameters:

handle – The handle of the VDS

Returns:

The VolumeDataAccessManager of the VDS

inline VolumeDataLayout *OpenVDS::GetLayout(VDSHandle handle)

Get the VolumeDataLayout for a VDS.

Parameters:

handle – The handle of the VDS

Returns:

The VolumeDataLayout of the VDS

class VolumeDataAccessManager

Public Types

typedef VolumeDataPageAccessor::AccessMode AccessMode

Public Functions

inline VolumeDataAccessManager()
inline VolumeDataAccessManager(IVolumeDataAccessManager *manager)
inline VolumeDataAccessManager(VolumeDataAccessManager const &rhs)
inline ~VolumeDataAccessManager()
inline VolumeDataAccessManager &operator=(const VolumeDataAccessManager &rhs)
inline VolumeDataLayout const *GetVolumeDataLayout()

Get the VolumeDataLayout object for a VDS.

Returns:

The VolumeDataLayout object associated with the VDS or NULL if there is no valid VolumeDataLayout.

inline VDSProduceStatus GetVDSProduceStatus(DimensionsND dimensionsND, int LOD, int channel) const

Get the produce status for the specific DimensionsND/LOD/Channel combination.

Parameters:
  • dimensionsND – The dimensions group we’re getting the produce status for.

  • LOD – The LOD level we’re getting the produce status for.

  • channel – The channel index we’re getting the produce status for.

Returns:

The produce status for the specific DimensionsND/LOD/Channel combination.

inline int64_t GetVDSChunkCount(DimensionsND dimensionsND, int LOD, int channel) const

Get the chunk count for the specific DimensionsND/LOD/Channel combination.

Parameters:
  • dimensionsND – The dimensions group we’re getting the chunk count for.

  • LOD – The LOD level we’re getting the chunk count status for.

  • channel – The channel index we’re getting the chunk count status for.

Returns:

The chunk count for the specific DimensionsND/LOD/Channel combination.

inline std::shared_ptr<VolumeDataPageAccessor> CreateVolumeDataPageAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, AccessMode accessMode, int chunkMetadataPageSize = 1024)

Create a VolumeDataPageAccessor object for the VDS.

Parameters:
  • dimensionsND – The dimensions group that the volume data page accessor will access.

  • LOD – The LOD level that the volume data page accessor will access.

  • channel – The channel index that the volume data page accessor will access.

  • maxPages – The maximum number of pages that the volume data page accessor will cache.

  • accessMode – This specifies the access mode (ReadOnly/ReadWrite/Create) of the volume data page accessor.

  • chunkMetadataPageSize – The chunk metadata page size of the layer. This controls how many chunk metadata entries are written per page, and is only used when the access mode is Create. If this number is too low it will degrade performance, but in certain situations it can be advantageous to make this number a multiple of the number of chunks in some of the dimensions. Do not change this from the default (1024) unless you know exactly what you are doing.

Returns:

A VolumeDataPageAccessor object for the VDS.

template<typename INDEX, typename T>
VolumeDataReadAccessor<INDEX, T> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
template<typename INDEX, typename T>
VolumeDataReadAccessor<INDEX, T> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
template<typename INDEX, typename T>
VolumeDataReadWriteAccessor<INDEX, T> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
template<typename INDEX, typename T>
VolumeDataReadWriteAccessor<INDEX, T> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
template<typename INDEX, typename T>
VolumeDataReadAccessor<INDEX, T> CreateInterpolatingVolumeDataAccessor(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, int maxPages, optional<float> replacementNoValue = optional<float>())
template<typename INDEX, typename T>
VolumeDataReadAccessor<INDEX, T> CreateInterpolatingVolumeDataAccessor(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DInterpolatingAccessorR64 CreateVolumeData2DInterpolatingAccessorR64(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DInterpolatingAccessorR64 CreateVolumeData2DInterpolatingAccessorR64(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DInterpolatingAccessorR32 CreateVolumeData2DInterpolatingAccessorR32(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DInterpolatingAccessorR32 CreateVolumeData2DInterpolatingAccessorR32(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadAccessor1Bit CreateVolumeData2DReadAccessor1Bit(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadAccessor1Bit CreateVolumeData2DReadAccessor1Bit(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadAccessorU8 CreateVolumeData2DReadAccessorU8(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadAccessorU8 CreateVolumeData2DReadAccessorU8(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadAccessorU16 CreateVolumeData2DReadAccessorU16(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadAccessorU16 CreateVolumeData2DReadAccessorU16(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadAccessorU32 CreateVolumeData2DReadAccessorU32(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadAccessorU32 CreateVolumeData2DReadAccessorU32(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadAccessorU64 CreateVolumeData2DReadAccessorU64(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadAccessorU64 CreateVolumeData2DReadAccessorU64(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadAccessorR32 CreateVolumeData2DReadAccessorR32(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadAccessorR32 CreateVolumeData2DReadAccessorR32(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadAccessorR64 CreateVolumeData2DReadAccessorR64(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadAccessorR64 CreateVolumeData2DReadAccessorR64(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadWriteAccessor1Bit CreateVolumeData2DReadWriteAccessor1Bit(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadWriteAccessor1Bit CreateVolumeData2DReadWriteAccessor1Bit(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadWriteAccessorU8 CreateVolumeData2DReadWriteAccessorU8(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadWriteAccessorU8 CreateVolumeData2DReadWriteAccessorU8(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadWriteAccessorU16 CreateVolumeData2DReadWriteAccessorU16(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadWriteAccessorU16 CreateVolumeData2DReadWriteAccessorU16(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadWriteAccessorU32 CreateVolumeData2DReadWriteAccessorU32(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadWriteAccessorU32 CreateVolumeData2DReadWriteAccessorU32(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadWriteAccessorU64 CreateVolumeData2DReadWriteAccessorU64(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadWriteAccessorU64 CreateVolumeData2DReadWriteAccessorU64(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadWriteAccessorR32 CreateVolumeData2DReadWriteAccessorR32(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadWriteAccessorR32 CreateVolumeData2DReadWriteAccessorR32(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadWriteAccessorR64 CreateVolumeData2DReadWriteAccessorR64(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData2DReadWriteAccessorR64 CreateVolumeData2DReadWriteAccessorR64(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DInterpolatingAccessorR64 CreateVolumeData3DInterpolatingAccessorR64(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DInterpolatingAccessorR64 CreateVolumeData3DInterpolatingAccessorR64(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DInterpolatingAccessorR32 CreateVolumeData3DInterpolatingAccessorR32(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DInterpolatingAccessorR32 CreateVolumeData3DInterpolatingAccessorR32(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadAccessor1Bit CreateVolumeData3DReadAccessor1Bit(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadAccessor1Bit CreateVolumeData3DReadAccessor1Bit(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadAccessorU8 CreateVolumeData3DReadAccessorU8(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadAccessorU8 CreateVolumeData3DReadAccessorU8(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadAccessorU16 CreateVolumeData3DReadAccessorU16(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadAccessorU16 CreateVolumeData3DReadAccessorU16(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadAccessorU32 CreateVolumeData3DReadAccessorU32(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadAccessorU32 CreateVolumeData3DReadAccessorU32(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadAccessorU64 CreateVolumeData3DReadAccessorU64(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadAccessorU64 CreateVolumeData3DReadAccessorU64(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadAccessorR32 CreateVolumeData3DReadAccessorR32(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadAccessorR32 CreateVolumeData3DReadAccessorR32(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadAccessorR64 CreateVolumeData3DReadAccessorR64(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadAccessorR64 CreateVolumeData3DReadAccessorR64(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadWriteAccessor1Bit CreateVolumeData3DReadWriteAccessor1Bit(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadWriteAccessor1Bit CreateVolumeData3DReadWriteAccessor1Bit(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadWriteAccessorU8 CreateVolumeData3DReadWriteAccessorU8(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadWriteAccessorU8 CreateVolumeData3DReadWriteAccessorU8(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadWriteAccessorU16 CreateVolumeData3DReadWriteAccessorU16(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadWriteAccessorU16 CreateVolumeData3DReadWriteAccessorU16(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadWriteAccessorU32 CreateVolumeData3DReadWriteAccessorU32(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadWriteAccessorU32 CreateVolumeData3DReadWriteAccessorU32(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadWriteAccessorU64 CreateVolumeData3DReadWriteAccessorU64(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadWriteAccessorU64 CreateVolumeData3DReadWriteAccessorU64(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadWriteAccessorR32 CreateVolumeData3DReadWriteAccessorR32(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadWriteAccessorR32 CreateVolumeData3DReadWriteAccessorR32(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadWriteAccessorR64 CreateVolumeData3DReadWriteAccessorR64(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData3DReadWriteAccessorR64 CreateVolumeData3DReadWriteAccessorR64(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DInterpolatingAccessorR64 CreateVolumeData4DInterpolatingAccessorR64(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DInterpolatingAccessorR64 CreateVolumeData4DInterpolatingAccessorR64(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DInterpolatingAccessorR32 CreateVolumeData4DInterpolatingAccessorR32(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DInterpolatingAccessorR32 CreateVolumeData4DInterpolatingAccessorR32(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadAccessor1Bit CreateVolumeData4DReadAccessor1Bit(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadAccessor1Bit CreateVolumeData4DReadAccessor1Bit(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadAccessorU8 CreateVolumeData4DReadAccessorU8(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadAccessorU8 CreateVolumeData4DReadAccessorU8(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadAccessorU16 CreateVolumeData4DReadAccessorU16(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadAccessorU16 CreateVolumeData4DReadAccessorU16(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadAccessorU32 CreateVolumeData4DReadAccessorU32(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadAccessorU32 CreateVolumeData4DReadAccessorU32(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadAccessorU64 CreateVolumeData4DReadAccessorU64(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadAccessorU64 CreateVolumeData4DReadAccessorU64(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadAccessorR32 CreateVolumeData4DReadAccessorR32(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadAccessorR32 CreateVolumeData4DReadAccessorR32(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadAccessorR64 CreateVolumeData4DReadAccessorR64(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadAccessorR64 CreateVolumeData4DReadAccessorR64(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadWriteAccessor1Bit CreateVolumeData4DReadWriteAccessor1Bit(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadWriteAccessor1Bit CreateVolumeData4DReadWriteAccessor1Bit(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadWriteAccessorU8 CreateVolumeData4DReadWriteAccessorU8(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadWriteAccessorU8 CreateVolumeData4DReadWriteAccessorU8(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadWriteAccessorU16 CreateVolumeData4DReadWriteAccessorU16(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadWriteAccessorU16 CreateVolumeData4DReadWriteAccessorU16(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadWriteAccessorU32 CreateVolumeData4DReadWriteAccessorU32(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadWriteAccessorU32 CreateVolumeData4DReadWriteAccessorU32(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadWriteAccessorU64 CreateVolumeData4DReadWriteAccessorU64(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadWriteAccessorU64 CreateVolumeData4DReadWriteAccessorU64(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadWriteAccessorR32 CreateVolumeData4DReadWriteAccessorR32(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadWriteAccessorR32 CreateVolumeData4DReadWriteAccessorR32(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadWriteAccessorR64 CreateVolumeData4DReadWriteAccessorR64(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue = optional<float>())
inline VolumeData4DReadWriteAccessorR64 CreateVolumeData4DReadWriteAccessorR64(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue = optional<float>())
inline int64_t GetVolumeSubsetBufferSize(const int (&minVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], const int (&maxVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], VolumeDataFormat format, int LOD = 0, int channel = 0)

Compute the buffer size (in bytes) for a volume subset request.

Parameters:
  • minVoxelCoordinates – The minimum voxel coordinates to request in each dimension (inclusive).

  • maxVoxelCoordinates – The maximum voxel coordinates to request in each dimension (exclusive).

  • format – Voxel format of the destination buffer.

  • LOD – The LOD level the requested data is read from.

  • channel – The channel index the requested data is read from.

Returns:

The buffer size needed.

template<typename VALUETYPE>
inline int64_t GetVolumeSubsetBufferSize(const int (&minVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], const int (&maxVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], int LOD = 0, int channel = 0)
inline std::shared_ptr<VolumeDataRequest> RequestVolumeSubset(void *buffer, int64_t bufferByteSize, DimensionsND dimensionsND, int LOD, int channel, const int (&minVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], const int (&maxVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], VolumeDataFormat format, optional<float> replacementNoValue = optional<float>())

Request a subset of the input VDS.

Parameters:
  • buffer – Pointer to a preallocated buffer holding at least as many elements of format as indicated by minVoxelCoordinates and maxVoxelCoordinates.

  • bufferByteSize – The size of the provided buffer, in bytes.

  • dimensionsND – The dimensiongroup the requested data is read from.

  • LOD – The LOD level the requested data is read from.

  • channel – The channel index the requested data is read from.

  • minVoxelCoordinates – The minimum voxel coordinates to request in each dimension (inclusive).

  • maxVoxelCoordinates – The maximum voxel coordinates to request in each dimension (exclusive).

  • format – Voxel format of the destination buffer.

  • replacementNoValue – If specified, this value is used to replace regions of the input VDS that has no data.

Returns:

A VolumeDataRequest instance encapsulating the request status and buffer.

inline std::shared_ptr<VolumeDataRequest1Bit> RequestVolumeSubset1Bit(uint8_t *buffer, int64_t bufferByteSize, DimensionsND dimensionsND, int LOD, int channel, const int (&minVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], const int (&maxVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max])

Request a subset of the input VDS.

Parameters:
  • buffer – Pointer to a preallocated buffer holding at least as many elements of format as indicated by minVoxelCoordinates and maxVoxelCoordinates.

  • bufferByteSize – The size of the provided buffer, in bytes.

  • dimensionsND – The dimensiongroup the requested data is read from.

  • LOD – The LOD level the requested data is read from.

  • channel – The channel index the requested data is read from.

  • minVoxelCoordinates – The minimum voxel coordinates to request in each dimension (inclusive).

  • maxVoxelCoordinates – The maximum voxel coordinates to request in each dimension (exclusive).

Returns:

A VolumeDataRequest instance encapsulating the request status and buffer.

template<typename VALUETYPE>
inline std::shared_ptr<VolumeDataRequest_t<VALUETYPE>> RequestVolumeSubset(VALUETYPE *buffer, int64_t bufferByteSize, DimensionsND dimensionsND, int LOD, int channel, const int (&minVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], const int (&maxVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], optional<float> replacementNoValue = optional<float>())

Request a subset of the input VDS.

Parameters:
  • buffer – Pointer to a preallocated buffer holding at least as many elements of format as indicated by minVoxelCoordinates and maxVoxelCoordinates.

  • bufferByteSize – The size of the provided buffer, in bytes.

  • dimensionsND – The dimensiongroup the requested data is read from.

  • LOD – The LOD level the requested data is read from.

  • channel – The channel index the requested data is read from.

  • minVoxelCoordinates – The minimum voxel coordinates to request in each dimension (inclusive).

  • maxVoxelCoordinates – The maximum voxel coordinates to request in each dimension (exclusive).

  • replacementNoValue – If specified, this value is used to replace regions of the input VDS that has no data.

Returns:

A VolumeDataRequest instance encapsulating the request status and buffer.

inline std::shared_ptr<VolumeDataRequest> RequestVolumeSubset(DimensionsND dimensionsND, int LOD, int channel, const int (&minVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], const int (&maxVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], VolumeDataFormat format, optional<float> replacementNoValue = optional<float>())

Request a subset of the input VDS, using an automatically allocated buffer.

Parameters:
  • dimensionsND – The dimensiongroup the requested data is read from.

  • LOD – The LOD level the requested data is read from.

  • channel – The channel index the requested data is read from.

  • minVoxelCoordinates – The minimum voxel coordinates to request in each dimension (inclusive).

  • maxVoxelCoordinates – The maximum voxel coordinates to request in each dimension (exclusive).

  • format – Voxel format of the destination buffer.

  • replacementNoValue – If specified, this value is used to replace regions of the input VDS that has no data.

Returns:

A VolumeDataRequest instance encapsulating the request status and buffer.

inline std::shared_ptr<VolumeDataRequest1Bit> RequestVolumeSubset1Bit(DimensionsND dimensionsND, int LOD, int channel, const int (&minVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], const int (&maxVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max])

Request a subset of the input VDS, using an automatically allocated buffer.

Parameters:
  • dimensionsND – The dimensiongroup the requested data is read from.

  • LOD – The LOD level the requested data is read from.

  • channel – The channel index the requested data is read from.

  • minVoxelCoordinates – The minimum voxel coordinates to request in each dimension (inclusive).

  • maxVoxelCoordinates – The maximum voxel coordinates to request in each dimension (exclusive).

Returns:

A VolumeDataRequest instance encapsulating the request status and buffer.

template<typename VALUETYPE>
inline std::shared_ptr<VolumeDataRequest_t<VALUETYPE>> RequestVolumeSubset(DimensionsND dimensionsND, int LOD, int channel, const int (&minVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], const int (&maxVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], optional<float> replacementNoValue = optional<float>())

Request a subset of the input VDS, using an automatically allocated typed buffer.

Parameters:
  • dimensionsND – The dimensiongroup the requested data is read from.

  • LOD – The LOD level the requested data is read from.

  • channel – The channel index the requested data is read from.

  • minVoxelCoordinates – The minimum voxel coordinates to request in each dimension (inclusive).

  • maxVoxelCoordinates – The maximum voxel coordinates to request in each dimension (exclusive).

  • replacementNoValue – If specified, this value is used to replace regions of the input VDS that has no data.

Returns:

A VolumeDataRequest instance encapsulating the request status and buffer.

inline int64_t GetProjectedVolumeSubsetBufferSize(const int (&minVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], const int (&maxVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], DimensionsND projectedDimensions, VolumeDataFormat format, int LOD = 0, int channel = 0)

Compute the buffer size (in bytes) for a projected volume subset request.

Parameters:
  • minVoxelCoordinates – The minimum voxel coordinates to request in each dimension (inclusive).

  • maxVoxelCoordinates – The maximum voxel coordinates to request in each dimension (exclusive).

  • projectedDimensions – The 2D dimension group that the plane in the source dimensiongroup is projected into. It must be a 2D subset of the source dimensions.

  • format – Voxel format of the destination buffer.

  • LOD – The LOD level the requested data is read from.

  • channel – The channel index the requested data is read from.

Returns:

The buffer size needed.

template<typename VALUETYPE>
inline int64_t GetProjectedVolumeSubsetBufferSize(const int (&minVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], const int (&maxVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], DimensionsND projectedDimensions, int LOD = 0, int channel = 0)
inline std::shared_ptr<VolumeDataRequest> RequestProjectedVolumeSubset(void *buffer, int64_t bufferByteSize, DimensionsND dimensionsND, int LOD, int channel, const int (&minVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], const int (&maxVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], FloatVector4 const &voxelPlane, DimensionsND projectedDimensions, VolumeDataFormat format, InterpolationMethod interpolationMethod, optional<float> replacementNoValue = optional<float>())

Request a subset projected from an arbitrary 3D plane through the subset onto one of the sides of the subset.

Parameters:
  • buffer – Pointer to a preallocated buffer holding at least as many elements of format as indicated by minVoxelCoordinates and maxVoxelCoordinates for the projected dimensions.

  • bufferByteSize – The size of the provided buffer, in bytes.

  • dimensionsND – The dimensiongroup the requested data is read from.

  • LOD – The LOD level the requested data is read from.

  • channel – The channel index the requested data is read from.

  • minVoxelCoordinates – The minimum voxel coordinates to request in each dimension (inclusive).

  • maxVoxelCoordinates – The maximum voxel coordinates to request in each dimension (exclusive).

  • voxelPlane – The plane equation for the projection from the dimension source to the projected dimensions (which must be a 2D subset of the source dimensions).

  • projectedDimensions – The 2D dimension group that the plane in the source dimensiongroup is projected into. It must be a 2D subset of the source dimensions.

  • interpolationMethod – Interpolation method to use when sampling the buffer.

  • format – Voxel format of the destination buffer.

  • replacementNoValue – If specified, this value is used to replace regions of the input VDS that has no data.

Returns:

A VolumeDataRequest instance encapsulating the request status and buffer.

inline std::shared_ptr<VolumeDataRequest> RequestProjectedVolumeSubset(DimensionsND dimensionsND, int LOD, int channel, const int (&minVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], const int (&maxVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], FloatVector4 const &voxelPlane, DimensionsND projectedDimensions, VolumeDataFormat format, InterpolationMethod interpolationMethod, optional<float> replacementNoValue = optional<float>())

Request a subset projected from an arbitrary 3D plane through the subset onto one of the sides of the subset, using an automatically allocated buffer.

Parameters:
  • dimensionsND – The dimensiongroup the requested data is read from.

  • LOD – The LOD level the requested data is read from.

  • channel – The channel index the requested data is read from.

  • minVoxelCoordinates – The minimum voxel coordinates to request in each dimension (inclusive).

  • maxVoxelCoordinates – The maximum voxel coordinates to request in each dimension (exclusive).

  • voxelPlane – The plane equation for the projection from the dimension source to the projected dimensions (which must be a 2D subset of the source dimensions).

  • projectedDimensions – The 2D dimension group that the plane in the source dimensiongroup is projected into. It must be a 2D subset of the source dimensions.

  • format – Voxel format of the destination buffer.

  • interpolationMethod – Interpolation method to use when sampling the buffer.

  • replacementNoValue – If specified, this value is used to replace regions of the input VDS that has no data.

Returns:

A VolumeDataRequest instance encapsulating the request status and buffer.

template<typename VALUETYPE>
inline std::shared_ptr<VolumeDataRequest_t<VALUETYPE>> RequestProjectedVolumeSubset(DimensionsND dimensionsND, int LOD, int channel, const int (&minVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], const int (&maxVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], FloatVector4 const &voxelPlane, DimensionsND projectedDimensions, InterpolationMethod interpolationMethod, optional<float> replacementNoValue = optional<float>())

Request a subset projected from an arbitrary 3D plane through the subset onto one of the sides of the subset, using an automatically allocated typed buffer.

Parameters:
  • dimensionsND – The dimensiongroup the requested data is read from.

  • LOD – The LOD level the requested data is read from.

  • channel – The channel index the requested data is read from.

  • minVoxelCoordinates – The minimum voxel coordinates to request in each dimension (inclusive).

  • maxVoxelCoordinates – The maximum voxel coordinates to request in each dimension (exclusive).

  • voxelPlane – The plane equation for the projection from the dimension source to the projected dimensions (which must be a 2D subset of the source dimensions).

  • projectedDimensions – The 2D dimension group that the plane in the source dimensiongroup is projected into. It must be a 2D subset of the source dimensions.

  • interpolationMethod – Interpolation method to use when sampling the buffer.

  • replacementNoValue – If specified, this value is used to replace regions of the input VDS that has no data.

Returns:

A VolumeDataRequest instance encapsulating the request status and buffer.

template<typename VALUETYPE>
inline std::shared_ptr<VolumeDataRequest_t<VALUETYPE>> RequestProjectedVolumeSubset(void *buffer, int64_t bufferByteSize, DimensionsND dimensionsND, int LOD, int channel, const int (&minVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], const int (&maxVoxelCoordinates)[VolumeDataLayout::Dimensionality_Max], FloatVector4 const &voxelPlane, DimensionsND projectedDimensions, InterpolationMethod interpolationMethod, optional<float> replacementNoValue = optional<float>())

Request a subset projected from an arbitrary 3D plane through the subset onto one of the sides of the subset, using an automatically allocated typed buffer.

Parameters:
  • buffer – Pointer to a preallocated buffer holding at least as many elements of format as indicated by minVoxelCoordinates and maxVoxelCoordinates for the projected dimensions.

  • bufferByteSize – The size of the provided buffer, in bytes.

  • dimensionsND – The dimensiongroup the requested data is read from.

  • LOD – The LOD level the requested data is read from.

  • channel – The channel index the requested data is read from.

  • minVoxelCoordinates – The minimum voxel coordinates to request in each dimension (inclusive).

  • maxVoxelCoordinates – The maximum voxel coordinates to request in each dimension (exclusive).

  • voxelPlane – The plane equation for the projection from the dimension source to the projected dimensions (which must be a 2D subset of the source dimensions).

  • projectedDimensions – The 2D dimension group that the plane in the source dimensiongroup is projected into. It must be a 2D subset of the source dimensions.

  • interpolationMethod – Interpolation method to use when sampling the buffer.

  • replacementNoValue – If specified, this value is used to replace regions of the input VDS that has no data.

Returns:

A VolumeDataRequest instance encapsulating the request status and buffer.

inline int64_t GetVolumeSamplesBufferSize(int sampleCount, int channel = 0)

Compute the buffer size (in bytes) for a volume samples request.

Parameters:
  • sampleCount – Number of samples to request.

  • channel – The channel index the requested data is read from.

Returns:

The buffer size needed.

inline std::shared_ptr<VolumeDataRequestFloat> RequestVolumeSamples(float *buffer, int64_t bufferByteSize, DimensionsND dimensionsND, int LOD, int channel, const float (*samplePositions)[VolumeDataLayout::Dimensionality_Max], int sampleCount, InterpolationMethod interpolationMethod, optional<float> replacementNoValue = optional<float>())

Request sampling of the input VDS at the specified coordinates.

Parameters:
  • buffer – Pointer to a preallocated buffer holding at least sampleCount elements.

  • bufferByteSize – The size of the provided buffer, in bytes.

  • dimensionsND – The dimensiongroup the requested data is read from.

  • LOD – The LOD level the requested data is read from.

  • channel – The channel index the requested data is read from.

  • samplePositions – Pointer to array of VolumeDataLayout::Dimensionality_Max-elements indicating the positions to sample. May be deleted once RequestVolumeSamples return, as HueSpace makes a deep copy of the data.

  • sampleCount – Number of samples to request.

  • interpolationMethod – Interpolation method to use when sampling the buffer.

  • replacementNoValue – If specified, this value is used to replace regions of the input VDS that has no data.

Returns:

A VolumeDataRequest instance encapsulating the request status and buffer.

inline std::shared_ptr<VolumeDataRequestFloat> RequestVolumeSamples(DimensionsND dimensionsND, int LOD, int channel, const float (*samplePositions)[VolumeDataLayout::Dimensionality_Max], int sampleCount, InterpolationMethod interpolationMethod, optional<float> replacementNoValue = optional<float>())

Request sampling of the input VDS at the specified coordinates, using an automatically allocated buffer.

Parameters:
  • dimensionsND – The dimensiongroup the requested data is read from.

  • LOD – The LOD level the requested data is read from.

  • channel – The channel index the requested data is read from.

  • samplePositions – Pointer to array of VolumeDataLayout::Dimensionality_Max-elements indicating the positions to sample. May be deleted once RequestVolumeSamples return, as HueSpace makes a deep copy of the data.

  • sampleCount – Number of samples to request.

  • interpolationMethod – Interpolation method to use when sampling the buffer.

  • replacementNoValue – If specified, this value is used to replace regions of the input VDS that has no data.

Returns:

A VolumeDataRequest instance encapsulating the request status and buffer.

inline int64_t GetVolumeTracesBufferSize(int traceCount, int traceDimension, int LOD = 0, int channel = 0)

Compute the buffer size (in bytes) for a volume traces request.

Parameters:
  • traceCount – Number of traces to request.

  • traceDimension – The dimension to trace

  • LOD – The LOD level the requested data is read from.

  • channel – The channel index the requested data is read from.

Returns:

The buffer size needed.

inline std::shared_ptr<VolumeDataRequestFloat> RequestVolumeTraces(DimensionsND dimensionsND, int LOD, int channel, const float (*tracePositions)[VolumeDataLayout::Dimensionality_Max], int traceCount, InterpolationMethod interpolationMethod, int traceDimension, optional<float> replacementNoValue = optional<float>())

Request traces from the input VDS, using an automatically allocated buffer.

Parameters:
  • dimensionsND – The dimensiongroup the requested data is read from.

  • LOD – The LOD level the requested data is read from.

  • channel – The channel index the requested data is read from.

  • tracePositions – Pointer to array of traceCount VolumeDataLayout::Dimensionality_Max-elements indicating the trace positions.

  • traceCount – Number of traces to request.

  • interpolationMethod – Interpolation method to use when sampling the buffer.

  • traceDimension – The dimension to trace

  • replacementNoValue – If specified, this value is used to replace regions of the input VDS that has no data.

Returns:

A VolumeDataRequest instance encapsulating the request status and buffer.

inline std::shared_ptr<VolumeDataRequestFloat> RequestVolumeTraces(float *buffer, int64_t bufferByteSize, DimensionsND dimensionsND, int LOD, int channel, const float (*tracePositions)[VolumeDataLayout::Dimensionality_Max], int traceCount, InterpolationMethod interpolationMethod, int traceDimension, optional<float> replacementNoValue = optional<float>())

Request traces from the input VDS.

Parameters:
  • buffer – Pointer to a preallocated buffer holding at least traceCount * number of samples in the traceDimension.

  • bufferByteSize – The size of the provided buffer, in bytes.

  • dimensionsND – The dimensiongroup the requested data is read from.

  • LOD – The LOD level the requested data is read from.

  • channel – The channel index the requested data is read from.

  • tracePositions – Pointer to array of traceCount VolumeDataLayout::Dimensionality_Max-elements indicating the trace positions.

  • traceCount – Number of traces to request.

  • interpolationMethod – Interpolation method to use when sampling the buffer.

  • traceDimension – The dimension to trace

  • replacementNoValue – If specified, this value is used to replace regions of the input VDS that has no data.

Returns:

A VolumeDataRequest instance encapsulating the request status and buffer.

inline std::shared_ptr<VolumeDataRequest> PrefetchVolumeChunk(DimensionsND dimensionsND, int LOD, int channel, int64_t chunkIndex)

Force production of a specific volume data chunk.

Parameters:
  • dimensionsND – The dimensiongroup the requested chunk belongs to.

  • LOD – The LOD level the requested chunk belongs to.

  • channel – The channel index the requested chunk belongs to.

  • chunkIndex – The index of the chunk to prefetch.

Returns:

A VolumeDataRequest instance encapsulating the request status.

inline void Flush(Error &error)

Flush any pending writes and write updated layer status.

template<>
inline VolumeDataReadAccessor<IntVector2, double> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector2, uint64_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector2, float> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector2, uint32_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector2, uint16_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector2, uint8_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector2, bool> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector3, double> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector3, uint64_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector3, float> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector3, uint32_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector3, uint16_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector3, uint8_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector3, bool> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector4, double> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector4, uint64_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector4, float> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector4, uint32_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector4, uint16_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector4, uint8_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector4, bool> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector2, double> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector2, uint64_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector2, float> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector2, uint32_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector2, uint16_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector2, uint8_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector2, bool> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector3, double> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector3, uint64_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector3, float> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector3, uint32_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector3, uint16_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector3, uint8_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector3, bool> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector4, double> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector4, uint64_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector4, float> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector4, uint32_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector4, uint16_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector4, uint8_t> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<IntVector4, bool> CreateVolumeDataReadAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector2, double> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector2, uint64_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector2, float> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector2, uint32_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector2, uint16_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector2, uint8_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector2, bool> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector3, double> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector3, uint64_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector3, float> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector3, uint32_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector3, uint16_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector3, uint8_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector3, bool> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector4, double> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector4, uint64_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector4, float> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector4, uint32_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector4, uint16_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector4, uint8_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector4, bool> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector2, double> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector2, uint64_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector2, float> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector2, uint32_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector2, uint16_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector2, uint8_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector2, bool> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector3, double> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector3, uint64_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector3, float> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector3, uint32_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector3, uint16_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector3, uint8_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector3, bool> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector4, double> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector4, uint64_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector4, float> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector4, uint32_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector4, uint16_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector4, uint8_t> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadWriteAccessor<IntVector4, bool> CreateVolumeDataReadWriteAccessor(DimensionsND dimensionsND, int LOD, int channel, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<FloatVector2, double> CreateInterpolatingVolumeDataAccessor(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<FloatVector2, float> CreateInterpolatingVolumeDataAccessor(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<FloatVector3, double> CreateInterpolatingVolumeDataAccessor(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<FloatVector3, float> CreateInterpolatingVolumeDataAccessor(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<FloatVector4, double> CreateInterpolatingVolumeDataAccessor(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<FloatVector4, float> CreateInterpolatingVolumeDataAccessor(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, int maxPages, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<FloatVector2, double> CreateInterpolatingVolumeDataAccessor(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<FloatVector2, float> CreateInterpolatingVolumeDataAccessor(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<FloatVector3, double> CreateInterpolatingVolumeDataAccessor(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<FloatVector3, float> CreateInterpolatingVolumeDataAccessor(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<FloatVector4, double> CreateInterpolatingVolumeDataAccessor(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, optional<float> replacementNoValue)
template<>
inline VolumeDataReadAccessor<FloatVector4, float> CreateInterpolatingVolumeDataAccessor(DimensionsND dimensionsND, int LOD, int channel, InterpolationMethod interpolationMethod, optional<float> replacementNoValue)

Public Static Attributes

static constexpr AccessMode AccessMode_ReadOnly = VolumeDataPageAccessor::AccessMode_ReadOnly
static constexpr AccessMode AccessMode_ReadWrite = VolumeDataPageAccessor::AccessMode_ReadWrite
static constexpr AccessMode AccessMode_Create = VolumeDataPageAccessor::AccessMode_Create
static constexpr AccessMode AccessMode_CreateWithoutLODGeneration = VolumeDataPageAccessor::AccessMode_CreateWithoutLODGeneration
static constexpr AccessMode AccessMode_ReadWriteWithoutLODGeneration = VolumeDataPageAccessor::AccessMode_ReadWriteWithoutLODGeneration
static constexpr int Dimensionality_Max = VolumeDataLayout::Dimensionality_Max

the maximum number of dimensions a VDS can have

static constexpr int maxPagesDefault = 8

the default maxPages for VolumeDataPageAccessors

class VolumeDataLayout : public OpenVDS::MetadataReadAccess

a class that contains axis and channel information for a VDS A layout is associated with a VDS object and contains information about axis and channels in the VDS. A VolumeDataLayout can be invalidated when the VDS is invalidated.

Public Functions

virtual uint64_t GetContentsHash() const = 0

gets the contents hash of this VDS

virtual uint64_t GetLayoutHash() const = 0

gets the hash for the layout properties including axis and channels

virtual int GetDimensionality() const = 0

gets the number of dimensions in this VDS

virtual int GetChannelCount() const = 0

gets the number of channels in this VDS

virtual bool IsChannelAvailable(const char *channelName) const = 0

Returns true of the VDS contains.

virtual int GetChannelIndex(const char *channelName) const = 0

Returns the index of a the channel with the given name.

virtual VolumeDataLayoutDescriptor GetLayoutDescriptor() const = 0

Returns the descriptor for the layout.

virtual VolumeDataChannelDescriptor GetChannelDescriptor(int channel) const = 0

Returns the descriptor for the given channel index.

virtual VolumeDataAxisDescriptor GetAxisDescriptor(int dimension) const = 0

Returns the axis descriptor for the given dimension.

virtual VolumeDataFormat GetChannelFormat(int channel) const = 0

get the format for the given channel index

virtual VolumeDataComponents GetChannelComponents(int channel) const = 0

get the vector count for the given channel index

virtual const char *GetChannelName(int channel) const = 0

get the name for the given channel index

virtual const char *GetChannelUnit(int channel) const = 0

get the unit for the given channel index

virtual float GetChannelValueRangeMin(int channel) const = 0

get the value range minimum for the given channel index

virtual float GetChannelValueRangeMax(int channel) const = 0

get the value range maximum for the given channel index

virtual bool IsChannelDiscrete(int channel) const = 0

get the discrete flag for the the given channel index

virtual bool IsChannelRenderable(int channel) const = 0

get the renderable flag for the given channel index

virtual bool IsChannelAllowingLossyCompression(int channel) const = 0

get the allow lossy compression flag for the given channel index

virtual bool IsChannelUseZipForLosslessCompression(int channel) const = 0

get the use Zip when compressing flag for the given channel index

virtual VolumeDataMapping GetChannelMapping(int channel) const = 0

get the mapping for the given channel index

virtual int GetDimensionNumSamples(int dimension) const = 0

get the number of samples for the given dimension

virtual const char *GetDimensionName(int dimension) const = 0

get the name for the given dimension

virtual const char *GetDimensionUnit(int dimension) const = 0

get the unit for the given dimension

virtual float GetDimensionMin(int dimension) const = 0

get the coordinate minimum for the given dimension

virtual float GetDimensionMax(int dimension) const = 0

get the coordinate maximum for the given dimension

virtual VDSIJKGridDefinition GetVDSIJKGridDefinitionFromMetadata() const = 0

get the VDSIJKGridDefinition from the metadata in this VDS

virtual bool IsChannelUseNoValue(int channel) const = 0

Returns true if the given channel index uses No Value.

virtual float GetChannelNoValue(int channel) const = 0

gets the No Value for the given channel index

virtual float GetChannelIntegerScale(int channel) const = 0

Returns the integer scale for the given channel index.

virtual float GetChannelIntegerOffset(int channel) const = 0

Returns the integer offset for the given channel index.

Public Static Attributes

static constexpr int Dimensionality_Max = 6

the maximum number of dimensions a VDS can have

class VolumeDataAxisDescriptor

Describes the number of samples, name, unit and coordinates (annotation) of an axis (dimension) of the volume.

Public Functions

inline VolumeDataAxisDescriptor()

Default constructor.

inline VolumeDataAxisDescriptor(int numSamples, const char *name, const char *unit, float coordinateMin, float coordinateMax)

Constructor.

Parameters:
  • numSamples – The number of samples along this axis

  • name – The name of this axis

  • unit – The unit of the coordinates of this axis

  • coordinateMin – The coordinate of the first sample of this axis

  • coordinateMax – The coordinate of the last sample of this axis

inline int GetNumSamples() const

Get the number of samples along this axis.

Returns:

The number of samples along this axis

inline const char *GetName() const

Get the name of this axis.

Returns:

The name of this axis

inline const char *GetUnit() const

Get the unit of the coordinates of this axis.

Returns:

The unit of the coordinates of this axis

inline float GetCoordinateMin() const

Get the coordinate of the first sample of this axis.

Returns:

The coordinate of the first sample of this axis

inline float GetCoordinateMax() const

Get the coordinate of the last sample of this axis.

Returns:

The coordinate of the last sample of this axis

inline float GetCoordinateStep() const

Get the coordiante step size per sample.

Returns:

The coordiante step size per sample

inline float SampleIndexToCoordinate(int sampleIndex) const

Convert a sample index on this axis to a coordinate.

Parameters:

sampleIndex – The sample index get the coordinate of

Returns:

The coordinate of the sample index

inline int CoordinateToSampleIndex(float coordinate) const

Convert a coordinate to a sample index (rounding to the closest index)

Parameters:

coordinate – The coordinate to get the sample index of

Returns:

The sample index of the coordinate

inline float CoordinateToSamplePosition(float coordinate) const

Convert a coordinate to a sample position (to use with RequestVolumeSamples or an InterpolatingVolumeDataAccessor)

Parameters:

coordinate – The coordinate to get the sample position of

Returns:

The sample position of the coordinate

class VolumeDataChannelDescriptor

Describes a channel of a VDS.

Public Types

enum Flags

Flags for this channel.

Values:

enumerator Default
enumerator DiscreteData

This channel contains discrete data.

enumerator NoLossyCompression

Do not allow lossy compression on this channel.

enumerator NotRenderable

This channel is not renderable.

enumerator NoLossyCompressionUseZip

Use Zip when compressing this channel.

typedef VolumeDataFormat Format
typedef VolumeDataComponents Components

Public Functions

inline VolumeDataChannelDescriptor()
inline VolumeDataChannelDescriptor(Format format, Components components, const char *name, const char *unit, float valueRangeMin, float valueRangeMax)

The minimum constructor for a VolumeDataChannelDescriptor. This will use direct mapping, default flags, and no NoValue

Parameters:
  • format – the data format for this channel

  • components – the number of vector components (1 for scalar data) for this channel

  • name – the name of this channel

  • unit – the unit of this channel

  • valueRangeMin – The estimated minimum value of this channel, with outliers removed, suitable for displaying the data and used for automatic conversion between R32 and quantized U8 and U16 representations of the data

  • valueRangeMax – The estimated maximum value of this channel, with outliers removed

inline VolumeDataChannelDescriptor(Format format, Components components, const char *name, const char *unit, float valueRangeMin, float valueRangeMax, VolumeDataMapping mapping)
Parameters:
  • format – the data format for this channel

  • components – the number of vector components (1 for scalar data) for this channel

  • name – the name of this channel

  • unit – the unit of this channel

  • valueRangeMin – The estimated minimum value of this channel, with outliers removed, suitable for displaying the data and used for automatic conversion between R32 and quantized U8 and U16 representations of the data

  • valueRangeMax – The estimated maximum value of this channel, with outliers removed

  • mapping – the mapping for this channel

inline VolumeDataChannelDescriptor(Format format, Components components, const char *name, const char *unit, float valueRangeMin, float valueRangeMax, enum Flags flags)
Parameters:
  • format – the data format for this channel

  • components – the number of vector components (1 for scalar data) for this channel

  • name – the name of this channel

  • unit – the unit of this channel

  • valueRangeMin – The estimated minimum value of this channel, with outliers removed, suitable for displaying the data and used for automatic conversion between R32 and quantized U8 and U16 representations of the data

  • valueRangeMax – The estimated maximum value of this channel, with outliers removed

  • flags – the flags for this channel

inline VolumeDataChannelDescriptor(Format format, Components components, const char *name, const char *unit, float valueRangeMin, float valueRangeMax, VolumeDataMapping mapping, enum Flags flags)
Parameters:
  • format – the data format for this channel

  • components – the number of vector components (1 for scalar data) for this channel

  • name – the name of this channel

  • unit – the unit of this channel

  • valueRangeMin – The estimated minimum value of this channel, with outliers removed, suitable for displaying the data and used for automatic conversion between R32 and quantized U8 and U16 representations of the data

  • valueRangeMax – The estimated maximum value of this channel, with outliers removed

  • mapping – the mapping for this channel

  • flags – the flags for this channel

inline VolumeDataChannelDescriptor(Format format, Components components, const char *name, const char *unit, float valueRangeMin, float valueRangeMax, VolumeDataMapping mapping, int mappedValueCount, enum Flags flags, float integerScale, float integerOffset)
Parameters:
  • format – the data format for this channel

  • components – the number of vector components (1 for scalar data) for this channel

  • name – the name of this channel

  • unit – the unit of this channel

  • valueRangeMin – The estimated minimum value of this channel, with outliers removed, suitable for displaying the data and used for automatic conversion between R32 and quantized U8 and U16 representations of the data

  • valueRangeMax – The estimated maximum value of this channel, with outliers removed

  • mapping – the mapping for this channel

  • mappedValueCount – When using per trace mapping, the number of values to store per trace

  • flags – the flags for this channel

  • integerScale – the scale to use for integer types

  • integerOffset – the offset to use for integer types

inline VolumeDataChannelDescriptor(Format format, Components components, const char *name, const char *unit, float valueRangeMin, float valueRangeMax, float noValue)
Parameters:
  • format – the data format for this channel

  • components – the number of vector components (1 for scalar data) for this channel

  • name – the name of this channel

  • unit – the unit of this channel

  • valueRangeMin – The estimated minimum value of this channel, with outliers removed, suitable for displaying the data and used for automatic conversion between R32 and quantized U8 and U16 representations of the data

  • valueRangeMax – The estimated maximum value of this channel, with outliers removed

  • noValue – the No Value for this channel

inline VolumeDataChannelDescriptor(Format format, Components components, const char *name, const char *unit, float valueRangeMin, float valueRangeMax, float noValue, VolumeDataMapping mapping, enum Flags flags)
Parameters:
  • format – the data format for this channel

  • components – the number of vector components (1 for scalar data) for this channel

  • name – the name of this channel

  • unit – the unit of this channel

  • valueRangeMin – The estimated minimum value of this channel, with outliers removed, suitable for displaying the data and used for automatic conversion between R32 and quantized U8 and U16 representations of the data

  • valueRangeMax – The estimated maximum value of this channel, with outliers removed

  • noValue – the No Value for this channel

  • mapping – the mapping for this channel

  • flags – the flags for this channel

inline VolumeDataChannelDescriptor(Format format, Components components, const char *name, const char *unit, float valueRangeMin, float valueRangeMax, VolumeDataMapping mapping, int mappedValueCount, enum Flags flags, float noValue, float integerScale, float integerOffset)
Parameters:
  • format – the data format for this channel

  • components – the number of vector components (1 for scalar data) for this channel

  • name – the name of this channel

  • unit – the unit of this channel

  • valueRangeMin – The estimated minimum value of this channel, with outliers removed, suitable for displaying the data and used for automatic conversion between R32 and quantized U8 and U16 representations of the data

  • valueRangeMax – The estimated maximum value of this channel, with outliers removed

  • mapping – the mapping for this channel

  • mappedValueCount – When using per trace mapping, the number of values to store per trace

  • flags – the flags for this channel

  • noValue – the No Value for this channel

  • integerScale – the scale to use for integer types

  • integerOffset – the offset to use for integer types

inline Format GetFormat() const
inline Components GetComponents() const
inline bool IsDiscrete() const
inline bool IsRenderable() const
inline bool IsAllowLossyCompression() const
inline bool IsUseZipForLosslessCompression() const
inline const char *GetName() const
inline const char *GetUnit() const
inline const FloatRange &GetValueRange() const
inline float GetValueRangeMin() const
inline float GetValueRangeMax() const
inline VolumeDataMapping GetMapping() const
inline int GetMappedValueCount() const
inline bool IsUseNoValue() const
inline float GetNoValue() const
inline float GetIntegerScale() const
inline float GetIntegerOffset() const
inline VolumeDataChannelDescriptor::Flags GetFlags() const

Public Static Functions

static inline VolumeDataChannelDescriptor TraceMappedVolumeDataChannelDescriptor(Format format, Components components, const char *name, const char *unit, float valueRangeMin, float valueRangeMax, int mappedValueCount, enum Flags flags)

Named constructor for a trace mapped channel

Parameters:
  • format – the data format for this channel

  • components – the number of vector components (1 for scalar data) for this channel

  • name – the name of this channel

  • unit – the unit of this channel

  • valueRangeMin – The estimated minimum value of this channel, with outliers removed, suitable for displaying the data and used for automatic conversion between R32 and quantized U8 and U16 representations of the data

  • valueRangeMax – The estimated maximum value of this channel, with outliers removed

  • mappedValueCount – When using per trace mapping, the number of values to store per trace

  • flags – the flags for this channel

Returns:

a trace mapped descriptor

static inline VolumeDataChannelDescriptor TraceMappedVolumeDataChannelDescriptor(Format format, Components components, const char *name, const char *unit, float valueRangeMin, float valueRangeMax, int mappedValueCount, enum Flags flags, float noValue)

Named constructor for a trace mapped channel

Parameters:
  • format – the data format for this channel

  • components – the number of vector components (1 for scalar data) for this channel

  • name – the name of this channel

  • unit – the unit of this channel

  • valueRangeMin – The estimated minimum value of this channel, with outliers removed, suitable for displaying the data and used for automatic conversion between R32 and quantized U8 and U16 representations of the data

  • valueRangeMax – The estimated maximum value of this channel, with outliers removed

  • mappedValueCount – When using per trace mapping, the number of values to store per trace

  • flags – the flags for this channel

  • noValue – the No Value for this channel

Returns:

a trace mapped descriptor

Public Static Attributes

static constexpr Format Format_Any = VolumeDataFormat::Format_Any

data can be in any format

static constexpr Format Format_1Bit = VolumeDataFormat::Format_1Bit

data is in packed 1-bit format

static constexpr Format Format_U8 = VolumeDataFormat::Format_U8

data is in unsigned 8 bit

static constexpr Format Format_U16 = VolumeDataFormat::Format_U16

data is in unsigned 16 bit

static constexpr Format Format_R32 = VolumeDataFormat::Format_R32

data is in 32 bit float

static constexpr Format Format_U32 = VolumeDataFormat::Format_U32

data is in unsigned 32 bit

static constexpr Format Format_R64 = VolumeDataFormat::Format_R64

data is in 64 bit double

static constexpr Format Format_U64 = VolumeDataFormat::Format_U64

data is in unsigned 64 bit

static constexpr Components Components_1 = VolumeDataComponents::Components_1
static constexpr Components Components_2 = VolumeDataComponents::Components_2
static constexpr Components Components_4 = VolumeDataComponents::Components_4
class VolumeDataLayoutDescriptor

Public Types

enum BrickSize

Values:

enumerator BrickSize_32
enumerator BrickSize_64
enumerator BrickSize_128
enumerator BrickSize_256
enumerator BrickSize_512
enumerator BrickSize_1024
enumerator BrickSize_2048
enumerator BrickSize_4096
enum LODLevels

Values:

enumerator LODLevels_None
enumerator LODLevels_1
enumerator LODLevels_2
enumerator LODLevels_3
enumerator LODLevels_4
enumerator LODLevels_5
enumerator LODLevels_6
enumerator LODLevels_7
enumerator LODLevels_8
enumerator LODLevels_9
enumerator LODLevels_10
enumerator LODLevels_11
enumerator LODLevels_12
enum Options

Values:

enumerator Options_None
enumerator Options_Create2DLODs
enumerator Options_ForceFullResolutionDimension

Public Functions

inline VolumeDataLayoutDescriptor()
inline VolumeDataLayoutDescriptor(BrickSize brickSize, int negativeMargin, int positiveMargin, int brickSize2DMultiplier, LODLevels lodLevels, Options options, int fullResolutionDimension = 0)
inline bool IsValid() const
inline BrickSize GetBrickSize() const
inline int GetNegativeMargin() const
inline int GetPositiveMargin() const
inline int GetBrickSizeMultiplier2D() const
inline LODLevels GetLODLevels() const
inline bool IsCreate2DLODs() const
inline bool IsForceFullResolutionDimension() const
inline VolumeDataLayoutDescriptor::Options GetOptions() const
inline int GetFullResolutionDimension() const
class MetadataContainer : public OpenVDS::MetadataReadAccess, public OpenVDS::MetadataWriteAccess

Public Functions

MetadataContainer() = default
inline virtual bool IsMetadataIntAvailable(const char *category, const char *name) const override

Returns true if a metadata int with the given category and name is available.

inline virtual bool IsMetadataIntVector2Available(const char *category, const char *name) const override

Returns true if a metadata IntVector2 with the given category and name is available.

inline virtual bool IsMetadataIntVector3Available(const char *category, const char *name) const override

Returns true if a metadata IntVector3 with the given category and name is available.

inline virtual bool IsMetadataIntVector4Available(const char *category, const char *name) const override

Returns true if a metadata IntVector4 with the given category and name is available.

inline virtual bool IsMetadataFloatAvailable(const char *category, const char *name) const override

Returns true if a metadata float with the given category and name is available.

inline virtual bool IsMetadataFloatVector2Available(const char *category, const char *name) const override

Returns true if a metadata FloatVector2 with the given category and name is available.

inline virtual bool IsMetadataFloatVector3Available(const char *category, const char *name) const override

Returns true if a metadata FloatVector3 with the given category and name is available.

inline virtual bool IsMetadataFloatVector4Available(const char *category, const char *name) const override

Returns true if a metadata FloatVector4 with the given category and name is available.

inline virtual bool IsMetadataDoubleAvailable(const char *category, const char *name) const override

Returns true if a metadata double with the given category and name is available.

inline virtual bool IsMetadataDoubleVector2Available(const char *category, const char *name) const override

Returns true if a metadata DoubleVector2 with the given category and name is available.

inline virtual bool IsMetadataDoubleVector3Available(const char *category, const char *name) const override

Returns true if a metadata DoubleVector3 with the given category and name is available.

inline virtual bool IsMetadataDoubleVector4Available(const char *category, const char *name) const override

Returns true if a metadata DoubleVector4 with the given category and name is available.

inline virtual bool IsMetadataStringAvailable(const char *category, const char *name) const override

Returns true if a metadata string with the given category and name is available.

inline virtual bool IsMetadataBLOBAvailable(const char *category, const char *name) const override

Returns true if a metadata BLOB with the given category and name is available.

inline virtual int GetMetadataInt(const char *category, const char *name) const override

Returns the metadata int with the given category and name.

inline virtual IntVector2 GetMetadataIntVector2(const char *category, const char *name) const override

Returns the metadata IntVector2 with the given category and name.

inline virtual IntVector3 GetMetadataIntVector3(const char *category, const char *name) const override

Returns the metadata IntVector3 with the given category and name.

inline virtual IntVector4 GetMetadataIntVector4(const char *category, const char *name) const override

Returns the metadata IntVector4 with the given category and name.

inline virtual float GetMetadataFloat(const char *category, const char *name) const override

Returns the metadata float with the given category and name.

inline virtual FloatVector2 GetMetadataFloatVector2(const char *category, const char *name) const override

Returns the metadata FloatVector2 with the given category and name.

inline virtual FloatVector3 GetMetadataFloatVector3(const char *category, const char *name) const override

Returns the metadata FloatVector3 with the given category and name.

inline virtual FloatVector4 GetMetadataFloatVector4(const char *category, const char *name) const override

Returns the metadata FloatVector4 with the given category and name.

inline virtual double GetMetadataDouble(const char *category, const char *name) const override

Returns the metadata double with the given category and name.

inline virtual DoubleVector2 GetMetadataDoubleVector2(const char *category, const char *name) const override

Returns the metadata DoubleVector2 with the given category and name.

inline virtual DoubleVector3 GetMetadataDoubleVector3(const char *category, const char *name) const override

Returns the metadata DoubleVector3 with the given category and name.

inline virtual DoubleVector4 GetMetadataDoubleVector4(const char *category, const char *name) const override

Returns the metadata DoubleVector4 with the given category and name.

inline virtual const char *GetMetadataString(const char *category, const char *name) const override

Returns the metadata string with the given category and name.

inline virtual void SetMetadataInt(const char *category, const char *name, int value) override

Sets a metadata int with the given category and name to the given value.

inline virtual void SetMetadataIntVector2(const char *category, const char *name, IntVector2 value) override

Sets a metadata IntVector2 with the given category and name to the given value.

inline virtual void SetMetadataIntVector3(const char *category, const char *name, IntVector3 value) override

Sets a metadata IntVector3 with the given category and name to the given value.

inline virtual void SetMetadataIntVector4(const char *category, const char *name, IntVector4 value) override

Sets a metadata IntVector4 with the given category and name to the given value.

inline virtual void SetMetadataFloat(const char *category, const char *name, float value) override

Sets a metadata float with the given category and name to the given value.

inline virtual void SetMetadataFloatVector2(const char *category, const char *name, FloatVector2 value) override

Sets a metadata FloatVector2 with the given category and name to the given value.

inline virtual void SetMetadataFloatVector3(const char *category, const char *name, FloatVector3 value) override

Sets a metadata FloatVector3 with the given category and name to the given value.

inline virtual void SetMetadataFloatVector4(const char *category, const char *name, FloatVector4 value) override

Sets a metadata FloatVector4 with the given category and name to the given value.

inline virtual void SetMetadataDouble(const char *category, const char *name, double value) override

Sets a metadata double with the given category and name to the given value.

inline virtual void SetMetadataDoubleVector2(const char *category, const char *name, DoubleVector2 value) override

Sets a metadata DoubleVector2 with the given category and name to the given value.

inline virtual void SetMetadataDoubleVector3(const char *category, const char *name, DoubleVector3 value) override

Sets a metadata DoubleVector3 with the given category and name to the given value.

inline virtual void SetMetadataDoubleVector4(const char *category, const char *name, DoubleVector4 value) override

Sets a metadata DoubleVector4 with the given category and name to the given value.

inline virtual void SetMetadataString(const char *category, const char *name, const char *value) override

Sets a metadata string with the given category and name to the given value.

inline virtual void SetMetadataBLOB(const char *category, const char *name, const void *data, size_t size) override

Sets a metadata BLOB with the given category and name to the given value.

inline virtual void CopyMetadata(const char *category, MetadataReadAccess const *metadataReadAccess) override

Copy the metadata from another MetadataContainer

Parameters:
  • category – the metadata category to copy

  • metadataReadAccess – the MetadataReadAccess interface to copy from

inline virtual void ClearMetadata(const char *category, const char *name) override

Clear the metadata with the given category and name.

inline virtual void ClearMetadata(const char *category) override

Clear the metadata with the given category.

inline virtual void GetMetadataBLOB(const char *category, const char *name, const void **data, size_t *size) const override

Returns the metadata BLOB with the given category and name.

inline virtual MetadataKeyRange GetMetadataKeys() const override

Returns a range of metadata keys that can be iterated over using range-based ‘for’.

virtual void SetMetadataBLOB(const char *category, const char *name, const void *data, size_t size) = 0

Sets a metadata BLOB with the given category and name to the given value.

template<typename T>
inline void SetMetadataBLOB(const char *category, const char *name, std::vector<T> const &value)
Parameters:

value – Sets a metadata BLOB with the given category and name to the given value

virtual void SetMetadataString(const char *category, const char *name, const char *value) = 0

Sets a metadata string with the given category and name to the given value.

inline void SetMetadataString(const char *category, const char *name, std::string const &value)
Parameters:

value – Sets a metadata string with the given category and name to the given value

virtual void GetMetadataBLOB(const char *category, const char *name, const void **data, size_t *size) const = 0

Returns the metadata BLOB with the given category and name.

template<typename T>
inline void GetMetadataBLOB(const char *category, const char *name, std::vector<T> &value) const
virtual const char *GetMetadataString(const char *category, const char *name) const = 0

Returns the metadata string with the given category and name.

class MetadataReadAccess

Interface for read access to Metadata.

Subclassed by OpenVDS::MetadataContainer, OpenVDS::VolumeDataLayout

Public Functions

virtual bool IsMetadataIntAvailable(const char *category, const char *name) const = 0

Returns true if a metadata int with the given category and name is available.

virtual bool IsMetadataIntVector2Available(const char *category, const char *name) const = 0

Returns true if a metadata IntVector2 with the given category and name is available.

virtual bool IsMetadataIntVector3Available(const char *category, const char *name) const = 0

Returns true if a metadata IntVector3 with the given category and name is available.

virtual bool IsMetadataIntVector4Available(const char *category, const char *name) const = 0

Returns true if a metadata IntVector4 with the given category and name is available.

virtual bool IsMetadataFloatAvailable(const char *category, const char *name) const = 0

Returns true if a metadata float with the given category and name is available.

virtual bool IsMetadataFloatVector2Available(const char *category, const char *name) const = 0

Returns true if a metadata FloatVector2 with the given category and name is available.

virtual bool IsMetadataFloatVector3Available(const char *category, const char *name) const = 0

Returns true if a metadata FloatVector3 with the given category and name is available.

virtual bool IsMetadataFloatVector4Available(const char *category, const char *name) const = 0

Returns true if a metadata FloatVector4 with the given category and name is available.

virtual bool IsMetadataDoubleAvailable(const char *category, const char *name) const = 0

Returns true if a metadata double with the given category and name is available.

virtual bool IsMetadataDoubleVector2Available(const char *category, const char *name) const = 0

Returns true if a metadata DoubleVector2 with the given category and name is available.

virtual bool IsMetadataDoubleVector3Available(const char *category, const char *name) const = 0

Returns true if a metadata DoubleVector3 with the given category and name is available.

virtual bool IsMetadataDoubleVector4Available(const char *category, const char *name) const = 0

Returns true if a metadata DoubleVector4 with the given category and name is available.

virtual bool IsMetadataStringAvailable(const char *category, const char *name) const = 0

Returns true if a metadata string with the given category and name is available.

virtual bool IsMetadataBLOBAvailable(const char *category, const char *name) const = 0

Returns true if a metadata BLOB with the given category and name is available.

virtual int GetMetadataInt(const char *category, const char *name) const = 0

Returns the metadata int with the given category and name.

virtual IntVector2 GetMetadataIntVector2(const char *category, const char *name) const = 0

Returns the metadata IntVector2 with the given category and name.

virtual IntVector3 GetMetadataIntVector3(const char *category, const char *name) const = 0

Returns the metadata IntVector3 with the given category and name.

virtual IntVector4 GetMetadataIntVector4(const char *category, const char *name) const = 0

Returns the metadata IntVector4 with the given category and name.

virtual float GetMetadataFloat(const char *category, const char *name) const = 0

Returns the metadata float with the given category and name.

virtual FloatVector2 GetMetadataFloatVector2(const char *category, const char *name) const = 0

Returns the metadata FloatVector2 with the given category and name.

virtual FloatVector3 GetMetadataFloatVector3(const char *category, const char *name) const = 0

Returns the metadata FloatVector3 with the given category and name.

virtual FloatVector4 GetMetadataFloatVector4(const char *category, const char *name) const = 0

Returns the metadata FloatVector4 with the given category and name.

virtual double GetMetadataDouble(const char *category, const char *name) const = 0

Returns the metadata double with the given category and name.

virtual DoubleVector2 GetMetadataDoubleVector2(const char *category, const char *name) const = 0

Returns the metadata DoubleVector2 with the given category and name.

virtual DoubleVector3 GetMetadataDoubleVector3(const char *category, const char *name) const = 0

Returns the metadata DoubleVector3 with the given category and name.

virtual DoubleVector4 GetMetadataDoubleVector4(const char *category, const char *name) const = 0

Returns the metadata DoubleVector4 with the given category and name.

virtual const char *GetMetadataString(const char *category, const char *name) const = 0

Returns the metadata string with the given category and name.

template<typename T>
inline void GetMetadataBLOB(const char *category, const char *name, std::vector<T> &value) const
virtual MetadataKeyRange GetMetadataKeys() const = 0

Returns a range of metadata keys that can be iterated over using range-based ‘for’.

Public Members

friend PyMetadataAccess
class MetadataWriteAccess

Interface for write access to Metadata.

Subclassed by OpenVDS::MetadataContainer

Public Functions

virtual void SetMetadataInt(const char *category, const char *name, int value) = 0

Sets a metadata int with the given category and name to the given value.

virtual void SetMetadataIntVector2(const char *category, const char *name, IntVector2 value) = 0

Sets a metadata IntVector2 with the given category and name to the given value.

virtual void SetMetadataIntVector3(const char *category, const char *name, IntVector3 value) = 0

Sets a metadata IntVector3 with the given category and name to the given value.

virtual void SetMetadataIntVector4(const char *category, const char *name, IntVector4 value) = 0

Sets a metadata IntVector4 with the given category and name to the given value.

virtual void SetMetadataFloat(const char *category, const char *name, float value) = 0

Sets a metadata float with the given category and name to the given value.

virtual void SetMetadataFloatVector2(const char *category, const char *name, FloatVector2 value) = 0

Sets a metadata FloatVector2 with the given category and name to the given value.

virtual void SetMetadataFloatVector3(const char *category, const char *name, FloatVector3 value) = 0

Sets a metadata FloatVector3 with the given category and name to the given value.

virtual void SetMetadataFloatVector4(const char *category, const char *name, FloatVector4 value) = 0

Sets a metadata FloatVector4 with the given category and name to the given value.

virtual void SetMetadataDouble(const char *category, const char *name, double value) = 0

Sets a metadata double with the given category and name to the given value.

virtual void SetMetadataDoubleVector2(const char *category, const char *name, DoubleVector2 value) = 0

Sets a metadata DoubleVector2 with the given category and name to the given value.

virtual void SetMetadataDoubleVector3(const char *category, const char *name, DoubleVector3 value) = 0

Sets a metadata DoubleVector3 with the given category and name to the given value.

virtual void SetMetadataDoubleVector4(const char *category, const char *name, DoubleVector4 value) = 0

Sets a metadata DoubleVector4 with the given category and name to the given value.

virtual void SetMetadataString(const char *category, const char *name, const char *value) = 0

Sets a metadata string with the given category and name to the given value.

inline void SetMetadataString(const char *category, const char *name, std::string const &value)
Parameters:

value – Sets a metadata string with the given category and name to the given value

virtual void SetMetadataBLOB(const char *category, const char *name, const void *data, size_t size) = 0

Sets a metadata BLOB with the given category and name to the given value.

template<typename T>
inline void SetMetadataBLOB(const char *category, const char *name, std::vector<T> const &value)
Parameters:

value – Sets a metadata BLOB with the given category and name to the given value

virtual void CopyMetadata(const char *category, MetadataReadAccess const *metadataReadAccess) = 0

Copy the metadata from another MetadataContainer

Parameters:
  • category – the metadata category to copy

  • metadataReadAccess – the MetadataReadAccess interface to copy from

virtual void ClearMetadata(const char *category, const char *name) = 0

Clear the metadata with the given category and name.

virtual void ClearMetadata(const char *category) = 0

Clear the metadata with the given category.