36 #ifndef boundaryMesh_H 37 #define boundaryMesh_H 66 static const vector splitNormal_;
71 static const scalar distanceTol_;
123 const label startEdgeI,
132 const label maxDistance,
205 <<
"No mesh available. Probably mesh not yet" 226 return featurePoints_;
232 return featureEdges_;
238 return featureToEdge_;
244 return edgeToFeature_;
250 return featureSegments_;
301 label findPatchID(
const word& patchName)
const;
341 const label startFacei,
351 const label startFacei,
353 const label totalNTris,
364 const label startFacei,
366 const label totalNTris,
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
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
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.
#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.
~boundaryMesh()
Destructor.
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()
Construct null.
const labelListList & featureSegments() const
Lists of connected featureEdges. Indices into featureEdges.
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 string.
errorManip< error > abort(error &err)
wordList patchNames() const
Get names of patches.
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 templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
Macro definitions for declaring ClassName(), NamespaceName(), etc.
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
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.
void changeFaces(const labelList &patchIDs, labelList &oldToNew)
Recalculate face ordering and patches. Return old to new.
void operator=(const boundaryMesh &)=delete
Disallow default bitwise assignment.