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 ®ion = 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
-
inline AWSOpenOptions()
-
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 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
-
inline 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
-
enumerator Default
-
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()
-
enum class CredentialsType : CredentialsIntType
-
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.
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.
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.
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.
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.
-
template<>
inline VolumeDataReadAccessor<IntVector2, double> 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 VolumeDataReadWriteAccessor<IntVector2, double> 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 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
-
typedef VolumeDataPageAccessor::AccessMode AccessMode
-
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
-
virtual uint64_t GetContentsHash() const = 0
-
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)
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)
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)
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
-
inline VolumeDataAxisDescriptor()
-
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.
-
enumerator Default
-
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 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
-
enum Flags
-
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
-
enumerator BrickSize_32
-
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
-
enumerator LODLevels_None
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 int GetNegativeMargin() const
-
inline int GetPositiveMargin() const
-
inline int GetBrickSizeMultiplier2D() const
-
inline bool IsCreate2DLODs() const
-
inline bool IsForceFullResolutionDimension() const
-
inline VolumeDataLayoutDescriptor::Options GetOptions() const
-
inline int GetFullResolutionDimension() const
-
enum BrickSize
-
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.
-
MetadataContainer() = default
-
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
-
virtual bool IsMetadataIntAvailable(const char *category, const char *name) const = 0
-
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.
-
virtual void SetMetadataInt(const char *category, const char *name, int value) = 0