33 #include "MeshKernel/Definitions.hpp"
34 #include "MeshKernel/Mesh2D.hpp"
35 #include "MeshKernel/UndoActions/UndoAction.hpp"
49 [[nodiscard]] std::unique_ptr<UndoAction>
Compute(
Mesh2D& mesh)
const;
55 UInt GetNeighbour(
const std::array<UInt, 2>& edge,
const UInt elementId)
const;
61 void LabelConnectedRegion(
const Mesh2D& mesh,
const UInt regionId, std::vector<UInt>& elementRegionId,
const UInt unlabledElementId,
UInt& elementCount)
const;
66 void LabelSingleDomainRegion(
const Mesh2D& mesh,
const UInt regionId, std::vector<UInt>& elementRegionId,
UInt& elementCount)
const;
72 void LabelAllDomainRegions(
const Mesh2D& mesh, std::vector<UInt>& elementRegionId, std::vector<std::pair<UInt, UInt>>& regionCount)
const;
75 [[nodiscard]] std::unique_ptr<UndoAction> RemoveDetachedRegions(
Mesh2D& mesh,
const UInt regionId, std::vector<UInt>& elementRegionId,
UInt& numberOfElementsRemoved)
const;