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 };