30 #include "PatchTools.H"
36 namespace searchableSurfaceModifiers
41 searchableSurfaceModifier,
52 const searchableSurfaces& geometry,
53 const dictionary&
dict
56 searchableSurfaceModifier(geometry,
dict),
72 searchableSurface& geom
75 triSurface& surf = refCast<triSurfaceMesh>(geom);
77 surfaceFeatures set(surf, 180.0-featureAngle_);
80 <<
"Feature set:" <<
nl
81 <<
" feature points : " << set.featurePoints().size() <<
nl
82 <<
" feature edges : " << set.featureEdges().size() <<
nl
84 <<
" region edges : " << set.nRegionEdges() <<
nl
85 <<
" external edges : " << set.nExternalEdges() <<
nl
86 <<
" internal edges : " << set.nInternalEdges() <<
nl
91 boolList borderEdge(surf.nEdges(),
false);
92 forAll(set.featureEdges(), i)
94 borderEdge[set.featureEdges()[i]] =
true;
102 label regionI = regions[i];
109 if (surf[faceI].region() == regionI && subRegion[faceI] == -1)
116 Info<<
"For region " << surf.patches()[regionI].name()
117 <<
" detected sub regions " << nSub <<
endl;
122 label nOldPatches = surf.patches().size();
124 for (
label subI = 0; subI < nSub; subI++)
126 geometricSurfacePatch patch
128 surf.patches()[regionI].geometricType(),
129 surf.patches()[regionI].name() +
Foam::name(subI),
130 surf.patches().size()
134 Info<<
"For region " << surf.patches()[regionI].name()
135 <<
" creating region " << patch.name() <<
endl;
137 surf.patches().append(patch);
142 if (subRegion[faceI] != -1)
144 surf[faceI].region() = nOldPatches + subRegion[faceI];