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

Function filterDisjointPoints

source/MRMesh/MRFeatureRefine.cpp:124–137  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

122}
123
124VertBitSet filterDisjointPoints( const Mesh& mesh, const VertBitSet& selectedPoints, const FaceBitSet& referenceFaces )
125{
126 MR_TIMER;
127
128 const auto selectedFaces = getIncidentFaces( mesh.topology, selectedPoints );
129 const auto components = MeshComponents::getAllComponents( { mesh, &selectedFaces }, MeshComponents::FaceIncidence::PerVertex );
130
131 FaceBitSet result( mesh.topology.lastValidFace() + 1, false );
132 for ( const auto& component : components )
133 if ( component.intersects( referenceFaces ) )
134 result |= component;
135
136 return getIncidentVerts( mesh.topology, result ) & selectedPoints;
137}
138
139VertBitSet filterDisjointPoints( const PointCloud& pointCloud, const VertBitSet& selectedPoints, const VertBitSet& referencePoints, float segmentTolerance )
140{

Callers 1

getRefinedXfFunction · 0.85

Calls 10

getIncidentFacesFunction · 0.85
getIncidentVertsFunction · 0.85
findAvgPointsRadiusFunction · 0.85
diagonalFunction · 0.85
lastValidFaceMethod · 0.80
getAllComponentsFunction · 0.70
intersectsMethod · 0.45
sizeMethod · 0.45
includeMethod · 0.45
containsMethod · 0.45

Tested by

no test coverage detected