39 #ifndef Foam_boundaryMesh_H 40 #define Foam_boundaryMesh_H 69 static const vector splitNormal_;
74 static const scalar distanceTol_;
80 std::unique_ptr<bMesh> meshPtr_;
117 label nFeatureEdges(label pointi)
const;
120 label nextFeatureEdge(
const label edgeI,
const label vertI)
const;
126 const label startEdgeI,
135 const label maxDistance,
212 <<
"No mesh available. Probably mesh not yet read\n" 233 return featurePoints_;
239 return featureEdges_;
245 return featureToEdge_;
251 return edgeToFeature_;
257 return featureSegments_;
305 label whichPatch(
const label facei)
const;
308 label findPatchID(
const word& patchName)
const;
342 label
getNTris(
const label facei)
const;
348 const label startFacei,
358 const label startFacei,
360 const label totalNTris,
365 label
getNPoints(
const label startFacei,
const label nFaces)
const;
371 const label startFacei,
373 const label totalNTris,
const labelList patchIDs(pbm.indices(polyPatchNames, true))
void addPatch(const word &patchName)
Add to back of patch list.
const edgeList & featureEdges() const
Feature edges. Indices into featurePoints.
const PtrList< boundaryPatch > & patches() const
A class for handling file names.
void read(const polyMesh &)
Read from boundaryMesh of polyMesh.
void setFeatureEdges(const scalar minCos)
Set featureEdges, edgeToFeature, featureSegments according.
label getNPoints(const label startFacei, const label nFaces) const
Number of points used in face subset.
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Cell-face mesh analysis engine.
void triangulate(const label startFacei, const label nFaces, const label totalNTris, labelList &triVerts) const
Simple triangulation of face subset. TotalNTris is total number.
Addressing for all faces on surface of mesh. Can either be read from polyMesh or from triSurface...
label getNTris(const label facei) const
Simple triangulation of face subset. Returns number of triangles.
void writeTriSurface(const fileName &) const
Write to file.
void patchify(const labelList &nearest, const polyBoundaryMesh &oldPatches, polyMesh &newMesh) const
Take over patches onto polyMesh from nearest face in *this.
scalar distance(const vector &p1, const vector &p2)
labelList getNearest(const primitiveMesh &pMesh, const vector &searchSpan) const
Get bMesh index of nearest face for every boundary face in.
void markFaces(const labelList &protectedEdges, const label facei, boolList &visited) const
const labelList & featureToEdge() const
From index into featureEdge to index into meshedges,.
void changePatchType(const word &patchName, const word &type)
Change patch.
void deletePatch(const word &patchName)
Delete from patch list.
boundaryMesh()
Default construct.
const labelListList & featureSegments() const
Lists of connected featureEdges. Indices into featureEdges.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
A list of faces which address into the list of points.
ClassName("boundaryMesh")
Runtime type information.
const labelList & meshFace() const
Label of original face in polyMesh (before patchify(...))
A class for handling words, derived from Foam::string.
errorManip< error > abort(error &err)
wordList patchNames() const
Get names of patches.
A polyBoundaryMesh is a polyPatch list with additional search methods and registered IO...
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
const labelList & extraEdges() const
Indices into edges of additional edges.
const pointField & featurePoints() const
Feature points.
void setExtraEdges(const label edgeI)
Set extraEdges to edges 'near' to edgeI. Uses point-edge walk.
void readTriSurface(const fileName &)
Read from triSurface.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
Macro definitions for declaring ClassName(), NamespaceName(), etc.
void triangulateLocal(const label startFacei, const label nFaces, const label totalNTris, labelList &triVerts, labelList &localToGlobal) const
Same as triangulate but in local vertex numbering.
Mesh consisting of general polyhedral cells.
A subset of mesh faces organised as a primitive patch.
const bMesh & mesh() const
const labelList & edgeToFeature() const
From edge into featureEdges.
~boundaryMesh()=default
Destructor.
void changeFaces(const labelList &patchIDs, labelList &oldToNew)
Recalculate face ordering and patches. Return old to new.