OpenFOAM logo
The Open Source CFD Toolbox
  Source Guide OpenCFD Solutions Contact OpenFOAM

booleanSurface Class Reference

Surface-surface intersection. Given two surfaces construct combined surface. More...

Inheritance diagram for booleanSurface:
Collaboration diagram for booleanSurface:

List of all members.


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 labelListfaceMap () 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

Detailed Description

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:

  • all which is in surface1 AND in surface2 (intersection)
  • all which is in surface1 AND NOT in surface2 ('chop' out surface2)
  • all which is in surface1 OR in surface2 (union)

Algorithm:

  1. find edge-surface intersection. Class 'surfaceIntersection'.
  2. combine intersection with both surfaces. Class 'intersectedSurface'.
  3. subset surfaces upto intersection. The 'side' of the surface to include is based on the faces that can be reached from a user-supplied face index.
  4. merge surfaces. Only the points on the intersection are shared.

Source files

Definition at line 64 of file booleanSurface.H.


Member Enumeration Documentation

Enumeration listing the possible volume operator types.

Enumerator:
OR 
AND 
XOR 
ALL 

Definition at line 168 of file booleanSurface.H.


Constructor & Destructor Documentation

booleanSurface (  ) 

Construct null.

Definition at line 374 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 382 of file booleanSurface.C.

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 698 of file booleanSurface.C.


Member Function Documentation

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 217 of file booleanSurface.H.

References Foam::abort(), Foam::FatalError, and FatalErrorIn.

Here is the call graph for this function:

bool from1 ( const label  faceI  )  const [inline]

Definition at line 222 of file booleanSurface.H.

Referenced by booleanSurface::surf1Face().

Here is the caller graph for this function:

bool surf1Face ( const label  faceI  )  const [inline]

Definition at line 227 of file booleanSurface.H.

References Foam::abort(), Foam::FatalError, FatalErrorIn, and booleanSurface::from1().

Here is the call graph for this function:

bool surf2Face ( const label  faceI  )  const [inline]

Definition at line 238 of file booleanSurface.H.


The documentation for this class was generated from the following files:
Copyright © 2000-2009 OpenCFD Ltd