mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: make coeffs dictionaries optional for surfaceFeatureExtract
This commit is contained in:
@ -1,11 +1,7 @@
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||
-I$(LIB_SRC)/edgeMesh/lnInclude \
|
||||
-I$(LIB_SRC)/triSurface/lnInclude \
|
||||
-I$(LIB_SRC)/surfMesh/lnInclude
|
||||
-I$(LIB_SRC)/surfMesh/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
|
||||
LIB_LIBS = \
|
||||
-lmeshTools \
|
||||
-ledgeMesh \
|
||||
-ltriSurface
|
||||
-lmeshTools
|
||||
|
||||
@ -53,7 +53,8 @@ Foam::surfaceFeaturesExtraction::extractFromFile::extractFromFile
|
||||
:
|
||||
method()
|
||||
{
|
||||
const dictionary& coeffDict = dict.subDict("extractFromFileCoeffs");
|
||||
const dictionary& coeffDict =
|
||||
dict.optionalSubDict("extractFromFileCoeffs");
|
||||
|
||||
coeffDict.lookup("featureEdgeFile") >> featureEdgeFile_;
|
||||
coeffDict.readIfPresent("geometricTestOnly", geometricTestOnly_);
|
||||
|
||||
@ -27,8 +27,11 @@ Class
|
||||
Description
|
||||
Run-time selectable surface feature extraction.
|
||||
|
||||
Mandatory dictionary entries: "featureEdgeFile".
|
||||
Optional dictionary entries: "geometricTestOnly".
|
||||
|
||||
SourceFiles
|
||||
extractionMethod.C
|
||||
extractFromFile.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
@ -36,8 +39,6 @@ SourceFiles
|
||||
#define surfaceFeaturesExtraction_extractFromFile_H
|
||||
|
||||
#include "surfaceFeaturesExtraction.H"
|
||||
#include "dictionary.H"
|
||||
#include "Switch.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
@ -52,7 +52,7 @@ Foam::surfaceFeaturesExtraction::extractFromNone::extractFromNone
|
||||
:
|
||||
method()
|
||||
{
|
||||
const dictionary& coeffDict = dict.subOrEmptyDict("extractFromNoneCoeffs");
|
||||
const dictionary& coeffDict = dict.optionalSubDict("noneCoeffs");
|
||||
|
||||
coeffDict.readIfPresent("includedAngle", includedAngle_);
|
||||
coeffDict.readIfPresent("geometricTestOnly", geometricTestOnly_);
|
||||
|
||||
@ -25,10 +25,13 @@ Class
|
||||
Foam::surfaceFeaturesExtraction::extractFromNone
|
||||
|
||||
Description
|
||||
Run-time selectable surface feature extraction.
|
||||
Run-time selectable surface feature extraction - no extraction.
|
||||
Primarily useful with self-intersection methods.
|
||||
|
||||
Optional dictionary entries: "includedAngle", "geometricTestOnly".
|
||||
|
||||
SourceFiles
|
||||
extractionMethod.C
|
||||
extractFromNone.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
@ -36,10 +39,6 @@ SourceFiles
|
||||
#define surfaceFeaturesExtraction_extractFromNone_H
|
||||
|
||||
#include "surfaceFeaturesExtraction.H"
|
||||
#include "dictionary.H"
|
||||
#include "Switch.H"
|
||||
#include "triSurface.H"
|
||||
#include "edgeIntersections.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
@ -52,7 +52,8 @@ Foam::surfaceFeaturesExtraction::extractFromSurface::extractFromSurface
|
||||
:
|
||||
method()
|
||||
{
|
||||
const dictionary& coeffDict = dict.subDict("extractFromSurfaceCoeffs");
|
||||
const dictionary& coeffDict =
|
||||
dict.optionalSubDict("extractFromSurfaceCoeffs");
|
||||
|
||||
coeffDict.lookup("includedAngle") >> includedAngle_;
|
||||
coeffDict.readIfPresent("geometricTestOnly", geometricTestOnly_);
|
||||
|
||||
@ -25,10 +25,13 @@ Class
|
||||
Foam::surfaceFeaturesExtraction::extractFromSurface
|
||||
|
||||
Description
|
||||
Run-time selectable surface feature extraction.
|
||||
Run-time selectable surface feature extraction - extract from surface.
|
||||
|
||||
Mandatory dictionary entries: "includedAngle".
|
||||
Optional dictionary entries: "geometricTestOnly".
|
||||
|
||||
SourceFiles
|
||||
extractionMethod.C
|
||||
extractFromSurface.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
@ -36,10 +39,6 @@ SourceFiles
|
||||
#define surfaceFeaturesExtraction_extractFromSurface_H
|
||||
|
||||
#include "surfaceFeaturesExtraction.H"
|
||||
#include "dictionary.H"
|
||||
#include "Switch.H"
|
||||
#include "triSurface.H"
|
||||
#include "edgeIntersections.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
|
||||
@ -19,8 +19,6 @@ surface1.stl
|
||||
// How to obtain raw features (extractFromFile | extractFromSurface | none)
|
||||
extractionMethod extractFromSurface;
|
||||
|
||||
extractFromSurfaceCoeffs
|
||||
{
|
||||
// Mark edges whose adjacent surface normals are at an angle less
|
||||
// than includedAngle as features
|
||||
// - 0 : selects no edges
|
||||
@ -29,7 +27,14 @@ surface1.stl
|
||||
|
||||
// Do not mark region edges
|
||||
geometricTestOnly yes;
|
||||
}
|
||||
|
||||
/* alternative specification as coeff dictionary
|
||||
extractFromSurfaceCoeffs
|
||||
{
|
||||
includedAngle 120;
|
||||
|
||||
geometricTestOnly yes;
|
||||
} */
|
||||
|
||||
// Generate additional features from self-intersect
|
||||
selfIntersection false;
|
||||
@ -149,19 +154,10 @@ dummyName
|
||||
// Tolerance for surface intersections
|
||||
tolerance 1e-3;
|
||||
|
||||
extractFromSurfaceCoeffs
|
||||
{
|
||||
includedAngle 120;
|
||||
|
||||
// Do not mark region edges
|
||||
geometricTestOnly yes;
|
||||
}
|
||||
|
||||
extractFromNoneCoeffs
|
||||
{
|
||||
includedAngle 120;
|
||||
|
||||
}
|
||||
|
||||
// Write options
|
||||
|
||||
@ -180,7 +176,7 @@ dummyName
|
||||
//
|
||||
surfaces
|
||||
{
|
||||
extractionMethod extractFromNone;
|
||||
extractionMethod none;
|
||||
|
||||
surfaces (surface1.stl surface2.nas);
|
||||
|
||||
@ -193,10 +189,12 @@ surfaces
|
||||
// Tolerance for surface intersections
|
||||
tolerance 1e-3;
|
||||
|
||||
extractFromNoneCoeffs
|
||||
/* alternative specification as coeff dictionary
|
||||
noneCoeffs
|
||||
{
|
||||
includedAngle 0;
|
||||
}
|
||||
*/
|
||||
|
||||
// Write options
|
||||
|
||||
|
||||
Reference in New Issue
Block a user