ENH: multiple surfaces, self-intersection in surfaceFeatureExtract (issue #450)

- If the dictionary is named 'surfaces', a 'surfaces' entry is mandatory.
  This is a list of wordRe, which is used to load multiple surfaces from
  constant/triSurface directory.

- Other dictionaries may contain a 'surfaces' entry.
  In which case the behaviour is as above (loading multiple surfaces).
  The dictionary name will *NOT* be taken as a surface name itself.

- Regardless of how the surfaces are loaded or features extracted,
  an additional selfIntersection test may be used.

  Eg,

    surfaces
    {
        extractionMethod    extractFromSurface;

        surfaces            (surface1.stl surface2.nas);

        // Generate features from self-intersect
        selfIntersection    true;

        // Base output name (optiona)
        output              surfaces;

        // Tolerance for self-intersect
        planarTolerance     1e-3;

        extractFromSurfaceCoeffs
        {
            includedAngle   120;

            // Do not mark region edges
            geometricTestOnly       yes;
        }
    }
This commit is contained in:
Mark Olesen
2017-04-11 11:46:00 +02:00
committed by Mark Olesen
parent 837cbafcf3
commit cd5ca147a7
13 changed files with 918 additions and 135 deletions

View File

@ -114,4 +114,41 @@ surface2.nas
}
// Handle multiple surfaces
//
// - If the dictionary is named 'surfaces', it must also contain a 'surfaces'
// entry (wordRe list).
//
// - If other dictionaries may contain a 'surfaces' entry, it will be taken
// for the input.
//
surfaces
{
extractionMethod extractFromSurface;
surfaces (surface1.stl surface2.nas);
// Base output name (optional)
// output surfaces;
// Generate features from self-intersect
selfIntersection true;
// Tolerance for self-intersect
planarTolerance 1e-3;
extractFromSurfaceCoeffs
{
includedAngle 120;
// Do not mark region edges
geometricTestOnly yes;
}
// Write options
// Write features to obj format for postprocessing
writeObj yes;
}
// ************************************************************************* //