Mercurial > hg > orthanc-stone
comparison 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 |
comparison
equal
deleted
inserted
replaced
1895:14c8f339d480 | 1896:b3c08e607d9f |
---|---|
364 } | 364 } |
365 #endif | 365 #endif |
366 | 366 |
367 for (size_t i = 0; i < content_.GetStructuresCount(); i++) | 367 for (size_t i = 0; i < content_.GetStructuresCount(); i++) |
368 { | 368 { |
369 if ((visibility_.size() == 0) || visibility_.at(i)) | 369 if (visibility_.size() == 0 || |
370 visibility_.at(i)) | |
370 { | 371 { |
371 const Color& color = content_.GetStructureColor(i); | 372 content_.ProjectOntoLayer(*layer, cuttingPlane, i, content_.GetStructureColor(i)); |
372 | |
373 #if USE_BOOST_UNION_FOR_POLYGONS == 1 | |
374 std::vector< std::vector<ScenePoint2D> > polygons; | |
375 | |
376 if (content_.ProjectStructure(polygons, i, cuttingPlane)) | |
377 { | |
378 for (size_t j = 0; j < polygons.size(); j++) | |
379 { | |
380 PolylineSceneLayer::Chain chain; | |
381 chain.resize(polygons[j].size()); | |
382 | |
383 for (size_t k = 0; k < polygons[j].size(); k++) | |
384 { | |
385 chain[k] = ScenePoint2D(polygons[j][k].GetX(), polygons[j][k].GetY()); | |
386 } | |
387 | |
388 layer->AddChain(chain, true /* closed */, color); | |
389 } | |
390 } | |
391 #else | |
392 std::vector< std::pair<ScenePoint2D, ScenePoint2D> > segments; | |
393 | |
394 if (content_.ProjectStructure(segments, i, cuttingPlane)) | |
395 { | |
396 for (size_t j = 0; j < segments.size(); j++) | |
397 { | |
398 PolylineSceneLayer::Chain chain; | |
399 chain.resize(2); | |
400 | |
401 chain[0] = ScenePoint2D(segments[j].first.GetX(), segments[j].first.GetY()); | |
402 chain[1] = ScenePoint2D(segments[j].second.GetX(), segments[j].second.GetY()); | |
403 | |
404 layer->AddChain(chain, false /* NOT closed */, color); | |
405 } | |
406 } | |
407 #endif | |
408 } | 373 } |
409 } | 374 } |
410 | 375 |
411 return layer.release(); | 376 return layer.release(); |
412 } | 377 } |