Go to the documentation of this file.
49 #ifndef booleanSurface_H
50 #define booleanSurface_H
52 #include "triSurface.H"
62 class triSurfaceSearch;
63 class intersectedSurface;
102 const label includedFace
138 const label prevVert0,
139 const label prevFaceI,
140 const label prevState,
150 const label prevState,
192 const label includeFace1,
193 const label includeFace2
204 const label booleanOp
227 <<
"face " << faceI <<
" not from surface 1"
238 <<
"face " << faceI <<
" not from surface 2"
static void propagateEdgeSide(const triSurface &surf, const label prevVert0, const label prevFaceI, const label prevState, const label edgeI, labelList &side)
On edgeI, coming from face prevFace, determines visibility/side of.
const edgeList & edges() const
Return list of edges, address into LOCAL point list.
bool from1(const label faceI) const
ClassName("booleanSurface")
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
static geometricSurfacePatchList mergePatches(const triSurface &surf1, const triSurface &surf2, labelList &patchMap2)
Generate combined patchList (returned). Sets patchMap to map from.
booleanOpType
Enumeration listing the possible volume operator types.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Given triSurface and intersection creates the intersected (properly triangulated) surface....
Basic surface-surface intersection description. Constructed from two surfaces it creates a descriptio...
Triangulated surface description with patch information.
A subset of mesh faces organised as a primitive patch.
static label index(const labelList &elems, const label elem)
Get label in elems of elem.
Surface-surface intersection. Given two surfaces construct combined surface.
const labelList & faceMap() const
New to old face map. >0: surface 1 face label. <0: surface 2. Negate.
static label findNearest(const triSurface &surf, const labelList &faceZone, const label zoneI)
Get index of face in zoneI whose faceCentre is nearest farAwayPoint.
errorManip< error > abort(error &err)
const double e
Elementary charge.
static void propagateSide(const triSurface &surf, const label prevState, const label faceI, labelList &side)
Given in/outside status of face determines status for all.
static const NamedEnum< booleanOpType, 4 > booleanOpTypeNames
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
labelList faceMap_
From new to old face + surface:
static void checkIncluded(const intersectedSurface &surf, const labelList &faceZone, const label includedFace)
Check whether subset of faces (from markZones) reaches up to.
bool surf1Face(const label faceI) const
booleanSurface()
Construct null.
sideStat
Enumeration listing the status of a face (visible/invisible from.
bool surf2Face(const label faceI) const
static label findEdge(const edgeList &edges, const labelList &edgeLabels, const edge &e)
Find index of edge e in subset edgeLabels.