Mercurial > hg > orthanc-stone
comparison Framework/Loaders/DicomStructureSetLoader.cpp @ 1000:50e5acf5553b
changed RTSTRUCT rendering from polygons to segments
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Fri, 20 Sep 2019 11:59:29 +0200 |
parents | c20dbaab360c |
children | 4f28d9459e31 |
comparison
equal
deleted
inserted
replaced
999:2d69b8bee484 | 1000:50e5acf5553b |
---|---|
241 | 241 |
242 for (size_t i = 0; i < content_.GetStructuresCount(); i++) | 242 for (size_t i = 0; i < content_.GetStructuresCount(); i++) |
243 { | 243 { |
244 const Color& color = content_.GetStructureColor(i); | 244 const Color& color = content_.GetStructureColor(i); |
245 | 245 |
246 std::vector< std::vector<DicomStructureSet::PolygonPoint2D> > polygons; | 246 #ifdef USE_OLD_SJO_CUT_CODE |
247 std::vector< std::vector<Point2D> > polygons; | |
247 | 248 |
248 if (content_.ProjectStructure(polygons, i, cuttingPlane)) | 249 if (content_.ProjectStructure(polygons, i, cuttingPlane)) |
249 { | 250 { |
250 for (size_t j = 0; j < polygons.size(); j++) | 251 for (size_t j = 0; j < polygons.size(); j++) |
251 { | 252 { |
252 PolylineSceneLayer::Chain chain; | 253 PolylineSceneLayer::Chain chain; |
253 chain.resize(polygons[j].size()); | 254 chain.resize(polygons[j].size()); |
254 | 255 |
255 for (size_t k = 0; k < polygons[j].size(); k++) | 256 for (size_t k = 0; k < polygons[j].size(); k++) |
256 { | 257 { |
257 chain[k] = ScenePoint2D(polygons[j][k].first, polygons[j][k].second); | 258 chain[k] = ScenePoint2D(polygons[j][k].x, polygons[j][k].y); |
258 } | 259 } |
259 | 260 |
260 layer->AddChain(chain, true /* closed */, color); | 261 layer->AddChain(chain, true /* closed */, color); |
261 } | 262 } |
262 } | 263 } |
264 #else | |
265 std::vector< std::pair<Point2D, Point2D> > segments; | |
266 | |
267 if (content_.ProjectStructure(segments, i, cuttingPlane)) | |
268 { | |
269 for (size_t j = 0; j < segments.size(); j++) | |
270 { | |
271 PolylineSceneLayer::Chain chain; | |
272 chain.resize(2); | |
273 | |
274 chain[0] = ScenePoint2D(segments[j].first.x, segments[j].first.y); | |
275 chain[1] = ScenePoint2D(segments[j].second.x, segments[j].second.y); | |
276 | |
277 layer->AddChain(chain, false /* NOT closed */, color); | |
278 } | |
279 } | |
280 #endif | |
263 } | 281 } |
264 | 282 |
265 return layer.release(); | 283 return layer.release(); |
266 } | 284 } |
267 }; | 285 }; |