Mercurial > hg > orthanc-stone
diff Samples/Sdl/Loader.cpp @ 683:dbc1d8bfc68a
reorganizing ImageBuffer3D
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 16 May 2019 16:01:36 +0200 |
parents | 9723fceccb9f |
children | 7719eb852dd5 |
line wrap: on
line diff
--- a/Samples/Sdl/Loader.cpp Thu May 16 14:26:11 2019 +0200 +++ b/Samples/Sdl/Loader.cpp Thu May 16 16:01:36 2019 +0200 @@ -25,8 +25,9 @@ #include "../../Framework/Messages/MessageBroker.h" #include "../../Framework/StoneInitialization.h" #include "../../Framework/Toolbox/GeometryToolbox.h" +#include "../../Framework/Toolbox/SlicesSorter.h" #include "../../Framework/Volumes/ImageBuffer3D.h" -#include "../../Framework/Toolbox/SlicesSorter.h" +#include "../../Framework/Scene2D/ScenePoint2D.h" // From Orthanc framework #include <Core/Compression/GzipCompressor.h> @@ -44,8 +45,8 @@ #include <Core/Logging.h> #include <Core/MultiThreading/SharedMessageQueue.h> #include <Core/OrthancException.h> +#include <Core/SystemToolbox.h> #include <Core/Toolbox.h> -#include <Core/SystemToolbox.h> #include <json/reader.h> #include <json/value.h> @@ -101,6 +102,17 @@ + class IVolumeSlicer : public boost::noncopyable + { + public: + virtual ~IVolumeSlicer() + { + } + + virtual void SetViewportPlane(const OrthancStone::CoordinateSystem3D& plane) = 0; + }; + + class OracleCommandWithPayload : public IOracleCommand { @@ -1444,11 +1456,11 @@ slices.AddSlice(geometry, instance.release()); } - that_.image_.SetGeometry(slices); + that_.volume_.SetGeometry(slices); - for (size_t i = 0; i < that_.image_.GetSlicesCount(); i++) + for (size_t i = 0; i < that_.volume_.GetSlicesCount(); i++) { - const DicomInstanceParameters& slice = that_.image_.GetSliceParameters(i); + const DicomInstanceParameters& slice = that_.volume_.GetSliceParameters(i); const std::string& instance = slice.GetOrthancInstanceIdentifier(); if (instance.empty()) @@ -1490,7 +1502,7 @@ #endif command->SetExpectedPixelFormat(slice.GetExpectedPixelFormat()); - command->SetPayload(new LoadSliceImage(that_.image_, i)); + command->SetPayload(new LoadSliceImage(that_.volume_, i)); that_.oracle_.Schedule(that_, command.release()); } @@ -1521,7 +1533,7 @@ IOracle& oracle_; bool active_; - DicomVolumeImage image_; + DicomVolumeImage volume_; public: VolumeSeriesOrthancLoader(IOracle& oracle,