Mercurial > hg > orthanc-stone
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)); } }