freefoam-surfaceSplitNonManifolds1
Takes multiply connected surface and tries to split surface at multiply connected edges by duplicating points.
Usage
freefoam surfaceSplitNonManifolds
<Foam
surface
file>
<surface
output
file>
[-case
<dir>]
[-srcDoc]
[-debug]
[-doc]
[-help]
Overview
Introduces concept of - borderEdge. Edge with 4 faces connected to it. - borderPoint. Point connected to exactly 2 borderEdges. - borderLine. Connected list of borderEdges.
By duplicating borderPoints this will split borderLines. As a preprocessing step it can detect borderEdges without any borderPoints and explicitly split these triangles.
The problems in this algorithm are: - determining which two (of the four) faces form a surface. Done by walking face-edge-face while keeping and edge or point on the borderEdge borderPoint. - determining the outwards pointing normal to be used to slightly offset the duplicated point.
Uses sortedEdgeFaces quite a bit.
Is tested on simple borderLines resulting from extracting a surface from a hex mesh. Will quite possibly go wrong on more complicated border lines (i.e. ones forming a loop).
Dumps surface every so often since might take a long time to complete.
Options
<Foam surface file>
TODO Detailed description of argument.
<surface output file>
TODO Detailed description of argument.
-
-debug -
Generate debugging output.
-
-case <dir> -
Case directory.
-
-help -
Display help message.
-
-doc -
Display Doxygen API documentation page for this application.
-
-srcDoc -
Display Doxygen source documentation page for this application.
Freefoam
Part of the freefoam(1) suite.