| 22 | /// 2. the total number of roots/regions |
| 23 | template<typename T> |
| 24 | static std::pair<Vector<RegionId, Id<T>>, int> getUniqueRootIds( const Vector<Id<T>, Id<T>>& allRoots, const TaggedBitSet<T>& region ) |
| 25 | { |
| 26 | MR_TIMER; |
| 27 | Vector<RegionId, Id<T>> uniqueRootsMap( allRoots.size() ); |
| 28 | int k = 0; |
| 29 | for ( auto f : region ) |
| 30 | { |
| 31 | auto& uniqIndex = uniqueRootsMap[allRoots[f]]; |
| 32 | if ( uniqIndex < 0 ) |
| 33 | { |
| 34 | uniqIndex = RegionId( k ); |
| 35 | ++k; |
| 36 | } |
| 37 | uniqueRootsMap[f] = uniqIndex; |
| 38 | } |
| 39 | return { std::move( uniqueRootsMap ), k }; |
| 40 | } |
| 41 | |
| 42 | FaceBitSet getComponent( const MeshPart& meshPart, FaceId id, FaceIncidence incidence, const UndirectedEdgeBitSet * isCompBd ) |
| 43 | { |
no test coverage detected