diff OrthancServer/SliceOrdering.h @ 1703:b80e76dd1d56 db-changes

ordered-slices continued
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 13 Oct 2015 16:10:35 +0200
parents 9980875edc7c
children b1291df2f780
line wrap: on
line diff
--- a/OrthancServer/SliceOrdering.h	Mon Oct 12 17:49:23 2015 +0200
+++ b/OrthancServer/SliceOrdering.h	Tue Oct 13 16:10:35 2015 +0200
@@ -42,12 +42,17 @@
     typedef float Vector[3];
 
     struct Instance;
+    struct PositionComparator;
 
     ServerIndex&             index_;
     std::string              seriesId_;
     bool                     hasNormal_;
     Vector                   normal_;
     std::vector<Instance*>   instances_;
+    bool                     isVolume_;
+
+    static bool IndexInSeriesComparator(const SliceOrdering::Instance* a,
+                                        const SliceOrdering::Instance* b);
 
     void ComputeNormal();
 
@@ -55,10 +60,23 @@
 
     bool SortUsingPositions();
 
+    bool SortUsingIndexInSeries();
+
   public:
     SliceOrdering(ServerIndex& index,
                   const std::string& seriesId);
 
     ~SliceOrdering();
+
+    size_t  GetInstancesCount() const
+    {
+      return instances_.size();
+    }
+
+    const std::string& GetInstanceId(size_t index) const;
+
+    unsigned int GetFramesCount(size_t index) const;
+
+    void Format(Json::Value& result) const;
   };
 }