diff --git a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/files b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/files index be2c8d6975..28ac7de544 100644 --- a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/files +++ b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/Make/files @@ -1,4 +1,3 @@ -patchPointEdgeCirculator.C createShellMesh.C extrudeToRegionMesh.C diff --git a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/createShellMesh.C b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/createShellMesh.C index 935b30a5bd..6bfe6ca62e 100644 --- a/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/createShellMesh.C +++ b/applications/utilities/mesh/generation/extrude/extrudeToRegionMesh/createShellMesh.C @@ -31,130 +31,381 @@ License #include "polyAddFace.H" #include "polyModifyFace.H" #include "polyAddCell.H" -#include "patchPointEdgeCirculator.H" +#include "labelPair.H" +#include "indirectPrimitivePatch.H" +#include "mapDistribute.H" +#include "globalMeshData.H" +#include "PatchTools.H" +#include "globalIndex.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // defineTypeNameAndDebug(Foam::createShellMesh, 0); +namespace Foam +{ +template<> +class minEqOp +{ +public: + void operator()(labelPair& x, const labelPair& y) const + { + x[0] = min(x[0], y[0]); + x[1] = min(x[1], y[1]); + } +}; +} + // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -void Foam::createShellMesh::calcPointRegions +// Synchronise edges +void Foam::createShellMesh::syncEdges ( - const primitiveFacePatch& patch, - const PackedBoolList& nonManifoldEdge, - faceList& pointRegions, - labelList& regionPoints + const globalMeshData& globalData, + + const labelList& patchEdges, + const labelList& coupledEdges, + const PackedBoolList& sameEdgeOrientation, + + PackedBoolList& isChangedEdge, + DynamicList