diff OrthancStone/Sources/Loaders/DicomStructureSetLoader.cpp @ 1896:b3c08e607d9f

simplified signature of DicomStructureSet::ProjectStructure()
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 26 Jan 2022 17:19:37 +0100
parents 14c8f339d480
children 07964689cb0b
line wrap: on
line diff
--- a/OrthancStone/Sources/Loaders/DicomStructureSetLoader.cpp	Wed Jan 19 14:51:55 2022 +0100
+++ b/OrthancStone/Sources/Loaders/DicomStructureSetLoader.cpp	Wed Jan 26 17:19:37 2022 +0100
@@ -366,45 +366,10 @@
 
       for (size_t i = 0; i < content_.GetStructuresCount(); i++)
       {
-        if ((visibility_.size() == 0) || visibility_.at(i))
+        if (visibility_.size() == 0 ||
+            visibility_.at(i))
         {
-          const Color& color = content_.GetStructureColor(i);
-
-#if USE_BOOST_UNION_FOR_POLYGONS == 1
-          std::vector< std::vector<ScenePoint2D> > polygons;
-          
-          if (content_.ProjectStructure(polygons, i, cuttingPlane))
-          {
-            for (size_t j = 0; j < polygons.size(); j++)
-            {
-              PolylineSceneLayer::Chain chain;
-              chain.resize(polygons[j].size());
-              
-              for (size_t k = 0; k < polygons[j].size(); k++)
-              {
-                chain[k] = ScenePoint2D(polygons[j][k].GetX(), polygons[j][k].GetY());
-              }
-              
-              layer->AddChain(chain, true /* closed */, color);
-            }
-          }
-#else
-          std::vector< std::pair<ScenePoint2D, ScenePoint2D> > segments;
-
-          if (content_.ProjectStructure(segments, i, cuttingPlane))
-          {
-            for (size_t j = 0; j < segments.size(); j++)
-            {
-              PolylineSceneLayer::Chain chain;
-              chain.resize(2);
-
-              chain[0] = ScenePoint2D(segments[j].first.GetX(), segments[j].first.GetY());
-              chain[1] = ScenePoint2D(segments[j].second.GetX(), segments[j].second.GetY());
-
-              layer->AddChain(chain, false /* NOT closed */, color);
-            }
-          }
-#endif        
+          content_.ProjectOntoLayer(*layer, cuttingPlane, i, content_.GetStructureColor(i));
         }
       }