MCPcopy Create free account
hub / github.com/MeshInspector/MeshLib / extract

Method extract

source/MRMesh/MRExtractIsolines.cpp:228–248  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

226}
227
228IsoLines Isoliner::extract()
229{
230 MR_TIMER;
231 activeEdges_.clear();
232 activeEdges_.resize( topology_.undirectedEdgeSize() );
233 BitSetParallelForAll( activeEdges_, [&]( UndirectedEdgeId ue )
234 {
235 VertId o = topology_.org( ue );
236 if ( !o )
237 return;
238 VertId d = topology_.dest( ue );
239 if ( !d )
240 return;
241 auto no = negativeVerts_.test( o );
242 auto nd = negativeVerts_.test( d );
243 if ( no != nd && ( !region_ || contains( *region_, topology_.left( ue ) ) || contains( *region_, topology_.right( ue ) ) ) )
244 activeEdges_.set( ue );
245 } );
246
247 return extract_();
248}
249
250IsoLines Isoliner::extract_()
251{

Callers 3

extractIsolinesFunction · 0.80
extractPlaneSectionsFunction · 0.80
extractXYPlaneSectionsFunction · 0.80

Calls 13

BitSetParallelForAllFunction · 0.85
BitSetParallelForFunction · 0.85
leftMethod · 0.80
rightMethod · 0.80
containsFunction · 0.70
clearMethod · 0.45
resizeMethod · 0.45
undirectedEdgeSizeMethod · 0.45
orgMethod · 0.45
destMethod · 0.45
testMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected