Surface-surface intersection. Given two surfaces construct combined surface. More...
#include <meshTools/booleanSurface.H>
Surface-surface intersection. Given two surfaces construct combined surface.
Called 'boolean' since the volume of resulting surface will encompass the volumes of the original surface according to some boolean operation:
Algorithm:
Definition at line 69 of file booleanSurface.H.
Public Types | |
enum | booleanOpType { OR, AND, XOR, ALL } |
Enumeration listing the possible volume operator types. More... | |
Public Member Functions | |
ClassName ("booleanSurface") | |
booleanSurface () | |
Construct null.
| |
booleanSurface (const triSurface &surf1, const triSurface &surf2, const surfaceIntersection &inter, const label includeFace1, const label includeFace2) | |
Construct from surfaces and face labels to keep.
| |
booleanSurface (const triSurface &surf1, const triSurface &surf2, const surfaceIntersection &inter, const label booleanOp) | |
Construct from surfaces and operation. Surfaces need to be closed.
| |
const labelList & | faceMap () const |
new to old face map. >0: surface 1 face label. <0: surface 2. Negate
| |
bool | from1 (const label faceI) const |
bool | surf1Face (const label faceI) const |
bool | surf2Face (const label faceI) const |
enum booleanOpType |
Enumeration listing the possible volume operator types.
Definition at line 161 of file booleanSurface.H.
booleanSurface | ( | ) |
Construct null.
Definition at line 381 of file booleanSurface.C.
booleanSurface | ( | const triSurface & | surf1, |
const triSurface & | surf2, | ||
const surfaceIntersection & | inter, | ||
const label | includeFace1, | ||
const label | includeFace2 | ||
) |
Construct from surfaces and face labels to keep.
Walks from provided seed faces without crossing intersection line to determine faces to keep.
Definition at line 389 of file booleanSurface.C.
References Foam::endl(), Foam::exit(), f(), intersectedSurface::faceMap(), Foam::FatalError, FatalErrorIn, forAll, intersectedSurface::intersectionEdges(), intersectedSurface::isSurfacePoint(), triSurface::markZones(), PrimitivePatch< Face, FaceList, PointField, PointType >::nEdges(), PrimitivePatch< Face, FaceList, PointField, PointType >::nPoints(), intersectedSurface::nSurfacePoints(), UList< labelledTri >::operator, Foam::Pout, List< T >::setSize(), List< T >::size(), triSurface::subsetMesh(), triSurface::write(), and triSurface::writeStats().
booleanSurface | ( | const triSurface & | surf1, |
const triSurface & | surf2, | ||
const surfaceIntersection & | inter, | ||
const label | booleanOp | ||
) |
Construct from surfaces and operation. Surfaces need to be closed.
for this to make any sense since uses inside/outside to determine which part of combined surface to include.
Definition at line 705 of file booleanSurface.C.
References booleanSurface::ALL, booleanSurface::AND, PointHit< Point >::distance(), PrimitivePatch< Face, FaceList, PointField, PointType >::edgeFaces(), PrimitivePatch< Face, FaceList, PointField, PointType >::edges(), Foam::endl(), Foam::exit(), f(), intersectedSurface::faceMap(), Foam::FatalError, FatalErrorIn, forAll, intersectedSurface::isSurfacePoint(), PrimitivePatch< Face, FaceList, PointField, PointType >::localPoints(), Foam::nl, PrimitivePatch< Face, FaceList, PointField, PointType >::nPoints(), intersectedSurface::nSurfacePoints(), triSurface::operator=(), booleanSurface::OR, PrimitivePatch< Face, FaceList, PointField, PointType >::points(), Foam::Pout, PointHit< Point >::rawPoint(), labelledTri::region(), List< T >::setSize(), List< T >::size(), triSurface::subsetMesh(), WarningIn, triSurface::write(), triSurface::writeStats(), and Vector< Cmpt >::zero.
ClassName | ( | "booleanSurface" | ) |
const labelList& faceMap | ( | ) | const [inline]
|
new to old face map. >0: surface 1 face label. <0: surface 2. Negate
and subtract 1 to get face label on surface 2.
Definition at line 204 of file booleanSurface.H.
bool from1 | ( | const label | faceI ) | const [inline]
|
Definition at line 209 of file booleanSurface.H.
Referenced by booleanSurface::surf1Face(), and booleanSurface::surf2Face().
bool surf1Face | ( | const label | faceI ) | const [inline]
|
Definition at line 214 of file booleanSurface.H.
References Foam::abort(), Foam::FatalError, FatalErrorIn, and booleanSurface::from1().
bool surf2Face | ( | const label | faceI ) | const [inline]
|
Definition at line 225 of file booleanSurface.H.
References Foam::abort(), Foam::FatalError, FatalErrorIn, and booleanSurface::from1().