From 7969bc87d111fc19c0078e3d177044e619af175d Mon Sep 17 00:00:00 2001 From: mattijs Date: Wed, 30 May 2012 11:47:31 +0100 Subject: [PATCH] ENH: surfaceFeatureExtract: allow flipping. Code cleanup. --- .../surfaceFeatureExtract.C | 38 ++++++++++++++----- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C b/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C index 0d7c929cf6..f6b38163d1 100644 --- a/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C +++ b/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C @@ -541,7 +541,7 @@ int main(int argc, char *argv[]) forAllConstIter(dictionary, dict, iter) { - dictionary surfaceDict = dict.subDict(iter().keyword()); + const dictionary& surfaceDict = iter().dict(); const fileName surfFileName = iter().keyword(); const fileName sFeatFileName = surfFileName.lessExt().name(); @@ -549,16 +549,16 @@ int main(int argc, char *argv[]) Info<< "Surface : " << surfFileName << nl << endl; const Switch writeVTK = - surfaceDict.lookupOrAddDefault("writeVTK", "off"); + surfaceDict.lookupOrDefault("writeVTK", "off"); const Switch writeObj = - surfaceDict.lookupOrAddDefault("writeObj", "off"); + surfaceDict.lookupOrDefault("writeObj", "off"); const Switch curvature = - surfaceDict.lookupOrAddDefault("curvature", "off"); + surfaceDict.lookupOrDefault("curvature", "off"); const Switch featureProximity = - surfaceDict.lookupOrAddDefault("featureProximity", "off"); + surfaceDict.lookupOrDefault("featureProximity", "off"); const Switch closeness = - surfaceDict.lookupOrAddDefault("closeness", "off"); + surfaceDict.lookupOrDefault("closeness", "off"); const word extractionMethod = surfaceDict.lookup("extractionMethod"); @@ -606,7 +606,7 @@ int main(int argc, char *argv[]) // Either construct features from surface & featureAngle or read set. - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ surfaceFeatures set(surf); @@ -697,7 +697,10 @@ int main(int argc, char *argv[]) if (surfaceDict.isDict("subsetFeatures")) { - dictionary subsetDict = surfaceDict.subDict("subsetFeatures"); + const dictionary& subsetDict = surfaceDict.subDict + ( + "subsetFeatures" + ); if (subsetDict.found("insideBox")) { @@ -731,7 +734,7 @@ int main(int argc, char *argv[]) } const Switch manifoldEdges = - subsetDict.lookupOrAddDefault("manifoldEdges", "no"); + subsetDict.lookupOrDefault("manifoldEdges", "no"); if (manifoldEdges) { @@ -784,10 +787,17 @@ int main(int argc, char *argv[]) if (surfaceDict.isDict("addFeatures")) { - const word addFeName = surfaceDict.subDict("addFeatures")["name"]; + const dictionary& subsetDict = surfaceDict.subDict + ( + "addFeatures" + ); + + const word addFeName = subsetDict["name"]; Info<< "Adding (without merging) features from " << addFeName << nl << endl; + const Switch flip = subsetDict["flip"]; + extendedFeatureEdgeMesh addFeMesh ( IOobject @@ -803,6 +813,14 @@ int main(int argc, char *argv[]) Info<< "Read " << addFeMesh.name() << nl; writeStats(addFeMesh, Info); + if (flip) + { + Info<< "Flipping " << addFeMesh.name() << endl; + addFeMesh.flipNormals(); + Info<< "After flipping " << addFeMesh.name() << nl; + writeStats(addFeMesh, Info); + } + feMesh.add(addFeMesh); }