FreeFOAM The Cross-Platform CFD Toolkit
Hosted by SourceForge:
Get FreeFOAM at SourceForge.net.
            Fast, secure and Free Open Source software downloads

booleanSurface Class Reference

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

#include <meshTools/booleanSurface.H>


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

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 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

Member Enumeration Documentation

Enumeration listing the possible volume operator types.

Enumerator:
OR 
AND 
XOR 
ALL 

Definition at line 161 of file booleanSurface.H.


Constructor & Destructor Documentation

Construct null.

Definition at line 381 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 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]
bool surf2Face ( const label   faceI  ) const [inline]

The documentation for this class was generated from the following files: