diff --git a/src/geometry/grid/Grid.h b/src/geometry/grid/Grid.h index 4e343f0..60e38d1 100644 --- a/src/geometry/grid/Grid.h +++ b/src/geometry/grid/Grid.h @@ -22,6 +22,11 @@ public: return idx * this->mNumZ + jdx * this->mNumX * this->mNumZ + kdx; } + void setData(const std::vector& data) + { + this->mData->setData(data); + } + void setItem(std::size_t idx, std::size_t jdx, std::size_t kdx, const T& value) override { this->mData->setItem(getOffset(idx, jdx, kdx), value); diff --git a/src/image/Image.cpp b/src/image/Image.cpp index 66036b0..14ba182 100644 --- a/src/image/Image.cpp +++ b/src/image/Image.cpp @@ -47,14 +47,14 @@ void Image::setPixelValues(const Indices& indices, const std::vector& col if (mDataType == DataType::UCHAR) { - auto data_t = getDataT(); + auto grid = getGridT(); for (std::size_t idx=0; idx< indices.size(); idx++) { auto id = indices[idx]; auto color = colors[idx]; - data_t->setItem(id.first, id.second, 0, color.getR()); - data_t->setItem(id.first, id.second, 1, color.getG()); - data_t->setItem(id.first, id.second, 2, color.getB()); + grid->setItem(id.first, id.second, 0, color.getR()); + grid->setItem(id.first, id.second, 1, color.getG()); + grid->setItem(id.first, id.second, 2, color.getB()); } } } @@ -89,13 +89,13 @@ PlatformImage* Image::getPlatformImage() return mPlatformImage.get(); } -AbstractGrid* Image::getData() const +AbstractGrid* Image::getGrid() const { return mData.get(); } template -Grid* Image::getDataT() const +Grid* Image::getGridT() const { return dynamic_cast*>(this->mData.get()); } diff --git a/src/image/Image.h b/src/image/Image.h index 8167ce8..9ebad47 100644 --- a/src/image/Image.h +++ b/src/image/Image.h @@ -32,10 +32,10 @@ public: unsigned getBitDepth() const; unsigned getNumChannels() const; - AbstractGrid* getData() const; + AbstractGrid* getGrid() const; template - Grid* getDataT() const; + Grid* getGridT() const; DataType getType() const; PlatformImage* getPlatformImage(); diff --git a/src/image/ImageBitStream.cpp b/src/image/ImageBitStream.cpp index a433d43..214ef72 100644 --- a/src/image/ImageBitStream.cpp +++ b/src/image/ImageBitStream.cpp @@ -11,7 +11,7 @@ ImageBitStream::ImageBitStream(Image* image) bool ImageBitStream::isFinished() const { - return mByteOffset == mImage->getData()->getDataSize(); + return mByteOffset == mImage->getGrid()->getDataSize(); } std::vector ImageBitStream::peekNextNBytes(unsigned n) const diff --git a/test/image/TestPngWriter.cpp b/test/image/TestPngWriter.cpp index fbc30c5..aca35a2 100644 --- a/test/image/TestPngWriter.cpp +++ b/test/image/TestPngWriter.cpp @@ -4,6 +4,7 @@ #include "File.h" #include "BitStream.h" #include "ByteUtils.h" +#include "Grid.h" #include "ImagePrimitives.h" #include "TestFramework.h" @@ -26,7 +27,7 @@ TEST_CASE(TestCompressedPng, "image") data[idx] = val; } - dynamic_cast*>(image->getData())->setData(data); + image->getGridT()->setData(data); PngWriter writer; writer.setPath(TestUtils::getTestOutputDir() / "test_compressed.png"); @@ -60,7 +61,7 @@ TEST_CASE(TestFixedPng, "image") data[idx] = val; } - dynamic_cast*>(image->getData())->setData(data); + image->getGridT()->setData(data); PngWriter writer; writer.setPath(TestUtils::getTestOutputDir() / "test_fixed.png"); @@ -90,7 +91,7 @@ TEST_CASE(TestDynamicCompressedPng, "image") data[idx] = val; } - dynamic_cast*>(image->getData())->setData(data); + image->getGridT()->setData(data); PngWriter writer; writer.setPath(TestUtils::getTestOutputDir() / "test_dynamic.png");