| 122 | } |
| 123 | |
| 124 | VertBitSet 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 | |
| 139 | VertBitSet filterDisjointPoints( const PointCloud& pointCloud, const VertBitSet& selectedPoints, const VertBitSet& referencePoints, float segmentTolerance ) |
| 140 | { |
no test coverage detected