From a3b126318468abd97c0d6ef2457cda6669f8849f Mon Sep 17 00:00:00 2001
From: graham <g.macpherson@opencfd.co.uk>
Date: Fri, 18 Feb 2011 16:17:49 +0000
Subject: [PATCH] ENH: Using enhancedFeatureEdgeMesh.

---
 .../surfaceBooleanFeatures.C                  | 13 ++--
 .../surfaceFeatureExtract.C                   |  6 +-
 .../conformalVoronoiMesh.C                    | 62 +++++++++++--------
 .../conformalVoronoiMesh.H                    | 14 ++---
 ...alVoronoiMeshFeaturePointSpecialisations.C | 20 +++---
 .../conformationSurfaces.C                    | 16 ++---
 .../conformationSurfaces.H                    | 11 ++--
 .../conformationSurfacesI.H                   |  2 +-
 8 files changed, 79 insertions(+), 65 deletions(-)

diff --git a/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C b/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C
index 446ee70619f..cec4826f6ef 100644
--- a/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C
+++ b/applications/utilities/surface/surfaceBooleanFeatures/surfaceBooleanFeatures.C
@@ -2,7 +2,7 @@
   =========                 |
   \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
    \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2010-2010 OpenCFD Ltd.
+    \\  /    A nd           | Copyright (C) 2010-2011 OpenCFD Ltd.
      \\/     M anipulation  |
 -------------------------------------------------------------------------------
 License
@@ -26,8 +26,9 @@ Application
 
 Description
 
-    Generates the featureEdgeMesh for the interface between a boolean operation
-    on two surfaces.  Assumes that the orientation of the surfaces is correct:
+    Generates the extendedFeatureEdgeMesh for the interface between a boolean
+    operation on two surfaces.  Assumes that the orientation of the surfaces is
+    correct:
 
     + if the operation is union or intersection, that both surface's normals
       (n) have the same orientation with respect to a point, i.e. surfaces and b
@@ -70,7 +71,7 @@ Description
 #include "triSurface.H"
 #include "argList.H"
 #include "Time.H"
-#include "featureEdgeMesh.H"
+#include "extendedFeatureEdgeMesh.H"
 #include "triSurfaceSearch.H"
 #include "OFstream.H"
 #include "booleanSurface.H"
@@ -420,11 +421,11 @@ int main(int argc, char *argv[])
     // Flat, open or multiple edges are assumed to be impossible
     // Region edges are not explicitly supported by surfaceIntersection
 
-    featureEdgeMesh feMesh
+    extendedFeatureEdgeMesh feMesh
     (
         IOobject
         (
-            sFeatFileName + ".featureEdgeMesh",
+            sFeatFileName + ".extendedFeatureEdgeMesh",
             runTime.constant(),
             "featureEdgeMesh",
             runTime,
diff --git a/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C b/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C
index 1ce3f4032c2..3078920c8d4 100644
--- a/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C
+++ b/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C
@@ -348,7 +348,7 @@ int main(int argc, char *argv[])
     argList::addBoolOption
     (
         "writeObj",
-        "write featureEdgeMesh obj files"
+        "write extendedFeatureEdgeMesh obj files"
     );
     argList::addOption
     (
@@ -536,13 +536,13 @@ int main(int argc, char *argv[])
         << "        internal edges : " << newSet.nInternalEdges() << nl
         << endl;
 
-    // Extracting and writing a featureEdgeMesh
+    // Extracting and writing a extendedFeatureEdgeMesh
 
     extendedFeatureEdgeMesh feMesh
     (
         IOobject
         (
-            sFeatFileName + ".featureEdgeMesh",
+            sFeatFileName + ".extendedFeatureEdgeMesh",
             runTime.constant(),
             "featureEdgeMesh",
             runTime,
diff --git a/src/mesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.C b/src/mesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.C
index b96d8c52bf8..d7d624d4d9e 100644
--- a/src/mesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.C
+++ b/src/mesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.C
@@ -277,7 +277,7 @@ void Foam::conformalVoronoiMesh::insertEdgePointGroups
 
     forAll(edgeHits, i)
     {
-        const featureEdgeMesh& feMesh
+        const extendedFeatureEdgeMesh& feMesh
         (
             geometryToConformTo_.features()[featuresHit[i]]
         );
@@ -301,42 +301,42 @@ void Foam::conformalVoronoiMesh::insertEdgePointGroups
 
 void Foam::conformalVoronoiMesh::insertEdgePointGroup
 (
-    const featureEdgeMesh& feMesh,
+    const extendedFeatureEdgeMesh& feMesh,
     const pointIndexHit& edHit
 )
 {
     label edgeI = edHit.index();
 
-    featureEdgeMesh::edgeStatus edStatus = feMesh.getEdgeStatus(edgeI);
+    extendedFeatureEdgeMesh::edgeStatus edStatus = feMesh.getEdgeStatus(edgeI);
 
     switch (edStatus)
     {
-        case featureEdgeMesh::EXTERNAL:
+        case extendedFeatureEdgeMesh::EXTERNAL:
         {
             insertExternalEdgePointGroup(feMesh, edHit);
             break;
         }
-        case featureEdgeMesh::INTERNAL:
+        case extendedFeatureEdgeMesh::INTERNAL:
         {
             insertInternalEdgePointGroup(feMesh, edHit);
             break;
         }
-        case featureEdgeMesh::FLAT:
+        case extendedFeatureEdgeMesh::FLAT:
         {
             insertFlatEdgePointGroup(feMesh, edHit);
             break;
         }
-        case featureEdgeMesh::OPEN:
+        case extendedFeatureEdgeMesh::OPEN:
         {
             insertOpenEdgePointGroup(feMesh, edHit);
             break;
         }
-        case featureEdgeMesh::MULTIPLE:
+        case extendedFeatureEdgeMesh::MULTIPLE:
         {
             insertMultipleEdgePointGroup(feMesh, edHit);
             break;
         }
-        case featureEdgeMesh::NONE:
+        case extendedFeatureEdgeMesh::NONE:
         {
             break;
         }
@@ -346,7 +346,7 @@ void Foam::conformalVoronoiMesh::insertEdgePointGroup
 
 void Foam::conformalVoronoiMesh::insertExternalEdgePointGroup
 (
-    const featureEdgeMesh& feMesh,
+    const extendedFeatureEdgeMesh& feMesh,
     const pointIndexHit& edHit
 )
 {
@@ -380,7 +380,7 @@ void Foam::conformalVoronoiMesh::insertExternalEdgePointGroup
 
 void Foam::conformalVoronoiMesh::insertInternalEdgePointGroup
 (
-    const featureEdgeMesh& feMesh,
+    const extendedFeatureEdgeMesh& feMesh,
     const pointIndexHit& edHit
 )
 {
@@ -447,7 +447,7 @@ void Foam::conformalVoronoiMesh::insertInternalEdgePointGroup
 
 void Foam::conformalVoronoiMesh::insertFlatEdgePointGroup
 (
-    const featureEdgeMesh& feMesh,
+    const extendedFeatureEdgeMesh& feMesh,
     const pointIndexHit& edHit
 )
 {
@@ -478,7 +478,7 @@ void Foam::conformalVoronoiMesh::insertFlatEdgePointGroup
 
 void Foam::conformalVoronoiMesh::insertOpenEdgePointGroup
 (
-    const featureEdgeMesh& feMesh,
+    const extendedFeatureEdgeMesh& feMesh,
     const pointIndexHit& edHit
 )
 {
@@ -488,7 +488,7 @@ void Foam::conformalVoronoiMesh::insertOpenEdgePointGroup
 
 void Foam::conformalVoronoiMesh::insertMultipleEdgePointGroup
 (
-    const featureEdgeMesh& feMesh,
+    const extendedFeatureEdgeMesh& feMesh,
     const pointIndexHit& edHit
 )
 {
@@ -558,11 +558,14 @@ void Foam::conformalVoronoiMesh::createFeaturePoints()
 
 void Foam::conformalVoronoiMesh::insertConvexFeaturePoints()
 {
-    const PtrList<featureEdgeMesh>& feMeshes(geometryToConformTo_.features());
+    const PtrList<extendedFeatureEdgeMesh>& feMeshes
+    (
+        geometryToConformTo_.features()
+    );
 
     forAll(feMeshes, i)
     {
-        const featureEdgeMesh& feMesh(feMeshes[i]);
+        const extendedFeatureEdgeMesh& feMesh(feMeshes[i]);
 
         for
         (
@@ -602,11 +605,14 @@ void Foam::conformalVoronoiMesh::insertConvexFeaturePoints()
 
 void Foam::conformalVoronoiMesh::insertConcaveFeaturePoints()
 {
-    const PtrList<featureEdgeMesh>& feMeshes(geometryToConformTo_.features());
+    const PtrList<extendedFeatureEdgeMesh>& feMeshes
+    (
+        geometryToConformTo_.features()
+    );
 
     forAll(feMeshes, i)
     {
-        const featureEdgeMesh& feMesh(feMeshes[i]);
+        const extendedFeatureEdgeMesh& feMesh(feMeshes[i]);
 
         for
         (
@@ -649,11 +655,14 @@ void Foam::conformalVoronoiMesh::insertConcaveFeaturePoints()
 
 void Foam::conformalVoronoiMesh::insertMixedFeaturePoints()
 {
-    const PtrList<featureEdgeMesh>& feMeshes(geometryToConformTo_.features());
+    const PtrList<extendedFeatureEdgeMesh>& feMeshes
+    (
+        geometryToConformTo_.features()
+    );
 
     forAll(feMeshes, i)
     {
-        const featureEdgeMesh& feMesh(feMeshes[i]);
+        const extendedFeatureEdgeMesh& feMesh(feMeshes[i]);
 
         for
         (
@@ -678,13 +687,13 @@ void Foam::conformalVoronoiMesh::insertMixedFeaturePoints()
                 {
                     label edgeI = pEds[e];
 
-                    featureEdgeMesh::edgeStatus edStatus =
+                    extendedFeatureEdgeMesh::edgeStatus edStatus =
                         feMesh.getEdgeStatus(edgeI);
 
                     if
                     (
-                        edStatus == featureEdgeMesh::OPEN
-                     || edStatus == featureEdgeMesh::MULTIPLE
+                        edStatus == extendedFeatureEdgeMesh::OPEN
+                     || edStatus == extendedFeatureEdgeMesh::MULTIPLE
                     )
                     {
                         Info<< "Edge type " << edStatus
@@ -728,11 +737,14 @@ void Foam::conformalVoronoiMesh::constructFeaturePointLocations()
 {
     DynamicList<Foam::point> ftPtLocs;
 
-    const PtrList<featureEdgeMesh>& feMeshes(geometryToConformTo_.features());
+    const PtrList<extendedFeatureEdgeMesh>& feMeshes
+    (
+        geometryToConformTo_.features()
+    );
 
     forAll(feMeshes, i)
     {
-        const featureEdgeMesh& feMesh(feMeshes[i]);
+        const extendedFeatureEdgeMesh& feMesh(feMeshes[i]);
 
         for
         (
diff --git a/src/mesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.H b/src/mesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.H
index cc422a40aa5..417eba94e52 100644
--- a/src/mesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.H
+++ b/src/mesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMesh.H
@@ -281,42 +281,42 @@ private:
         //- Call the appropriate function to conform to an edge
         void insertEdgePointGroup
         (
-            const featureEdgeMesh& feMesh,
+            const extendedFeatureEdgeMesh& feMesh,
             const pointIndexHit& edHit
         );
 
         //- Insert points to conform to an external edge
         void insertExternalEdgePointGroup
         (
-            const featureEdgeMesh& feMesh,
+            const extendedFeatureEdgeMesh& feMesh,
             const pointIndexHit& edHit
         );
 
         //- Insert points to conform to an internal edge
         void insertInternalEdgePointGroup
         (
-            const featureEdgeMesh& feMesh,
+            const extendedFeatureEdgeMesh& feMesh,
             const pointIndexHit& edHit
         );
 
         //- Insert points to conform to a flat edge
         void insertFlatEdgePointGroup
         (
-            const featureEdgeMesh& feMesh,
+            const extendedFeatureEdgeMesh& feMesh,
             const pointIndexHit& edHit
         );
 
         //- Insert points to conform to an open edge
         void insertOpenEdgePointGroup
         (
-            const featureEdgeMesh& feMesh,
+            const extendedFeatureEdgeMesh& feMesh,
             const pointIndexHit& edHit
         );
 
         //- Insert points to conform to multiply connected edge
         void insertMultipleEdgePointGroup
         (
-            const featureEdgeMesh& feMesh,
+            const extendedFeatureEdgeMesh& feMesh,
             const pointIndexHit& edHit
         );
 
@@ -336,7 +336,7 @@ private:
         //  structure
         bool insertSpecialisedFeaturePoint
         (
-            const featureEdgeMesh& feMesh,
+            const extendedFeatureEdgeMesh& feMesh,
             label ptI
         );
 
diff --git a/src/mesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshFeaturePointSpecialisations.C b/src/mesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshFeaturePointSpecialisations.C
index 59e920da4f1..3322afc0775 100644
--- a/src/mesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshFeaturePointSpecialisations.C
+++ b/src/mesh/conformalVoronoiMesh/conformalVoronoiMesh/conformalVoronoiMeshFeaturePointSpecialisations.C
@@ -29,7 +29,7 @@ License
 
 bool Foam::conformalVoronoiMesh::insertSpecialisedFeaturePoint
 (
-    const featureEdgeMesh& feMesh,
+    const extendedFeatureEdgeMesh& feMesh,
     label ptI
 )
 {
@@ -48,44 +48,44 @@ bool Foam::conformalVoronoiMesh::insertSpecialisedFeaturePoint
     label nOpen = 0;
     label nMultiple = 0;
 
-    List<featureEdgeMesh::edgeStatus> allEdStat(pEds.size());
+    List<extendedFeatureEdgeMesh::edgeStatus> allEdStat(pEds.size());
 
     forAll(pEds, i)
     {
         label edgeI = pEds[i];
 
-        featureEdgeMesh::edgeStatus& eS = allEdStat[i];
+        extendedFeatureEdgeMesh::edgeStatus& eS = allEdStat[i];
 
         eS = feMesh.getEdgeStatus(edgeI);
 
         switch (eS)
         {
-            case featureEdgeMesh::EXTERNAL:
+            case extendedFeatureEdgeMesh::EXTERNAL:
             {
                 nExternal++;
                 break;
             }
-            case featureEdgeMesh::INTERNAL:
+            case extendedFeatureEdgeMesh::INTERNAL:
             {
                 nInternal++;
                 break;
             }
-            case featureEdgeMesh::FLAT:
+            case extendedFeatureEdgeMesh::FLAT:
             {
                 nFlat++;
                 break;
             }
-            case featureEdgeMesh::OPEN:
+            case extendedFeatureEdgeMesh::OPEN:
             {
                 nOpen++;
                 break;
             }
-            case featureEdgeMesh::MULTIPLE:
+            case extendedFeatureEdgeMesh::MULTIPLE:
             {
                 nMultiple++;
                 break;
             }
-            case featureEdgeMesh::NONE:
+            case extendedFeatureEdgeMesh::NONE:
             {
                 break;
             }
@@ -106,7 +106,7 @@ bool Foam::conformalVoronoiMesh::insertSpecialisedFeaturePoint
 
         // label concaveEdgeI = pEds
         // [
-        //     findIndex(allEdStat, featureEdgeMesh::INTERNAL)
+        //     findIndex(allEdStat, extendedFeatureEdgeMesh::INTERNAL)
         // ];
 
         // // // Find which planes are joined to the concave edge
diff --git a/src/mesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.C b/src/mesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.C
index bdd82a79246..4d55cfeee30 100644
--- a/src/mesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.C
+++ b/src/mesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.C
@@ -120,7 +120,7 @@ Foam::conformationSurfaces::conformationSurfaces
             features_.set
             (
                 featureI++,
-                new featureEdgeMesh
+                new extendedFeatureEdgeMesh
                 (
                     IOobject
                     (
@@ -153,7 +153,7 @@ Foam::conformationSurfaces::conformationSurfaces
             // features_.set
             // (
             //     featureI++,
-            //     new featureEdgeMesh
+            //     new extendedFeatureEdgeMesh
             //     (
             //         IOobject
             //         (
@@ -210,7 +210,7 @@ Foam::conformationSurfaces::conformationSurfaces
             features_.set
             (
                 featureI++,
-                new featureEdgeMesh
+                new extendedFeatureEdgeMesh
                 (
                     IOobject
                     (
@@ -693,13 +693,13 @@ void Foam::conformationSurfaces::findEdgeNearestByType
 ) const
 {
     // Initialise
-    featuresHit.setSize(featureEdgeMesh::nEdgeTypes);
+    featuresHit.setSize(extendedFeatureEdgeMesh::nEdgeTypes);
     featuresHit = -1;
-    edgeHits.setSize(featureEdgeMesh::nEdgeTypes);
+    edgeHits.setSize(extendedFeatureEdgeMesh::nEdgeTypes);
 
     // Work arrays
-    scalarField minDistSqr(featureEdgeMesh::nEdgeTypes, nearestDistSqr);
-    List<pointIndexHit> hitInfo(featureEdgeMesh::nEdgeTypes);
+    scalarField minDistSqr(extendedFeatureEdgeMesh::nEdgeTypes, nearestDistSqr);
+    List<pointIndexHit> hitInfo(extendedFeatureEdgeMesh::nEdgeTypes);
 
     forAll(features_, testI)
     {
@@ -733,7 +733,7 @@ void Foam::conformationSurfaces::writeFeatureObj(const fileName& prefix) const
 
     forAll(features_, i)
     {
-        const featureEdgeMesh& fEM(features_[i]);
+        const extendedFeatureEdgeMesh& fEM(features_[i]);
         const pointField pts(fEM.points());
         const edgeList eds(fEM.edges());
 
diff --git a/src/mesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.H b/src/mesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.H
index ad472812b3a..6b9a5455d11 100644
--- a/src/mesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.H
+++ b/src/mesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfaces.H
@@ -37,7 +37,7 @@ SourceFiles
 
 #include "searchableSurfaces.H"
 #include "searchableSurfacesQueries.H"
-#include "featureEdgeMesh.H"
+#include "extendedFeatureEdgeMesh.H"
 #include "triSurface.H"
 
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@@ -63,8 +63,8 @@ class conformationSurfaces
         //- Reference to the searchableSurfaces object holding all geometry data
         const searchableSurfaces& allGeometry_;
 
-        //- A list of featureEdge meshes
-        PtrList<featureEdgeMesh> features_;
+        //- A list of extendedFeatureEdgeMesh
+        PtrList<extendedFeatureEdgeMesh> features_;
 
         //- The location in the mesh that specifies which portion of surfaces is
         //  to be meshed.
@@ -140,7 +140,7 @@ public:
             inline const searchableSurfaces& geometry() const;
 
             //- Return the object holding the feature points and edges
-            inline const PtrList<featureEdgeMesh>& features() const;
+            inline const PtrList<extendedFeatureEdgeMesh>& features() const;
 
             //- Return the surface indices
             inline const labelList& surfaces() const;
@@ -295,7 +295,8 @@ public:
 
         // Write
 
-            //- Write all components of all the featureEdgeMeshes as an obj file
+            //- Write all components of all the extendedFeatureEdgeMeshes as
+            //  an obj file
             void writeFeatureObj(const fileName& prefix) const;
 
 };
diff --git a/src/mesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfacesI.H b/src/mesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfacesI.H
index 1dfa14f16ab..796875504fa 100644
--- a/src/mesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfacesI.H
+++ b/src/mesh/conformalVoronoiMesh/conformationSurfaces/conformationSurfacesI.H
@@ -31,7 +31,7 @@ const Foam::searchableSurfaces& Foam::conformationSurfaces::geometry() const
 }
 
 
-const Foam::PtrList<Foam::featureEdgeMesh>&
+const Foam::PtrList<Foam::extendedFeatureEdgeMesh>&
 Foam::conformationSurfaces::features() const
 {
     return features_;
-- 
GitLab