39#ifndef Foam_boundaryMesh_H
40#define Foam_boundaryMesh_H
69 static const vector splitNormal_;
74 static const scalar distanceTol_;
80 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,
371 const label startFacei,
373 const label totalNTris,
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
A list of faces which address into the list of points.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Addressing for all faces on surface of mesh. Can either be read from polyMesh or from triSurface....
void addPatch(const word &patchName)
Add to back of patch list.
void writeTriSurface(const fileName &) const
Write to file.
const edgeList & featureEdges() const
Feature edges. Indices into featurePoints.
void setFeatureEdges(const scalar minCos)
Set featureEdges, edgeToFeature, featureSegments according.
label getNTris(const label facei) const
Simple triangulation of face subset. Returns number of triangles.
void setExtraEdges(const label edgeI)
Set extraEdges to edges 'near' to edgeI. Uses point-edge walk.
void readTriSurface(const fileName &)
Read from triSurface.
void triangulate(const label startFacei, const label nFaces, const label totalNTris, labelList &triVerts) const
Simple triangulation of face subset. TotalNTris is total number.
void deletePatch(const word &patchName)
Delete from patch list.
wordList patchNames() const
Get names of patches.
~boundaryMesh()=default
Destructor.
const PtrList< boundaryPatch > & patches() const
boundaryMesh()
Default construct.
void triangulateLocal(const label startFacei, const label nFaces, const label totalNTris, labelList &triVerts, labelList &localToGlobal) const
Same as triangulate but in local vertex numbering.
labelList getNearest(const primitiveMesh &pMesh, const vector &searchSpan) const
Get bMesh index of nearest face for every boundary face in.
const labelListList & featureSegments() const
Lists of connected featureEdges. Indices into featureEdges.
const labelList & extraEdges() const
Indices into edges of additional edges.
const labelList & edgeToFeature() const
From edge into featureEdges.
const bMesh & mesh() const
void changeFaces(const labelList &patchIDs, labelList &oldToNew)
Recalculate face ordering and patches. Return old to new.
const labelList & meshFace() const
Label of original face in polyMesh (before patchify(...))
const pointField & featurePoints() const
Feature points.
label getNPoints(const label startFacei, const label nFaces) const
Number of points used in face subset.
void markFaces(const labelList &protectedEdges, const label facei, boolList &visited) const
void read(const polyMesh &)
Read from boundaryMesh of polyMesh.
const labelList & featureToEdge() const
From index into featureEdge to index into meshedges,.
void patchify(const labelList &nearest, const polyBoundaryMesh &oldPatches, polyMesh &newMesh) const
Take over patches onto polyMesh from nearest face in *this.
void changePatchType(const word &patchName, const word &type)
Change patch.
ClassName("boundaryMesh")
Runtime type information.
A subset of mesh faces organised as a primitive patch.
A class for handling file names.
A polyBoundaryMesh is a polyPatch list with additional search methods and registered IO.
Mesh consisting of general polyhedral cells.
Cell-face mesh analysis engine.
A class for handling words, derived from Foam::string.
Macro definitions for declaring ClassName(), NamespaceName(), etc.
#define ClassName(TypeNameString)
Add typeName information from argument TypeNameString to a class.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
const labelList nFaces(UPstream::listGatherValues< label >(aMesh.nFaces()))
scalar distance(const vector &p1, const vector &p2)
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
errorManip< error > abort(error &err)