diff OrthancStone/Sources/Toolbox/SortedFrames.h @ 1630:78509230f0d7

SortedFrames sharing code with CoordinateSystem3D
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 09 Nov 2020 18:01:32 +0100
parents b2941196cabf
children 960bb5fcc440
line wrap: on
line diff
--- a/OrthancStone/Sources/Toolbox/SortedFrames.h	Mon Nov 09 15:14:37 2020 +0100
+++ b/OrthancStone/Sources/Toolbox/SortedFrames.h	Mon Nov 09 18:01:32 2020 +0100
@@ -22,6 +22,7 @@
 
 #pragma once
 
+#include "CoordinateSystem3D.h"
 #include "LinearAlgebra.h"
 
 namespace OrthancStone
@@ -32,13 +33,11 @@
     class Instance : public boost::noncopyable
     {
     private:
-      bool               hasPosition_;
-      Orthanc::DicomMap  tags_;
-      std::string        sopInstanceUid_;
-      unsigned int       numberOfFrames_;
-      Vector             normal_;    // Only used in "Sort()"
-      Vector             position_;  // Only used in "Sort()"
-      bool               monochrome1_;
+      Orthanc::DicomMap   tags_;
+      std::string         sopInstanceUid_;
+      unsigned int        numberOfFrames_;
+      CoordinateSystem3D  geometry_;
+      bool                monochrome1_;
 
     public:
       explicit Instance(const Orthanc::DicomMap& tags);
@@ -58,15 +57,11 @@
         return numberOfFrames_;
       }
 
-      bool HasPosition() const
+      const CoordinateSystem3D& GetGeometry() const
       {
-        return hasPosition_;
+        return geometry_;
       }
 
-      const Vector& GetNormal() const;
-
-      const Vector& GetPosition() const;
-
       bool IsMonochrome1() const
       {
         return monochrome1_;
@@ -164,6 +159,11 @@
       return GetInstance(instanceIndex).GetSopInstanceUid();
     }
 
+    const CoordinateSystem3D& GetInstanceGeometry(size_t instanceIndex) const
+    {
+      return GetInstance(instanceIndex).GetGeometry();
+    }
+
     bool LookupSopInstanceUid(size_t& instanceIndex,
                               const std::string& sopInstanceUid) const;