Commit 289efa64 authored by Jørgen Lind's avatar Jørgen Lind
Browse files

Make VolumeDataLayout public api

and move OpenVDS::Range and OpenVDS::Vector files into the OpenVDS
public header folder
parent 96c029c1
......@@ -8,7 +8,7 @@ set(SOURCE_FILES
VDS/VolumeDataPartition.cpp
VDS/VolumeDataChannelMapping.cpp
VDS/VolumeDataLayer.cpp
VDS/VolumeDataLayout.cpp
VDS/VolumeDataLayoutImpl.cpp
VDS/VolumeDataRegion.cpp
VDS/VolumeDataHash.cpp
VDS/VolumeDataPageAccessorImpl.cpp
......@@ -36,7 +36,7 @@ set (PRIVATE_HEADER_FILES
VDS/VolumeDataPartition.h
VDS/VolumeDataChannelMapping.h
VDS/VolumeDataLayer.h
VDS/VolumeDataLayout.h
VDS/VolumeDataLayoutImpl.h
VDS/VolumeDataChunk.h
VDS/VolumeDataRegion.h
VDS/VolumeDataHash.h
......@@ -46,7 +46,6 @@ set (PRIVATE_HEADER_FILES
VDS/VolumeDataPageImpl.h
VDS/DimensionGroup.h
VDS/Hash.h
Math/Vector.h
VDS/Bitmask.h
VDS/ParseVDSJson.h
VDS/MetadataManager.h
......@@ -78,6 +77,9 @@ set (EXPORTED_HEADER_FILES
OpenVDS/VolumeDataChannelDescriptor.h
OpenVDS/VolumeDataAxisDescriptor.h
OpenVDS/VolumeDataAccess.h
OpenVDS/VolumeDataLayout.h
OpenVDS/Vector.h
OpenVDS/Range.h
OpenVDS/openvds_export.h)
add_library(openvds_objects OBJECT
......
......@@ -25,7 +25,7 @@
#include <OpenVDS/VolumeDataAccess.h>
#include "VDS/VolumeDataLayout.h"
#include "VDS/VolumeDataLayoutImpl.h"
#include "VDS/VolumeDataPageAccessorImpl.h"
#include "VDS/VolumeDataAccessManagerImpl.h"
#include "VDS/VolumeDataRequestProcessor.h"
......@@ -132,7 +132,7 @@ void createVolumeDataLayout(VDSHandle &handle)
}
handle.volumeDataLayout.reset(
new VolumeDataLayout(
new VolumeDataLayoutImpl(
handle,
handle.layoutDescriptor,
handle.axisDescriptors,
......
......@@ -19,7 +19,7 @@
#define OPENVDS_METADATA_H
#include <unordered_map>
#include <Math/Vector.h>
#include <OpenVDS/Vector.h>
#include <string>
#include <vector>
......
......@@ -20,7 +20,7 @@
#include <OpenVDS/VolumeData.h>
#include <OpenVDS/VolumeDataChannelDescriptor.h>
#include <Math/Vector.h>
#include <OpenVDS/Vector.h>
namespace OpenVDS {
......
......@@ -18,7 +18,7 @@
#ifndef VOLUMEDATAAXISDESCRIPTOR_H
#define VOLUMEDATAAXISDESCRIPTOR_H
#include <Math/Range.h>
#include <OpenVDS/Range.h>
#include <cmath>
#include <string>
......
......@@ -19,8 +19,8 @@
#define VOLUMEDATACHANNELDESCRIPTOR_H
#include <string>
#include <Math/Range.h>
#include <OpenVDS/Range.h>
#include <OpenVDS/VolumeData.h>
namespace OpenVDS
......
/****************************************************************************
** Copyright 2019 The Open Group
** Copyright 2019 Bluware, Inc.
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
****************************************************************************/
#ifndef VOLUMEDATALAYOUT_H
#define VOLUMEDATALAYOUT_H
#include <OpenVDS/VolumeDataChannelDescriptor.h>
#include <OpenVDS/VolumeDataAxisDescriptor.h>
namespace OpenVDS
{
/// \class VolumeDataLayout
/// \brief 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.
class VolumeDataLayout //: public MetadataReadAccess
{
protected:
VolumeDataLayout() {};
virtual ~VolumeDataLayout() {};
public:
enum
{
DIMENSIONALITY_MAX = 6 ///< the maximum number of dimensions a VDS can have
};
virtual uint64_t
getContentsHash() const = 0; ///< gets the contents hash of this VDS
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 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
// These convenience functions provide access to the individual elements of the value descriptor
virtual VolumeDataChannelDescriptor::Format
getChannelFormat(int channel) const = 0; ///< get the format for the given channel index
virtual VolumeDataChannelDescriptor::Components
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
// These convenience functions provide access to the individual elements of the axis descriptors
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
};
}
#endif //VOLUMEDATALAYOUT_H
......@@ -22,11 +22,10 @@
#include <OpenVDS/VolumeDataAxisDescriptor.h>
#include <OpenVDS/VolumeDataChannelDescriptor.h>
#include <OpenVDS/Metadata.h>
#include <OpenVDS/Vector.h>
#include <Math/Vector.h>
#include "VDS/VolumeDataLayoutImpl.h"
#include "VDS/VolumeDataLayer.h"
#include "VDS/VolumeDataLayout.h"
#include "VDS/MetadataManager.h"
#include "VDS/VolumeDataAccessManagerImpl.h"
#include "VDS/VolumeDataRequestProcessor.h"
......@@ -70,7 +69,7 @@ struct VDSHandle
MetadataContainer metadataContainer;
std::unique_ptr<VolumeDataLayout>
std::unique_ptr<VolumeDataLayoutImpl>
volumeDataLayout;
std::unique_ptr<VolumeDataAccessManagerImpl>
dataAccessManager;
......
......@@ -24,12 +24,12 @@
#include <OpenVDS/VolumeDataAxisDescriptor.h>
#include <OpenVDS/VolumeDataChannelDescriptor.h>
#include <OpenVDS/VolumeDataAccess.h>
#include <Math/Range.h>
#include <OpenVDS/Range.h>
#include <OpenVDS/VolumeDataLayout.h>
#include "VDS/VolumeDataLayout.h"
#include "VDS/Hash.h"
#include "cxxopts.hpp"
#include <mutex>
#include <cstdlib>
#include <climits>
#include <json/json.h>
......@@ -754,7 +754,7 @@ main(int argc, char *argv[])
for(int64_t chunk = 0; chunk < amplitudeAccessor->getChunkCount(); chunk++)
{
int done = double(chunk)/amplitudeAccessor->getChunkCount() * 100;
int done = int(double(chunk)/amplitudeAccessor->getChunkCount() * 100);
fmt::print("\r{:3d}% done.", done);
int32_t errorCount = accessManager->uploadErrorCount();
for (int i = 0; i < errorCount; i++)
......
......@@ -19,7 +19,7 @@
#define HASH_H_INCLUDE
#include <string>
#include <Math/Range.h>
#include <OpenVDS/Range.h>
namespace OpenVDS
{
......
......@@ -17,7 +17,7 @@
#include "ParseVDSJson.h"
#include "VolumeDataLayer.h"
#include "VolumeDataLayout.h"
#include "VolumeDataLayoutImpl.h"
#include "VolumeDataHash.h"
#include "MetadataManager.h"
......@@ -975,7 +975,7 @@ std::string to_string(CompressionMethod compressionMethod)
};
}
Json::Value serializeVolumeDataLayout(VolumeDataLayout const &volumeDataLayout, MetadataContainer const &metadataContainer)
Json::Value serializeVolumeDataLayout(VolumeDataLayoutImpl const &volumeDataLayout, MetadataContainer const &metadataContainer)
{
Json::Value root;
......@@ -1057,7 +1057,7 @@ Json::Value serializeMetadataStatus(MetadataStatus const &metadataStatus)
return metadataStatusJson;
}
Json::Value serializeLayerStatusArray(VolumeDataLayout const &volumeDataLayout, LayerMetadataContainer const &layerMetadataContainer)
Json::Value serializeLayerStatusArray(VolumeDataLayoutImpl const &volumeDataLayout, LayerMetadataContainer const &layerMetadataContainer)
{
Json::Value layerStatusArrayJson(Json::arrayValue);
......
......@@ -25,6 +25,7 @@
#include "ParseVDSJson.h"
#include "VolumeDataStore.h"
#include "VolumeDataHash.h"
#include "VolumeDataLayoutImpl.h"
#include <cmath>
#include <algorithm>
......@@ -180,7 +181,7 @@ static IORange calculateRangeHeaderImpl(const ParsedMetadata& parsedMetadata, co
return { 0 , 0 };
}
static VolumeDataLayer *getVolumeDataLayer(VolumeDataLayout const *layout, DimensionsND dimension, int channel, int lod, bool isAllowFailure)
static VolumeDataLayer *getVolumeDataLayer(VolumeDataLayoutImpl const *layout, DimensionsND dimension, int channel, int lod, bool isAllowFailure)
{
if(!layout)
{
......@@ -236,11 +237,16 @@ VolumeDataLayout const* VolumeDataAccessManagerImpl::getVolumeDataLayout() const
return m_handle.volumeDataLayout.get();
}
VolumeDataLayoutImpl const* VolumeDataAccessManagerImpl::getVolumeDataLayoutImpl() const
{
return m_handle.volumeDataLayout.get();
}
VolumeDataPageAccessor* VolumeDataAccessManagerImpl::createVolumeDataPageAccessor(VolumeDataLayout const* volumeDataLayout, DimensionsND dimensionsND, int lod, int channel, int maxPages, AccessMode accessMode)
{
std::unique_lock<std::mutex> lock(m_mutex);
VolumeDataLayer *layer = getVolumeDataLayer(volumeDataLayout, dimensionsND, channel, lod, true);
VolumeDataLayer *layer = getVolumeDataLayer(static_cast<VolumeDataLayoutImpl const *>(volumeDataLayout), dimensionsND, channel, lod, true);
if (!layer)
return nullptr;
......@@ -516,7 +522,7 @@ int64_t VolumeDataAccessManagerImpl::requestWriteChunk(const VolumeDataChunk &ch
std::shared_ptr<std::vector<uint8_t>> to_write = std::make_shared<std::vector<uint8_t>>();
uint64_t hash;
if (!VolumeDataStore::serializeVolumeData(chunk, dataBlock, data, getVolumeDataLayout()->getCompressionMethod(), *to_write, hash, error))
if (!VolumeDataStore::serializeVolumeData(chunk, dataBlock, data, getVolumeDataLayoutImpl()->getCompressionMethod(), *to_write, hash, error))
{
std::unique_lock<std::mutex> lock(m_mutex);
m_uploadErrors.emplace_back(new UploadError(error, url));
......
......@@ -150,6 +150,7 @@ public:
VolumeDataAccessManagerImpl(VDSHandle &handle);
~VolumeDataAccessManagerImpl() override;
VolumeDataLayout const *getVolumeDataLayout() const override;
VolumeDataLayoutImpl const *getVolumeDataLayoutImpl() const;
VolumeDataPageAccessor *createVolumeDataPageAccessor(VolumeDataLayout const *volumeDataLayout, DimensionsND dimensionsND, int lod, int channel, int maxPages, AccessMode accessMode) override;
void destroyVolumeDataPageAccessor(VolumeDataPageAccessor *volumeDataPageAccessor) override;
......
......@@ -18,7 +18,7 @@
#include "VolumeDataAccessor.h"
#include "VolumeDataAccessManagerImpl.h"
#include "VolumeDataLayout.h"
#include "VolumeDataLayoutImpl.h"
#include "VolumeDataRequestProcessor.h"
#include "DataBlock.h"
......
......@@ -18,10 +18,11 @@
#ifndef VOLUMEDATAACCESSOR_H
#define VOLUMEDATAACCESSOR_H
#include <OpenVDS/Vector.h>
#include "VolumeDataPageImpl.h"
#include "VolumeDataPageAccessorImpl.h"
#include "VolumeSampler.h"
#include <Math/Vector.h>
namespace OpenVDS
......
......@@ -20,7 +20,7 @@
#include <cmath>
#include "VolumeDataLayout.h"
#include "VolumeDataLayoutImpl.h"
#include "VolumeDataRegion.h"
#include "VolumeDataChannelMapping.h"
......@@ -38,7 +38,7 @@ namespace OpenVDS
#define WAVELET_MIN_COMPRESSION_TOLERANCE 0.01f
#define WAVELET_ADAPTIVE_LEVELS 16
VolumeDataLayer::VolumeDataLayer(VolumeDataPartition const &volumeDataPartition, VolumeDataLayout *volumeDataLayout, int32_t channel, VolumeDataLayer *primaryChannelLayer, VolumeDataLayer *lowerLOD, VolumeDataLayer::LayerType layerType, const VolumeDataChannelMapping *volumeDataChannelMapping)
VolumeDataLayer::VolumeDataLayer(VolumeDataPartition const &volumeDataPartition, VolumeDataLayoutImpl *volumeDataLayout, int32_t channel, VolumeDataLayer *primaryChannelLayer, VolumeDataLayer *lowerLOD, VolumeDataLayer::LayerType layerType, const VolumeDataChannelMapping *volumeDataChannelMapping)
: VolumeDataPartition(volumeDataPartition)
, m_volumeDataLayout(volumeDataLayout)
, m_layerID(volumeDataLayout->addDataLayer(this))
......
......@@ -19,18 +19,17 @@
#define VOLUMEDATALAYER_H
#include <OpenVDS/VolumeDataChannelDescriptor.h>
#include <OpenVDS/Range.h>
#include <OpenVDS/Vector.h>
#include "VolumeDataPartition.h"
#include "VolumeDataChunk.h"
#include <Math/Range.h>
#include <Math/Vector.h>
#include <vector>
namespace OpenVDS
{
class VolumeDataLayout;
class VolumeDataLayoutImpl;
class VolumeDataLayer : public VolumeDataPartition
{
......@@ -66,7 +65,7 @@ public:
};
private:
VolumeDataLayout * m_volumeDataLayout;
VolumeDataLayoutImpl * m_volumeDataLayout;
VolumeDataLayerID m_layerID;
int32_t m_channel;
......@@ -92,9 +91,9 @@ private:
uint64_t getFormatHash(VolumeDataChannelDescriptor::Format actualFormat, bool isReplaceNoValue, float replacementNoValue) const;
public:
VolumeDataLayer(VolumeDataPartition const& volumeDataPartition, VolumeDataLayout* volumeDataLayout, int32_t channel, VolumeDataLayer* primaryChannelLayer, VolumeDataLayer* lowerLOD, LayerType layerType, const VolumeDataChannelMapping* volumeDataChannelMapping);
VolumeDataLayer(VolumeDataPartition const& volumeDataPartition, VolumeDataLayoutImpl* volumeDataLayout, int32_t channel, VolumeDataLayer* primaryChannelLayer, VolumeDataLayer* lowerLOD, LayerType layerType, const VolumeDataChannelMapping* volumeDataChannelMapping);
VolumeDataLayout *getLayout() const
VolumeDataLayoutImpl *getLayout() const
{
return m_volumeDataLayout;
}
......
......@@ -17,7 +17,7 @@
#include <OpenVDS/VolumeDataLayoutDescriptor.h>
#include "VolumeDataLayout.h"
#include "VolumeDataLayoutImpl.h"
#include "VolumeDataChannelMapping.h"
#include "DimensionGroup.h"
......@@ -41,7 +41,7 @@ static std::condition_variable &staticGetPendingRequestCountChangedCondition()
return pendingRequestCountChangedCondition;
}
VolumeDataLayout::VolumeDataLayout(VDSHandle &handle,
VolumeDataLayoutImpl::VolumeDataLayoutImpl(VDSHandle &handle,
const VolumeDataLayoutDescriptor &layoutDescriptor,
const std::vector<VolumeDataAxisDescriptor> &axisDescriptor,
const std::vector<VolumeDataChannelDescriptor> &volumeDataChannelDescriptor,
......@@ -91,17 +91,17 @@ VolumeDataLayout::VolumeDataLayout(VDSHandle &handle,
memset(m_primaryTopLayers, 0, sizeof(m_primaryTopLayers));
}
VolumeDataLayout::~VolumeDataLayout()
VolumeDataLayoutImpl::~VolumeDataLayoutImpl()
{
}
VolumeDataLayer::VolumeDataLayerID VolumeDataLayout::addDataLayer(VolumeDataLayer *layer)
VolumeDataLayer::VolumeDataLayerID VolumeDataLayoutImpl::addDataLayer(VolumeDataLayer *layer)
{
m_volumeDataLayers.push_back(layer);
return VolumeDataLayer::VolumeDataLayerID(m_volumeDataLayers.size() - 1);
}
VolumeDataLayer* VolumeDataLayout::getBaseLayer(DimensionGroup dimensionGroup, int32_t channel) const
VolumeDataLayer* VolumeDataLayoutImpl::getBaseLayer(DimensionGroup dimensionGroup, int32_t channel) const
{
assert(dimensionGroup >= 0 && dimensionGroup < DimensionGroup_3D_Max);
assert(channel >= 0 && channel < getChannelCount());
......@@ -115,37 +115,37 @@ VolumeDataLayer* VolumeDataLayout::getBaseLayer(DimensionGroup dimensionGroup, i
return volumeDataLayer;
}
FloatRange const& VolumeDataLayout::getChannelActualValueRange(int32_t channel) const
FloatRange const& VolumeDataLayoutImpl::getChannelActualValueRange(int32_t channel) const
{
assert(channel >= 0 && channel < getChannelCount());
return (channel == m_actualValueRangeChannel) ? m_actualValueRange : m_volumeDataChannelDescriptor[channel].getValueRange();
}
VolumeDataMapping VolumeDataLayout::getChannelMapping(int32_t channel) const
VolumeDataMapping VolumeDataLayoutImpl::getChannelMapping(int32_t channel) const
{
assert(channel >= 0 && channel < getChannelCount());
return m_volumeDataChannelDescriptor[channel].getMapping();
}
int32_t VolumeDataLayout::getChannelMappedValueCount(int32_t channel) const
int32_t VolumeDataLayoutImpl::getChannelMappedValueCount(int32_t channel) const
{
assert(channel >= 0 && channel < getChannelCount());
return m_volumeDataChannelDescriptor[channel].getMappedValueCount();
}
FloatRange const& VolumeDataLayout::getDimensionRange(int32_t dimension) const
FloatRange const& VolumeDataLayoutImpl::getDimensionRange(int32_t dimension) const
{
assert(dimension >= 0 && dimension < m_dimensionality);
return m_dimensionRange[dimension];
}
const VolumeDataChannelMapping* VolumeDataLayout::getVolumeDataChannelMapping(int32_t channel) const
const VolumeDataChannelMapping* VolumeDataLayoutImpl::getVolumeDataChannelMapping(int32_t channel) const
{
assert(channel >= 0 && channel < m_volumeDataChannelDescriptor.size());
return VolumeDataChannelMapping::getVolumeDataChannelMapping(m_volumeDataChannelDescriptor[channel].getMapping());
}
VolumeDataLayer *VolumeDataLayout::getVolumeDataLayerFromID(VolumeDataLayer::VolumeDataLayerID volumeDataLayerID) const
VolumeDataLayer *VolumeDataLayoutImpl::getVolumeDataLayerFromID(VolumeDataLayer::VolumeDataLayerID volumeDataLayerID) const
{
assert(volumeDataLayerID >= 0 || volumeDataLayerID == VolumeDataLayer::LayerIdNone);
if(volumeDataLayerID == VolumeDataLayer::LayerIdNone || volumeDataLayerID >= getLayerCount())
......@@ -158,7 +158,7 @@ VolumeDataLayer *VolumeDataLayout::getVolumeDataLayerFromID(VolumeDataLayer::Vol
}
}
VolumeDataLayer *VolumeDataLayout::getTopLayer(DimensionGroup dimensionGroup, int32_t channel) const
VolumeDataLayer *VolumeDataLayoutImpl::getTopLayer(DimensionGroup dimensionGroup, int32_t channel) const
{
assert(dimensionGroup >= 0 && dimensionGroup < DimensionGroup_3D_Max);
assert(channel >= 0 && channel < getChannelCount());
......@@ -172,7 +172,7 @@ VolumeDataLayer *VolumeDataLayout::getTopLayer(DimensionGroup dimensionGroup, in
return volumeDataLayer;
}
int32_t VolumeDataLayout::changePendingWriteRequestCount(int32_t difference)
int32_t VolumeDataLayoutImpl::changePendingWriteRequestCount(int32_t difference)
{
std::unique_lock<std::mutex> pendingRequestCountMutexLock(staticGetPendingRequestCountMutex());
......@@ -187,7 +187,7 @@ int32_t VolumeDataLayout::changePendingWriteRequestCount(int32_t difference)
return ret;
}
void VolumeDataLayout::completePendingWriteChunkRequests(int32_t maxPendingWriteRequests) const
void VolumeDataLayoutImpl::completePendingWriteChunkRequests(int32_t maxPendingWriteRequests) const
{
std::unique_lock<std::mutex> pendingRequestCountMutexLock(staticGetPendingRequestCountMutex());
......@@ -198,7 +198,7 @@ void VolumeDataLayout::completePendingWriteChunkRequests(int32_t maxPendingWrite
}
bool VolumeDataLayout::isChannelAvailable(const char *channelName) const
bool VolumeDataLayoutImpl::isChannelAvailable(const char *channelName) const
{
int32_t nChannels = getChannelCount();
......@@ -210,7 +210,7 @@ bool VolumeDataLayout::isChannelAvailable(const char *channelName) const
return false;
}
int32_t VolumeDataLayout::getChannelIndex(const char *channelName) const
int32_t VolumeDataLayoutImpl::getChannelIndex(const char *channelName) const
{
int32_t nChannels = getChannelCount();
......@@ -222,7 +222,7 @@ int32_t VolumeDataLayout::getChannelIndex(const char *channelName) const
return 0;
}
VolumeDataChannelDescriptor VolumeDataLayout::getChannelDescriptor(int32_t channel) const
VolumeDataChannelDescriptor VolumeDataLayoutImpl::getChannelDescriptor(int32_t channel) const
{
assert(channel >= 0 && channel < getChannelCount());
......@@ -264,7 +264,7 @@ VolumeDataChannelDescriptor VolumeDataLayout::getChannelDescriptor(int32_t chann
volumeDataChannelDescriptor.getIntegerOffset());
}
VolumeDataLayoutDescriptor VolumeDataLayout::getLayoutDescriptor() const
VolumeDataLayoutDescriptor VolumeDataLayoutImpl::getLayoutDescriptor() const
{
VolumeDataLayoutDescriptor::BrickSize
brickSize;
......@@ -300,7 +300,7 @@ VolumeDataLayoutDescriptor VolumeDataLayout::getLayoutDescriptor() const
m_fullResolutionDimension);
}
VolumeDataAxisDescriptor VolumeDataLayout::getAxisDescriptor(int32_t dimension) const
VolumeDataAxisDescriptor VolumeDataLayoutImpl::getAxisDescriptor(int32_t dimension) const
{
assert(dimension >= 0 && dimension < m_dimensionality);
return VolumeDataAxisDescriptor(getDimensionNumSamples(dimension),
......@@ -309,37 +309,37 @@ VolumeDataAxisDescriptor VolumeDataLayout::getAxisDescriptor(int32_t dimension)
getDimensionRange(dimension));
}
int VolumeDataLayout::getDimensionNumSamples(int32_t dimension) const
int VolumeDataLayoutImpl::getDimensionNumSamples(int32_t dimension) const
{
assert(dimension >= 0 && dimension < array_size(m_dimensionNumSamples));
return m_dimensionNumSamples[dimension];
}
const char *VolumeDataLayout::getDimensionName(int32_t dimension) const
const char *VolumeDataLayoutImpl::getDimensionName(int32_t dimension) const
{
assert(dimension >= 0 && dimension < array_size(m_dimensionName));
return m_dimensionName[dimension];
}
const char *VolumeDataLayout::getDimensionUnit(int32_t dimension) const
const char *VolumeDataLayoutImpl::getDimensionUnit(int32_t dimension) const
{
assert(dimension >= 0 && dimension < array_size(m_dimensionUnit));
return m_dimensionUnit[dimension];
}
void VolumeDataLayout::setContentsHash(VolumeDataHash const &contentsHash)
void VolumeDataLayoutImpl::setContentsHash(VolumeDataHash const &contentsHash)
{
m_contentsHash = contentsHash;
}
void VolumeDataLayout::setActualValueRange(int32_t actualValueRangeChannel, FloatRange const& actualValueRange)
void VolumeDataLayoutImpl::setActualValueRange(int32_t actualValueRangeChannel, FloatRange const& actualValueRange)
{
m_actualValueRangeChannel = actualValueRangeChannel;
m_actualValueRange = actualValueRange;
}
void VolumeDataLayout::createLayers(DimensionGroup dimensionGroup, int32_t brickSize, int32_t physicalLODLevels, VolumeDataLayer::ProduceStatus produceStatus)
void VolumeDataLayoutImpl::createLayers(DimensionGroup dimensionGroup, int32_t brickSize, int32_t physicalLODLevels, VolumeDataLayer::ProduceStatus produceStatus)
{
assert(physicalLODLevels > 0);
......