Go to the documentation of this file.
36 #ifndef boundaryMesh_H
37 #define boundaryMesh_H
40 #include "boundaryPatch.H"
122 const label startEdgeI,
131 const label maxDistance,
208 <<
"No mesh available. Probably mesh not yet"
344 const label startFaceI,
354 const label startFaceI,
356 const label totalNTris,
367 const label startFaceI,
369 const label totalNTris,
const bMesh & mesh() const
ClassName("boundaryMesh")
Runtime type information.
boundaryMesh()
Construct null.
void triangulateLocal(const label startFaceI, const label nFaces, const label totalNTris, labelList &triVerts, labelList &localToGlobal) const
Same as triangulate but in local vertex numbering.
A class for handling words, derived from string.
const labelListList & featureSegments() const
Lists of connected featureEdges. Indices into featureEdges.
A class for handling file names.
~boundaryMesh()
Destructor.
label whichPatch(const polyPatchList &, const label) const
Get index of patch for face.
static const scalar distanceTol_
Distance to face tolerance for getNearest. Triangles are considered.
label nFeatureEdges(label pointI) const
Number of connected feature edges.
labelList meshFace_
For every face in mesh() gives corresponding polyMesh face.
const PtrList< boundaryPatch > & patches() const
const labelList & extraEdges() const
Indices into edges of additional edges.
edgeList featureEdges_
Feature edges. Indices into featurePoints.
labelList edgeToFace(const label region, const labelList &changedEdges, labelList &faceRegion) const
Reverse of faceToEdge: gets edges and returns faces.
wordList patchNames() const
Get names of patches.
bMesh * meshPtr_
All boundary mesh data. Reconstructed every time faces are repatched.
const edgeList & featureEdges() const
Feature edges. Indices into featurePoints.
Mesh consisting of general polyhedral cells.
const labelList & meshFace() const
Label of original face in polyMesh (before patchify(...))
labelList extraEdges_
Additional edges (indices of mesh edges)
void changeFaces(const labelList &patchIDs, labelList &oldToNew)
Recalculate face ordering and patches. Return old to new.
label getNPoints(const label startFaceI, const label nFaces) const
Number of points used in face subset.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pre-declare SubField and related Field type.
A subset of mesh faces organised as a primitive patch.
void writeTriSurface(const fileName &) const
Write to file.
Macro definitions for declaring ClassName(), NamespaceName(), etc.
void markFaces(const labelList &protectedEdges, const label faceI, boolList &visited) const
labelList featureToEdge_
From feature edge to mesh edge.
void addPatch(const word &patchName)
Add to back of patch list.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
void read(const polyMesh &)
Read from boundaryMesh of polyMesh.
const labelList & featureToEdge() const
From index into featureEdge to index into meshedges,.
pointField featurePoints_
Points referenced by feature edges.
label nextFeatureEdge(const label edgeI, const label vertI) const
Step to next feature edge.
errorManip< error > abort(error &err)
labelListList featureSegments_
Feature 'segments'. Collections of connected featureEdges.
static const vector splitNormal_
Normal along which to divide faces into categories.
void readTriSurface(const fileName &)
Read from triSurface.
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 setFeatureEdges(const scalar minCos)
Set featureEdges, edgeToFeature, featureSegments according.
const pointField & featurePoints() const
Feature points.
PtrList< boundaryPatch > patches_
Patches. Reconstructed every time faces are repatched.
label getNTris(const label faceI) const
Simple triangulation of face subset. Returns number of triangles.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
void patchify(const labelList &nearest, const polyBoundaryMesh &oldPatches, polyMesh &newMesh) const
Take over patches onto polyMesh from nearest face in *this.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Addressing for all faces on surface of mesh. Can either be read from polyMesh or from triSurface....
labelList collectSegment(const boolList &isFeaturePoint, const label startEdgeI, boolList &featVisited) const
Return connected list of feature edges.
label findPatchID(const polyPatchList &, const word &) const
Get index of polypatch by name.
void setExtraEdges(const label edgeI)
Set extraEdges to edges 'near' to edgeI. Uses point-edge walk.
void triangulate(const label startFaceI, const label nFaces, const label totalNTris, labelList &triVerts) const
Simple triangulation of face subset. TotalNTris is total number.
const labelList & edgeToFeature() const
From edge into featureEdges.
void deletePatch(const word &patchName)
Delete from patch list.
fileName::Type type(const fileName &)
Return the file type: DIRECTORY or FILE.
void operator=(const boundaryMesh &)
Disallow default bitwise assignment.
void markEdges(const label maxDistance, const label edgeI, const label distance, labelList &minDistance, DynamicList< label > &visited) const
Do point-edge walk to determine nearest (to edgeI). Stops if.
labelList faceToEdge(const boolList ®ionEdge, const label region, const labelList &changedFaces, labelList &edgeRegion) const
Gets labels of changed faces and propagates them to the edges.
void changePatchType(const word &patchName, const word &type)
Change patch.
A list of faces which address into the list of points.
void markZone(const boolList &borderEdge, label faceI, label currentZone, labelList &faceZone) const
Finds area, starting at faceI, delimited by borderEdge. Marks all.
labelList edgeToFeature_
From mesh edges to featureEdges_;.
Cell-face mesh analysis engine.