diff --git a/applications/utilities/mesh/generation/Allwmake b/applications/utilities/mesh/generation/Allwmake
index 48ca530c96933f6c31bf4f126658efc9f607fd51..a1141cfb1bf038f607aa9bffb73809cd34dae6ec 100755
--- a/applications/utilities/mesh/generation/Allwmake
+++ b/applications/utilities/mesh/generation/Allwmake
@@ -12,7 +12,6 @@ wmake snappyHexMesh
 if [ -d "$CGAL_ARCH_PATH" ]
 then
     cvMesh/Allwmake
-    cv2DMesh/Allwmake
 fi
 
 # ----------------------------------------------------------------- end-of-file
diff --git a/applications/utilities/mesh/generation/cv2DMesh/Allwclean b/applications/utilities/mesh/generation/cv2DMesh/Allwclean
deleted file mode 100755
index d0ae53e41503d0ccd189b47c40f83dc193030e03..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/Allwclean
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-cd ${0%/*} || exit 1    # run from this directory
-set -x
-
-wclean libso conformalVoronoi2DMesh
-wclean
-
-# ----------------------------------------------------------------- end-of-file
diff --git a/applications/utilities/mesh/generation/cv2DMesh/Allwmake b/applications/utilities/mesh/generation/cv2DMesh/Allwmake
deleted file mode 100755
index 54868499573cf6b3ce989a211b0fd1be7944c490..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/Allwmake
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-cd ${0%/*} || exit 1    # run from this directory
-set -x
-
-wmake libso conformalVoronoi2DMesh
-wmake
-
-# ----------------------------------------------------------------- end-of-file
diff --git a/applications/utilities/mesh/generation/cv2DMesh/CGALTriangulation2Ddefs.H b/applications/utilities/mesh/generation/cv2DMesh/CGALTriangulation2Ddefs.H
deleted file mode 100644
index ae18cd6f6ecac24588752340a1c479f3b93e5c9b..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/CGALTriangulation2Ddefs.H
+++ /dev/null
@@ -1,82 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Typedefs
-    CGALTriangulation2Ddefs
-
-Description
-    CGAL data structures used for 2D Delaunay meshing.
-
-    Define CGAL_INEXACT to use Exact_predicates_inexact_constructions kernel
-    otherwise the more robust but much less efficient
-    Exact_predicates_exact_constructions will be used.
-
-    Define CGAL_HIERARCHY to use hierarchical Delaunay triangulation which is
-    faster but uses more memory than the standard Delaunay triangulation.
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef CGALTriangulation2Ddefs_H
-#define CGALTriangulation2Ddefs_H
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#include "CGAL/Delaunay_triangulation_2.h"
-
-#include "indexedVertex.H"
-#include "indexedFace.H"
-
-#ifdef CGAL_INEXACT
-    // Fast kernel using a double as the storage type but the triangulation
-    // may fail
-    #include "CGAL/Exact_predicates_inexact_constructions_kernel.h"
-    typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
-#else
-    // Very robust but expensive kernel
-    #include "CGAL/Exact_predicates_exact_constructions_kernel.h"
-    typedef CGAL::Exact_predicates_exact_constructions_kernel K;
-#endif
-
-typedef CGAL::indexedVertex<K>                           Vb;
-typedef CGAL::indexedFace<K>                             Fb;
-
-#ifdef CGAL_HIERARCHY
-    // Data structures for hierarchical Delaunay triangulation which is more
-    // efficient but also uses more storage
-    #include "CGAL/Triangulation_hierarchy_2.h"
-    typedef CGAL::Triangulation_hierarchy_vertex_base_2<Vb>  Vbh;
-    typedef CGAL::Triangulation_data_structure_2<Vbh, Fb>    Tds;
-    typedef CGAL::Delaunay_triangulation_2<K, Tds>           DT;
-    typedef CGAL::Triangulation_hierarchy_2<DT>              Delaunay;
-#else
-    // Data structures for standard Delaunay triangulation
-    typedef CGAL::Triangulation_data_structure_2<Vb, Fb>     Tds;
-    typedef CGAL::Delaunay_triangulation_2<K, Tds>           Delaunay;
-#endif
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/utilities/mesh/generation/cv2DMesh/CV2D.C b/applications/utilities/mesh/generation/cv2DMesh/CV2D.C
deleted file mode 100644
index bbd546cd03003587caa314a3f7196245029698fc..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/CV2D.C
+++ /dev/null
@@ -1,1050 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*----------------------------------------------------------------------------*/
-
-#include "CV2D.H"
-#include "Random.H"
-#include "transform.H"
-#include "IFstream.H"
-#include "uint.H"
-#include "ulong.H"
-
-namespace Foam
-{
-    defineTypeNameAndDebug(CV2D, 0);
-}
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void Foam::CV2D::insertBoundingBox()
-{
-    Info<< "insertBoundingBox: creating bounding mesh" << endl;
-    scalar bigSpan = 10*meshControls().span();
-    insertPoint(point2D(-bigSpan, -bigSpan), Vb::FAR_POINT);
-    insertPoint(point2D(-bigSpan, bigSpan), Vb::FAR_POINT);
-    insertPoint(point2D(bigSpan, -bigSpan), Vb::FAR_POINT);
-    insertPoint(point2D(bigSpan, bigSpan), Vb::FAR_POINT);
-}
-
-
-void Foam::CV2D::fast_restore_Delaunay(Vertex_handle vh)
-{
-    int i;
-    Face_handle f = vh->face(), next, start(f);
-
-    do
-    {
-        i=f->index(vh);
-        if (!is_infinite(f))
-        {
-            if (!internal_flip(f, cw(i))) external_flip(f, i);
-            if (f->neighbor(i) == start) start = f;
-        }
-        f = f->neighbor(cw(i));
-    } while (f != start);
-}
-
-
-void Foam::CV2D::external_flip(Face_handle& f, int i)
-{
-    Face_handle n = f->neighbor(i);
-
-    if
-    (
-        CGAL::ON_POSITIVE_SIDE
-     != side_of_oriented_circle(n, f->vertex(i)->point())
-    ) return;
-
-    flip(f, i);
-    i = n->index(f->vertex(i));
-    external_flip(n, i);
-}
-
-
-bool Foam::CV2D::internal_flip(Face_handle& f, int i)
-{
-    Face_handle n = f->neighbor(i);
-
-    if
-    (
-        CGAL::ON_POSITIVE_SIDE
-     != side_of_oriented_circle(n, f->vertex(i)->point())
-    )
-    {
-        return false;
-    }
-
-    flip(f, i);
-
-    return true;
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Foam::CV2D::CV2D
-(
-    const Time& runTime,
-    const dictionary& cvMeshDict
-)
-:
-    Delaunay(),
-    runTime_(runTime),
-    rndGen_(64293*Pstream::myProcNo()),
-    allGeometry_
-    (
-        IOobject
-        (
-            "cvSearchableSurfaces",
-            runTime_.constant(),
-            "triSurface",
-            runTime_,
-            IOobject::MUST_READ,
-            IOobject::NO_WRITE
-        ),
-        cvMeshDict.subDict("geometry")
-    ),
-    qSurf_
-    (
-        runTime_,
-        rndGen_,
-        allGeometry_,
-        cvMeshDict.subDict("surfaceConformation")
-    ),
-    controls_(cvMeshDict, qSurf_.globalBounds()),
-    cellSizeControl_
-    (
-        allGeometry_,
-        cvMeshDict.subDict("motionControl")
-    ),
-    z_
-    (
-        point
-        (
-            cvMeshDict.subDict("surfaceConformation").lookup("locationInMesh")
-        ).z()
-    ),
-    startOfInternalPoints_(0),
-    startOfSurfacePointPairs_(0),
-    startOfBoundaryConformPointPairs_(0),
-    featurePoints_()
-{
-    Info<< meshControls() << endl;
-
-    insertBoundingBox();
-    insertFeaturePoints();
-}
-
-
-// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
-
-Foam::CV2D::~CV2D()
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void Foam::CV2D::insertPoints
-(
-    const point2DField& points,
-    const scalar nearness
-)
-{
-    Info<< "insertInitialPoints(const point2DField& points): ";
-
-    startOfInternalPoints_ = number_of_vertices();
-    label nVert = startOfInternalPoints_;
-
-    // Add the points and index them
-    forAll(points, i)
-    {
-        const point2D& p = points[i];
-
-        if (qSurf_.wellInside(toPoint3D(p), nearness))
-        {
-            insert(toPoint(p))->index() = nVert++;
-        }
-        else
-        {
-            Warning
-                << "Rejecting point " << p << " outside surface" << endl;
-        }
-    }
-
-    Info<< nVert << " vertices inserted" << endl;
-
-    if (meshControls().objOutput())
-    {
-        // Checking validity of triangulation
-        assert(is_valid());
-
-        writeTriangles("initial_triangles.obj", true);
-        writeFaces("initial_faces.obj", true);
-    }
-}
-
-
-void Foam::CV2D::insertPoints(const fileName& pointFileName)
-{
-    IFstream pointsFile(pointFileName);
-
-    if (pointsFile.good())
-    {
-        insertPoints
-        (
-            point2DField(pointsFile),
-            0.5*meshControls().minCellSize2()
-        );
-    }
-    else
-    {
-        FatalErrorIn("insertInitialPoints")
-            << "Could not open pointsFile " << pointFileName
-            << exit(FatalError);
-    }
-}
-
-
-void Foam::CV2D::insertGrid()
-{
-    Info<< "insertInitialGrid: ";
-
-    startOfInternalPoints_ = number_of_vertices();
-    label nVert = startOfInternalPoints_;
-
-    scalar x0 = qSurf_.globalBounds().min().x();
-    scalar xR = qSurf_.globalBounds().max().x() - x0;
-    int ni = int(xR/meshControls().minCellSize()) + 1;
-    scalar deltax = xR/ni;
-
-    scalar y0 = qSurf_.globalBounds().min().y();
-    scalar yR = qSurf_.globalBounds().max().y() - y0;
-    int nj = int(yR/meshControls().minCellSize()) + 1;
-    scalar deltay = yR/nj;
-
-    Random rndGen(1321);
-    scalar pert = meshControls().randomPerturbation()*min(deltax, deltay);
-
-    for (int i=0; i<ni; i++)
-    {
-        for (int j=0; j<nj; j++)
-        {
-            point p(x0 + i*deltax, y0 + j*deltay, 0);
-
-            if (meshControls().randomiseInitialGrid())
-            {
-                p.x() += pert*(rndGen.scalar01() - 0.5);
-                p.y() += pert*(rndGen.scalar01() - 0.5);
-            }
-
-            if (qSurf_.wellInside(p, 0.5*meshControls().minCellSize2()))
-            {
-                insert(Point(p.x(), p.y()))->index() = nVert++;
-            }
-        }
-    }
-
-    Info<< nVert << " vertices inserted" << endl;
-
-    if (meshControls().objOutput())
-    {
-        // Checking validity of triangulation
-        assert(is_valid());
-
-        writeTriangles("initial_triangles.obj", true);
-        writeFaces("initial_faces.obj", true);
-    }
-}
-
-
-void Foam::CV2D::insertSurfacePointPairs()
-{
-    startOfSurfacePointPairs_ = number_of_vertices();
-
-    if (meshControls().insertSurfaceNearestPointPairs())
-    {
-        insertSurfaceNearestPointPairs();
-    }
-
-    write("nearest");
-
-    // Insertion of point-pairs for near-points may cause protrusions
-    // so insertBoundaryConformPointPairs must be executed last
-    if (meshControls().insertSurfaceNearPointPairs())
-    {
-        insertSurfaceNearPointPairs();
-    }
-
-    startOfBoundaryConformPointPairs_ = number_of_vertices();
-}
-
-
-void Foam::CV2D::boundaryConform()
-{
-    if (!meshControls().insertSurfaceNearestPointPairs())
-    {
-        markNearBoundaryPoints();
-    }
-
-    // Mark all the faces as SAVE_CHANGED
-    for
-    (
-        Triangulation::Finite_faces_iterator fit = finite_faces_begin();
-        fit != finite_faces_end();
-        fit++
-    )
-    {
-        fit->faceIndex() = Fb::SAVE_CHANGED;
-    }
-
-    for (label iter=1; iter<=meshControls().maxBoundaryConformingIter(); iter++)
-    {
-        label nIntersections = insertBoundaryConformPointPairs
-        (
-            "surfaceIntersections_" + Foam::name(iter) + ".obj"
-        );
-
-        if (nIntersections == 0)
-        {
-            break;
-        }
-        else
-        {
-            Info<< "BC iteration " << iter << ": "
-                << nIntersections << " point-pairs inserted" << endl;
-        }
-
-        // Any faces changed by insertBoundaryConformPointPairs will now
-        // be marked CHANGED, mark those as SAVE_CHANGED and those that
-        // remained SAVE_CHANGED as UNCHANGED
-        for
-        (
-            Triangulation::Finite_faces_iterator fit = finite_faces_begin();
-            fit != finite_faces_end();
-            fit++
-        )
-        {
-            if (fit->faceIndex() == Fb::SAVE_CHANGED)
-            {
-                fit->faceIndex() = Fb::UNCHANGED;
-            }
-            else if (fit->faceIndex() == Fb::CHANGED)
-            {
-                fit->faceIndex() = Fb::SAVE_CHANGED;
-            }
-        }
-    }
-
-    Info<< nl;
-
-    write("boundary");
-}
-
-
-void Foam::CV2D::removeSurfacePointPairs()
-{
-    for
-    (
-        Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
-        vit != finite_vertices_end();
-        ++vit
-    )
-    {
-        if (vit->index() >= startOfSurfacePointPairs_)
-        {
-            remove(vit);
-        }
-    }
-}
-
-
-void Foam::CV2D::newPoints(const scalar relaxation)
-{
-    Info<< "newPointsFromVertices: ";
-
-    Field<point2D> dualVertices(number_of_faces());
-
-    label dualVerti = 0;
-
-    // Find the dual point of each tetrahedron and assign it an index.
-    for
-    (
-        Triangulation::Finite_faces_iterator fit = finite_faces_begin();
-        fit != finite_faces_end();
-        ++fit
-    )
-    {
-        fit->faceIndex() = -1;
-
-        if
-        (
-            fit->vertex(0)->internalOrBoundaryPoint()
-         || fit->vertex(1)->internalOrBoundaryPoint()
-         || fit->vertex(2)->internalOrBoundaryPoint()
-        )
-        {
-            fit->faceIndex() = dualVerti;
-
-            dualVertices[dualVerti] = toPoint2D(circumcenter(fit));
-
-            dualVerti++;
-        }
-    }
-
-    dualVertices.setSize(dualVerti);
-
-    Field<vector2D> displacementAccumulator
-    (
-        startOfSurfacePointPairs_,
-        vector2D::zero
-    );
-
-    // Calculate target size and alignment for vertices
-    scalarField sizes
-    (
-        number_of_vertices(),
-        meshControls().minCellSize()
-    );
-
-    Field<vector2D> alignments
-    (
-        number_of_vertices(),
-        vector2D(1, 0)
-    );
-
-    for
-    (
-        Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
-        vit != finite_vertices_end();
-        ++vit
-    )
-    {
-        if (vit->internalOrBoundaryPoint())
-        {
-            point2D vert = toPoint2D(vit->point());
-
-            // alignment and size determination
-            pointIndexHit pHit;
-            label hitSurface = -1;
-
-            qSurf_.findSurfaceNearest
-            (
-                toPoint3D(vert),
-                meshControls().span2(),
-                pHit,
-                hitSurface
-            );
-
-            if (pHit.hit())
-            {
-                vectorField norm(1);
-                allGeometry_[hitSurface].getNormal
-                (
-                    List<pointIndexHit>(1, pHit),
-                    norm
-                );
-
-                alignments[vit->index()] = toPoint2D(norm[0]);
-
-                sizes[vit->index()] =
-                    cellSizeControl_.cellSize(toPoint3D(vit->point()));
-            }
-        }
-    }
-
-    // Info<< "Calculated alignments" << endl;
-
-    scalar cosAlignmentAcceptanceAngle = 0.68;
-
-    // Upper and lower edge length ratios for weight
-    scalar u = 1.0;
-    scalar l = 0.7;
-
-    PackedBoolList pointToBeRetained(startOfSurfacePointPairs_, true);
-
-    std::list<Point> pointsToInsert;
-
-    for
-    (
-        Triangulation::Finite_edges_iterator eit = finite_edges_begin();
-        eit != finite_edges_end();
-        eit++
-    )
-    {
-        Vertex_handle vA = eit->first->vertex(cw(eit->second));
-        Vertex_handle vB = eit->first->vertex(ccw(eit->second));
-
-        if (!vA->internalOrBoundaryPoint() || !vB->internalOrBoundaryPoint())
-        {
-            continue;
-        }
-
-        const point2D& dualV1 = dualVertices[eit->first->faceIndex()];
-        const point2D& dualV2 =
-            dualVertices[eit->first->neighbor(eit->second)->faceIndex()];
-
-        scalar dualEdgeLength = mag(dualV1 - dualV2);
-
-        point2D dVA = toPoint2D(vA->point());
-        point2D dVB = toPoint2D(vB->point());
-
-        Field<vector2D> alignmentDirsA(2);
-
-        alignmentDirsA[0] = alignments[vA->index()];
-        alignmentDirsA[1] = vector2D
-        (
-           -alignmentDirsA[0].y(),
-            alignmentDirsA[0].x()
-        );
-
-        Field<vector2D> alignmentDirsB(2);
-
-        alignmentDirsB[0] = alignments[vB->index()];
-        alignmentDirsB[1] = vector2D
-        (
-           -alignmentDirsB[0].y(),
-            alignmentDirsB[0].x()
-        );
-
-        Field<vector2D> alignmentDirs(2);
-
-        forAll(alignmentDirsA, aA)
-        {
-            const vector2D& a(alignmentDirsA[aA]);
-
-            scalar maxDotProduct = 0.0;
-
-            forAll(alignmentDirsB, aB)
-            {
-                const vector2D& b(alignmentDirsB[aB]);
-
-                scalar dotProduct = a & b;
-
-                if (mag(dotProduct) > maxDotProduct)
-                {
-                    maxDotProduct = mag(dotProduct);
-
-                    alignmentDirs[aA] = a + sign(dotProduct)*b;
-
-                    alignmentDirs[aA] /= mag(alignmentDirs[aA]);
-                }
-            }
-        }
-
-        vector2D rAB = dVA - dVB;
-
-        scalar rABMag = mag(rAB);
-
-        forAll(alignmentDirs, aD)
-        {
-            vector2D& alignmentDir = alignmentDirs[aD];
-
-            if ((rAB & alignmentDir) < 0)
-            {
-                // swap the direction of the alignment so that has the
-                // same sense as rAB
-                alignmentDir *= -1;
-            }
-
-            scalar alignmentDotProd = ((rAB/rABMag) & alignmentDir);
-
-            if (alignmentDotProd > cosAlignmentAcceptanceAngle)
-            {
-                scalar targetFaceSize =
-                    0.5*(sizes[vA->index()] + sizes[vB->index()]);
-
-                // Test for changing aspect ratio on second alignment (first
-                // alignment is neartest surface normal)
-                // if (aD == 1)
-                // {
-                //     targetFaceSize *= 2.0;
-                // }
-
-                alignmentDir *= 0.5*targetFaceSize;
-
-                vector2D delta = alignmentDir - 0.5*rAB;
-
-                if (dualEdgeLength < 0.7*targetFaceSize)
-                {
-                    delta *= 0;
-                }
-                else if (dualEdgeLength < targetFaceSize)
-                {
-                    delta *=
-                        (
-                            dualEdgeLength
-                           /(targetFaceSize*(u - l))
-                          - 1/((u/l) - 1)
-                        );
-                }
-
-                if
-                (
-                    vA->internalPoint()
-                 && vB->internalPoint()
-                 && rABMag > 1.75*targetFaceSize
-                 && dualEdgeLength > 0.05*targetFaceSize
-                 && alignmentDotProd > 0.93
-                )
-                {
-                    // Point insertion
-                    pointsToInsert.push_back(toPoint(0.5*(dVA + dVB)));
-                }
-                else if
-                (
-                    (vA->internalPoint() || vB->internalPoint())
-                 && rABMag < 0.65*targetFaceSize
-                )
-                {
-                    // Point removal
-
-                    // Only insert a point at the midpoint of the short edge
-                    // if neither attached point has already been identified
-                    // to be removed.
-                    if
-                    (
-                        pointToBeRetained[vA->index()] == true
-                     && pointToBeRetained[vB->index()] == true
-                    )
-                    {
-                        pointsToInsert.push_back(toPoint(0.5*(dVA + dVB)));
-                    }
-
-                    if (vA->internalPoint())
-                    {
-                        pointToBeRetained[vA->index()] = false;
-                    }
-
-                    if (vB->internalPoint())
-                    {
-                        pointToBeRetained[vB->index()] = false;
-                    }
-                }
-                else
-                {
-                    if (vA->internalPoint())
-                    {
-                        displacementAccumulator[vA->index()] += delta;
-                    }
-
-                    if (vB->internalPoint())
-                    {
-                        displacementAccumulator[vB->index()] += -delta;
-                    }
-                }
-            }
-        }
-    }
-
-    vector2D totalDisp = sum(displacementAccumulator);
-    scalar totalDist = sum(mag(displacementAccumulator));
-
-    // Relax the calculated displacement
-    displacementAccumulator *= relaxation;
-
-    label numberOfNewPoints = pointsToInsert.size();
-
-    for
-    (
-        Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
-        vit != finite_vertices_end();
-        ++vit
-    )
-    {
-        if (vit->internalPoint())
-        {
-            if (pointToBeRetained[vit->index()])
-            {
-                pointsToInsert.push_front
-                (
-                    toPoint
-                    (
-                        toPoint2D(vit->point())
-                      + displacementAccumulator[vit->index()]
-                    )
-                );
-            }
-        }
-    }
-
-    // Clear the triangulation and reinsert the bounding box and feature points.
-    // This is faster than removing and moving points.
-    this->clear();
-
-    insertBoundingBox();
-
-    reinsertFeaturePoints();
-
-    startOfInternalPoints_ = number_of_vertices();
-
-    label nVert = startOfInternalPoints_;
-
-    Info<< "Inserting " << numberOfNewPoints << " new points" << endl;
-
-    // Use the range insert as it is faster than individually inserting points.
-    insert(pointsToInsert.begin(), pointsToInsert.end());
-
-    for
-    (
-        Delaunay::Finite_vertices_iterator vit = finite_vertices_begin();
-        vit != finite_vertices_end();
-        ++vit
-    )
-    {
-        if
-        (
-            vit->type() == Vb::INTERNAL_POINT
-         && vit->index() == Vb::INTERNAL_POINT
-        )
-        {
-            vit->index() = nVert++;
-        }
-    }
-
-    Info<< "    Total displacement = " << totalDisp << nl
-        << "    Total distance = " << totalDist << nl
-        << "    Points added = " << pointsToInsert.size()
-        << endl;
-
-    write("internal");
-
-    insertSurfacePointPairs();
-
-    boundaryConform();
-
-
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-// Old Method
-// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-// for
-// (
-//     Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
-//     vit != finite_vertices_end();
-//     ++vit
-// )
-// {
-//     if (vit->internalPoint())
-//     {
-//         // Current dual-cell defining vertex ("centre")
-//         point2DFromPoint defVert0 = toPoint2D(vit->point());
-
-//         Triangulation::Edge_circulator ec = incident_edges(vit);
-//         Triangulation::Edge_circulator ecStart = ec;
-
-//         // Circulate around the edges to find the first which is not
-//         // infinite
-//         do
-//         {
-//             if (!is_infinite(ec)) break;
-//         } while (++ec != ecStart);
-
-//         // Store the start-end of the first non-infinte edge
-//         point2D de0 = toPoint2D(circumcenter(ec->first));
-
-//         // Keep track of the maximum edge length^2
-//         scalar maxEdgeLen2 = 0.0;
-
-//         // Keep track of the index of the longest edge
-//         label edgecd0i = -1;
-
-//         // Edge counter
-//         label edgei = 0;
-
-//         do
-//         {
-//             if (!is_infinite(ec))
-//             {
-//                 // Get the end of the current edge
-//                 point2D de1 = toPoint2D
-//                 (
-//                     circumcenter(ec->first->neighbor(ec->second))
-//                 );
-
-//                 // Store the current edge vector
-//                 edges[edgei] = de1 - de0;
-
-//                 // Store the edge mid-point in the vertices array
-//                 vertices[edgei] = 0.5*(de1 + de0);
-
-//                 // Move the current edge end into the edge start for the
-//                 // next iteration
-//                 de0 = de1;
-
-//                 // Keep track of the longest edge
-
-//                 scalar edgeLen2 = magSqr(edges[edgei]);
-
-//                 if (edgeLen2 > maxEdgeLen2)
-//                 {
-//                     maxEdgeLen2 = edgeLen2;
-//                     edgecd0i = edgei;
-//                 }
-
-//                 edgei++;
-//             }
-//         } while (++ec != ecStart);
-
-//         // Initialise cd0 such that the mesh will align
-//         // in in the x-y directions
-//         vector2D cd0(1, 0);
-
-//         if (meshControls().relaxOrientation())
-//         {
-//             // Get the longest edge from the array and use as the primary
-//             // direction of the coordinate system of the "square" cell
-//             cd0 = edges[edgecd0i];
-//         }
-
-//         if (meshControls().nearWallAlignedDist() > 0)
-//         {
-//             pointIndexHit pHit = qSurf_.tree().findNearest
-//             (
-//                 toPoint3D(defVert0),
-//                 meshControls().nearWallAlignedDist2()
-//             );
-
-//             if (pHit.hit())
-//             {
-//                 cd0 = toPoint2D(faceNormals[pHit.index()]);
-//             }
-//         }
-
-//         // Rotate by 45deg needed to create an averaging procedure which
-//         // encourages the cells to be square
-//         cd0 = vector2D(cd0.x() + cd0.y(), cd0.y() - cd0.x());
-
-//         // Normalise the primary coordinate direction
-//         cd0 /= mag(cd0);
-
-//         // Calculate the orthogonal coordinate direction
-//         vector2D cd1(-cd0.y(), cd0.x());
-
-
-//         // Restart the circulator
-//         ec = ecStart;
-
-//         // ... and the counter
-//         edgei = 0;
-
-//         // Initialise the displacement for the centre and sum-weights
-//         vector2D disp = vector2D::zero;
-//         scalar sumw = 0;
-
-//         do
-//         {
-//             if (!is_infinite(ec))
-//             {
-//                 // Pick up the current edge
-//                 const vector2D& ei = edges[edgei];
-
-//                 // Calculate the centre to edge-centre vector
-//                 vector2D deltai = vertices[edgei] - defVert0;
-
-//                 // Set the weight for this edge contribution
-//                 scalar w = 1;
-
-//                 if (meshControls().squares())
-//                 {
-//                     w = magSqr(deltai.x()*ei.y() - deltai.y()*ei.x());
-//                     // alternative weights
-//                     //w = mag(deltai.x()*ei.y() - deltai.y()*ei.x());
-//                     //w = magSqr(ei)*mag(deltai);
-
-//                     // Use the following for an ~square mesh
-//                     // Find the coordinate contributions for this edge delta
-//                     scalar cd0deltai = cd0 & deltai;
-//                     scalar cd1deltai = cd1 & deltai;
-
-//                     // Create a "square" displacement
-//                     if (mag(cd0deltai) > mag(cd1deltai))
-//                     {
-//                         disp += (w*cd0deltai)*cd0;
-//                     }
-//                     else
-//                     {
-//                         disp += (w*cd1deltai)*cd1;
-//                     }
-//                 }
-//                 else
-//                 {
-//                     // Use this for a hexagon/pentagon mesh
-//                     disp += w*deltai;
-//                 }
-
-//                 // Sum the weights
-//                 sumw += w;
-//             }
-//             else
-//             {
-//                 FatalErrorIn("CV2D::newPoints() const")
-//                     << "Infinite triangle found in internal mesh"
-//                     << exit(FatalError);
-//             }
-
-//             edgei++;
-
-//         } while (++ec != ecStart);
-
-//         // Calculate the average displacement
-//         disp /= sumw;
-//         totalDisp += disp;
-//         totalDist += mag(disp);
-
-//         // Move the point by a fraction of the average displacement
-//         movePoint(vit, defVert0 + relaxation*disp);
-//     }
-// }
-
-// Info << "\nTotal displacement = " << totalDisp
-//      << " total distance = " << totalDist << endl;
-}
-
-
-//void Foam::CV2D::moveInternalPoints(const point2DField& newPoints)
-//{
-//    label pointI = 0;
-
-//    for
-//    (
-//        Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
-//        vit != finite_vertices_end();
-//        ++vit
-//    )
-//    {
-//        if (vit->internalPoint())
-//        {
-//            movePoint(vit, newPoints[pointI++]);
-//        }
-//    }
-//}
-
-
-void Foam::CV2D::extractPatches
-(
-    wordList& patchNames,
-    labelList& patchSizes,
-    EdgeMap<label>& mapEdgesRegion
-) const
-{
-    label nPatches = qSurf_.patchNames().size() + 1;
-    label defaultPatchIndex = qSurf_.patchNames().size();
-
-    patchNames.setSize(nPatches);
-    patchSizes.setSize(nPatches, 0);
-    mapEdgesRegion.clear();
-
-    const wordList& existingPatches = qSurf_.patchNames();
-
-    forAll(existingPatches, sP)
-    {
-        patchNames[sP] = existingPatches[sP];
-    }
-
-    patchNames[defaultPatchIndex] = "CV2D_default_patch";
-
-    for
-    (
-        Triangulation::Finite_edges_iterator eit = finite_edges_begin();
-        eit != finite_edges_end();
-        ++eit
-    )
-    {
-        Face_handle fOwner = eit->first;
-        Face_handle fNeighbor = fOwner->neighbor(eit->second);
-
-        Vertex_handle vA = fOwner->vertex(cw(eit->second));
-        Vertex_handle vB = fOwner->vertex(ccw(eit->second));
-
-        if
-        (
-            (vA->internalOrBoundaryPoint() && !vB->internalOrBoundaryPoint())
-         || (vB->internalOrBoundaryPoint() && !vA->internalOrBoundaryPoint())
-        )
-        {
-            point ptA = toPoint3D(vA->point());
-            point ptB = toPoint3D(vB->point());
-
-            label patchIndex = qSurf_.findPatch(ptA, ptB);
-
-            if (patchIndex == -1)
-            {
-                patchIndex = defaultPatchIndex;
-
-                WarningIn("Foam::CV2D::extractPatches")
-                    << "Dual face found that is not on a surface "
-                    << "patch. Adding to CV2D_default_patch."
-                    << endl;
-            }
-
-            edge e(fOwner->faceIndex(), fNeighbor->faceIndex());
-            patchSizes[patchIndex]++;
-            mapEdgesRegion.insert(e, patchIndex);
-        }
-    }
-}
-
-
-void Foam::CV2D::write() const
-{
-    if (meshControls().objOutput())
-    {
-        writeFaces("allFaces.obj", false);
-        writeFaces("faces.obj", true);
-        writeTriangles("allTriangles.obj", false);
-        writeTriangles("triangles.obj", true);
-        writePatch("patch.pch");
-    }
-}
-
-
-void Foam::CV2D::write(const word& stage) const
-{
-    if (meshControls().objOutput())
-    {
-        Foam::mkDir(stage + "Faces");
-        Foam::mkDir(stage + "Triangles");
-
-        writeFaces
-        (
-            stage
-          + "Faces/allFaces_"
-          + runTime_.timeName()
-          + ".obj",
-            false
-        );
-
-        writeTriangles
-        (
-            stage
-          + "Triangles/allTriangles_"
-          + runTime_.timeName()
-          + ".obj",
-            false
-        );
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/mesh/generation/cv2DMesh/CV2D.H b/applications/utilities/mesh/generation/cv2DMesh/CV2D.H
deleted file mode 100644
index 7a694b652861e58f2d78acef63c14e7b3a5e0c03..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/CV2D.H
+++ /dev/null
@@ -1,468 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    CV2D
-
-Description
-    Conformal-Voronoi 2D automatic mesher with grid or read initial points
-    and point position relaxation with optional "squarification".
-
-    There are a substantial number of options to this mesher read from
-    CV2DMesherDict file e.g.:
-
-    // Min cell size used in tolerances when inserting points for
-    // boundary conforming.
-    // Also used to as the grid spacing usind in insertGrid.
-    minCellSize  0.05;
-
-    // Feature angle used to inser feature points
-    // 0 = all features, 180 = no features
-    featureAngle 45;
-
-    // Maximum quadrant angle allowed at a concave corner before
-    // additional "mitering" lines are added
-    maxQuadAngle 110;
-
-    // Should the mesh be square-dominated or of unbiased hexagons
-    squares      yes;
-
-    // Near-wall region where cells are aligned with the wall specified as a
-    // number of cell layers
-    nearWallAlignedDist 3;
-
-    // Chose if the cell orientation should relax during the iterations
-    //  or remain fixed to the x-y directions
-    relaxOrientation    no;
-
-    // Insert near-boundary point mirror or point-pairs
-    insertSurfaceNearestPointPairs yes;
-
-    // Mirror near-boundary points rather than insert point-pairs
-    mirrorPoints   no;
-
-    // Insert point-pairs vor dual-cell vertices very near the surface
-    insertSurfaceNearPointPairs yes;
-
-    // Choose if to randomise the initial grid created by insertGrid.
-    randomiseInitialGrid yes;
-
-    // Perturbation fraction, 1 = cell-size.
-    randomPurturbation   0.1;
-
-    // Number of relaxation iterations.
-    nIterations      5;
-
-    // Relaxation factor at the start of the iteration sequence.
-    // 0.5 is a sensible maximum and < 0.2 converges better.
-    relaxationFactorStart 0.8;
-
-    // Relaxation factor at the end of the iteration sequence.
-    // Should be <= relaxationFactorStart
-    relaxationFactorEnd   0;
-
-    writeInitialTriangulation no;
-    writeFeatureTriangulation no;
-    writeNearestTriangulation no;
-    writeInsertedPointPairs   no;
-    writeFinalTriangulation   yes;
-
-    // Maximum number of iterations used in boundaryConform.
-    maxBoundaryConformingIter 5;
-
-    minEdgeLenCoeff           0.5;
-    maxNotchLenCoeff          0.3;
-    minNearPointDistCoeff     0.25;
-    ppDistCoeff               0.05;
-
-SourceFiles
-    CGALTriangulation2Ddefs.H
-    indexedVertex.H
-    indexedFace.H
-    CV2DI.H
-    CV2D.C
-    CV2DIO.C
-    tolerances.C
-    controls.C
-    insertFeaturePoints.C
-    insertSurfaceNearestPointPairs.C
-    insertSurfaceNearPointPairs.C
-    insertBoundaryConformPointPairs.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef CV2D_H
-#define CV2D_H
-
-#define CGAL_INEXACT
-#define CGAL_HIERARCHY
-
-#include "CGALTriangulation2Ddefs.H"
-
-#include "Time.H"
-#include "point2DFieldFwd.H"
-#include "dictionary.H"
-#include "Switch.H"
-#include "PackedBoolList.H"
-#include "EdgeMap.H"
-#include "cv2DControls.H"
-#include "tolerances.H"
-#include "meshTools.H"
-#include "triSurface.H"
-#include "searchableSurfaces.H"
-#include "conformationSurfaces.H"
-#include "cellSizeControlSurfaces.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-/*---------------------------------------------------------------------------*\
-                           Class CV2D Declaration
-\*---------------------------------------------------------------------------*/
-
-class CV2D
-:
-    public Delaunay
-{
-
-private:
-
-    // Private data
-
-        //- The time registry of the application
-        const Time& runTime_;
-
-        mutable Random rndGen_;
-
-        //- The surface to mesh
-        //const querySurface& qSurf_;
-        //- All geometry of the meshing process, including surfaces to be
-        //  conformed to and those to be used for refinement
-        searchableSurfaces allGeometry_;
-
-        conformationSurfaces qSurf_;
-
-        //- Meshing controls
-        cv2DControls controls_;
-
-        //- The cell size control object
-        cellSizeControlSurfaces cellSizeControl_;
-
-        //- z-level
-        scalar z_;
-
-        //- Keep track of the start of the internal points
-        label startOfInternalPoints_;
-
-        //- Keep track of the start of the surface point-pairs
-        label startOfSurfacePointPairs_;
-
-        //- Keep track of the boundary conform point-pairs
-        //  stored after the insertion of the surface point-pairs in case
-        //  the boundary conform function is called more than once without
-        //  removing and insertin the surface point-pairs
-        label startOfBoundaryConformPointPairs_;
-
-        //- Store the feature points
-        std::list<Vb> featurePoints_;
-
-        //- Temporary storage for a dual-cell
-        static const label maxNvert = 20;
-        mutable point2D vertices[maxNvert+1];
-        mutable vector2D edges[maxNvert+1];
-
-
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct
-        CV2D(const CV2D&);
-
-        //- Disallow default bitwise assignment
-        void operator=(const CV2D&);
-
-
-        //- Insert point and return it's index
-        inline label insertPoint
-        (
-            const point2D& pt,
-            const label type
-        );
-
-        //- Insert point and return it's index
-        inline label insertPoint
-        (
-            const point2D& pt,
-            const label index,
-            const label type
-        );
-
-        inline label insertPoint
-        (
-            const Point& p,
-            const label index,
-            const label type
-        );
-
-        inline bool insertMirrorPoint
-        (
-            const point2D& nearSurfPt,
-            const point2D& surfPt
-        );
-
-        //- Insert a point-pair at a distance ppDist either side of
-        //  surface point point surfPt in the direction n
-        inline void insertPointPair
-        (
-            const scalar mirrorDist,
-            const point2D& surfPt,
-            const vector2D& n
-        );
-
-        //- Create the initial mesh from the bounding-box
-        void insertBoundingBox();
-
-        //- Check if a point is within a line.
-        bool on2DLine(const point2D& p, const linePointRef& line);
-
-        //- Insert point groups at the feature points.
-        void insertFeaturePoints();
-
-        //- Re-insert point groups at the feature points.
-        void reinsertFeaturePoints();
-
-        //- Insert point-pairs at the given set of points using the surface
-        //  normals corresponding to the given set of surface triangles
-        //  and write the inserted point locations to the given file.
-        void insertPointPairs
-        (
-            const DynamicList<point2D>& nearSurfacePoints,
-            const DynamicList<point2D>& surfacePoints,
-            const DynamicList<label>& surfaceTris,
-            const DynamicList<label>& surfaceHits,
-            const fileName fName
-        );
-
-        //- Check to see if dual cell specified by given vertex iterator
-        //  intersects the boundary and hence reqires a point-pair.
-        bool dualCellSurfaceIntersection
-        (
-            const Triangulation::Finite_vertices_iterator& vit
-        ) const;
-
-        //- Insert point-pairs at the nearest points on the surface to the
-        //  control vertex of dual-cells which intersect the boundary in order
-        //  to provide a boundary-layer mesh.
-        //  NB: This is not guaranteed to close the boundary
-        void insertSurfaceNearestPointPairs();
-
-        //- Insert point-pairs at small dual-cell edges on the surface in order
-        //  to improve the boundary-layer mesh generated by
-        //  insertSurfaceNearestPointPairs.
-        void insertSurfaceNearPointPairs();
-
-        //- Insert point-pair and correcting the Finite_vertices_iterator
-        //  to account for the additional vertices
-        void insertPointPair
-        (
-            Triangulation::Finite_vertices_iterator& vit,
-            const point2D& p,
-            const label trii,
-            const label hitSurface
-        );
-
-        //- Insert point-pair at the best intersection point between the lines
-        //  from the dual-cell real centroid and it's vertices and the surface.
-        bool insertPointPairAtIntersection
-        (
-            Triangulation::Finite_vertices_iterator& vit,
-            const point2D& defVert,
-            const point2D vertices[],
-            const scalar maxProtSize
-        );
-
-        //- Insert point-pairs corresponding to dual-cells which intersect
-        //  the boundary surface
-        label insertBoundaryConformPointPairs(const fileName& fName);
-
-        void markNearBoundaryPoints();
-
-        //- Restore the Delaunay contraint
-        void fast_restore_Delaunay(Vertex_handle vh);
-
-        // Flip operations used by fast_restore_Delaunay
-        void external_flip(Face_handle& f, int i);
-        bool internal_flip(Face_handle& f, int i);
-
-        //- Write all the faces and all the triangles at a particular stage.
-        void write(const word& stage) const;
-
-
-public:
-
-    //- Runtime type information
-    ClassName("CV2D");
-
-
-    // Constructors
-
-        //- Construct for given surface
-        CV2D(const Time& runTime, const dictionary& controlDict);
-
-
-    //- Destructor
-    ~CV2D();
-
-
-    // Member Functions
-
-        // Access
-
-            inline const cv2DControls& meshControls() const;
-
-
-        // Conversion functions between point2D, point and Point
-
-            inline const point2D& toPoint2D(const point&) const;
-            inline const point2DField toPoint2D(const pointField&) const;
-            inline point toPoint3D(const point2D&) const;
-
-            #ifdef CGAL_INEXACT
-                typedef const point2D& point2DFromPoint;
-                typedef const Point& PointFromPoint2D;
-            #else
-                typedef point2D point2DFromPoint;
-                typedef Point PointFromPoint2D;
-            #endif
-
-            inline point2DFromPoint toPoint2D(const Point&) const;
-            inline PointFromPoint2D toPoint(const point2D&) const;
-            inline point toPoint3D(const Point&) const;
-
-
-        // Point insertion
-
-            //- Create the initial mesh from the given internal points.
-            //  Points must be inside the boundary by at least nearness
-            //  otherwise they are ignored.
-            void insertPoints
-            (
-                const point2DField& points,
-                const scalar nearness
-            );
-
-            //- Create the initial mesh from the internal points in the given
-            //  file.  Points outside the geometry are ignored.
-            void insertPoints(const fileName& pointFileName);
-
-            //- Create the initial mesh as a regular grid of points.
-            //  Points outside the geometry are ignored.
-            void insertGrid();
-
-            //- Insert all surface point-pairs from
-            //  insertSurfaceNearestPointPairs and
-            //  findIntersectionForOutsideCentroid
-            void insertSurfacePointPairs();
-
-            //- Insert point-pairs where there are protrusions into
-            //  or out of the surface
-            void boundaryConform();
-
-
-        // Point removal
-
-            //- Remove the point-pairs introduced by insertSurfacePointPairs
-            //  and boundaryConform
-            void removeSurfacePointPairs();
-
-
-        // Point motion
-
-            inline void movePoint(const Vertex_handle& vh, const Point& P);
-
-            //- Move the internal points to the given new locations and update
-            //  the triangulation to ensure it is Delaunay
-            // void moveInternalPoints(const point2DField& newPoints);
-
-            //- Calculate the displacements to create the new points
-            void newPoints(const scalar relaxation);
-
-            //- Extract patch names and sizes.
-            void extractPatches
-            (
-                wordList& patchNames,
-                labelList& patchSizes,
-                EdgeMap<label>& mapEdgesRegion
-            ) const;
-
-
-        // Write
-
-            //- Write internal points to .obj file
-            void writePoints(const fileName& fName, bool internalOnly) const;
-
-            //- Write triangles as .obj file
-            void writeTriangles(const fileName& fName, bool internalOnly) const;
-
-            //- Write dual faces as .obj file
-            void writeFaces(const fileName& fName, bool internalOnly) const;
-
-            //- Calculates dual points (circumcentres of tets) and faces
-            //  (point-cell walk of tets).
-            //  Returns:
-            //  - dualPoints (in triangle ordering)
-            //  - dualFaces (compacted)
-            void calcDual
-            (
-                point2DField& dualPoints,
-                faceList& dualFaces,
-                wordList& patchNames,
-                labelList& patchSizes,
-                EdgeMap<label>& mapEdgesRegion
-            ) const;
-
-            //- Write patch
-            void writePatch(const fileName& fName) const;
-
-            void write() const;
-};
-
-
-inline bool boundaryTriangle(const CV2D::Face_handle fc);
-inline bool outsideTriangle(const CV2D::Face_handle fc);
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#include "CV2DI.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/utilities/mesh/generation/cv2DMesh/CV2DI.H b/applications/utilities/mesh/generation/cv2DMesh/CV2DI.H
deleted file mode 100644
index 80069eb694877d00a280e7153dd0d2e0f3588ae6..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/CV2DI.H
+++ /dev/null
@@ -1,227 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-inline Foam::label Foam::CV2D::insertPoint
-(
-    const point2D& p,
-    const label type
-)
-{
-    uint nVert = number_of_vertices();
-
-    return insertPoint(toPoint(p), nVert, type);
-}
-
-
-inline Foam::label Foam::CV2D::insertPoint
-(
-    const point2D& p,
-    const label index,
-    const label type
-)
-{
-    return insertPoint(toPoint(p), index, type);
-}
-
-
-inline Foam::label Foam::CV2D::insertPoint
-(
-    const Point& p,
-    const label index,
-    const label type
-)
-{
-    uint nVert = number_of_vertices();
-
-    Vertex_handle vh = insert(p);
-
-    if (nVert == number_of_vertices())
-    {
-        WarningIn("Foam::CV2D::insertPoint")
-            << "Failed to insert point " << toPoint2D(p) << endl;
-    }
-    else
-    {
-        vh->index() = index;
-        vh->type() = type;
-    }
-
-    return vh->index();
-}
-
-
-inline bool Foam::CV2D::insertMirrorPoint
-(
-    const point2D& nearSurfPt,
-    const point2D& surfPt
-)
-{
-    point2D mirrorPoint(2*surfPt - nearSurfPt);
-
-    if (qSurf_.outside(toPoint3D(mirrorPoint)))
-    {
-        insertPoint(mirrorPoint, Vb::MIRROR_POINT);
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-inline void Foam::CV2D::insertPointPair
-(
-    const scalar ppDist,
-    const point2D& surfPt,
-    const vector2D& n
-)
-{
-    vector2D ppDistn = ppDist*n;
-
-    label master = insertPoint
-    (
-        surfPt - ppDistn,
-        number_of_vertices() + 1
-    );
-
-    insertPoint(surfPt + ppDistn, master);
-}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-inline const Foam::cv2DControls& Foam::CV2D::meshControls() const
-{
-    return controls_;
-}
-
-
-inline const Foam::point2D& Foam::CV2D::toPoint2D(const point& p) const
-{
-    return reinterpret_cast<const point2D&>(p);
-}
-
-
-inline const Foam::point2DField Foam::CV2D::toPoint2D(const pointField& p) const
-{
-    point2DField temp(p.size());
-    forAll(temp, pointI)
-    {
-        temp[pointI] = point2D(p[pointI].x(), p[pointI].y());
-    }
-    return temp;
-}
-
-
-inline Foam::point Foam::CV2D::toPoint3D(const point2D& p) const
-{
-    return point(p.x(), p.y(), z_);
-}
-
-
-#ifdef CGAL_INEXACT
-
-inline Foam::CV2D::point2DFromPoint Foam::CV2D::toPoint2D(const Point& P) const
-{
-    return reinterpret_cast<point2DFromPoint>(P);
-}
-
-
-inline Foam::CV2D::PointFromPoint2D Foam::CV2D::toPoint(const point2D& p) const
-{
-    return reinterpret_cast<PointFromPoint2D>(p);
-}
-
-#else
-
-inline Foam::CV2D::point2DFromPoint Foam::CV2D::toPoint2D(const Point& P) const
-{
-    return point2D(CGAL::to_double(P.x()), CGAL::to_double(P.y()));
-}
-
-
-inline Foam::CV2D::PointFromPoint2D Foam::CV2D::toPoint(const point2D& p) const
-{
-    return Point(p.x(), p.y());
-}
-
-#endif
-
-
-inline Foam::point Foam::CV2D::toPoint3D(const Point& P) const
-{
-    return point(CGAL::to_double(P.x()), CGAL::to_double(P.y()), z_);
-}
-
-
-inline void Foam::CV2D::movePoint(const Vertex_handle& vh, const Point& P)
-{
-    int i = vh->index();
-    int t = vh->type();
-
-    remove(vh);
-
-    Vertex_handle newVh = insert(P);
-
-    newVh->index() = i;
-    newVh->type() = t;
-
-    // label i = vh->index();
-    // move(vh, P);
-    // vh->index() = i;
-
-     //vh->set_point(P);
-     //fast_restore_Delaunay(vh);
-}
-
-
-// * * * * * * * * * * * * * * * Friend Functions  * * * * * * * * * * * * * //
-
-inline bool Foam::boundaryTriangle(const CV2D::Face_handle fc)
-{
-    return boundaryTriangle
-    (
-        *fc->vertex(0),
-        *fc->vertex(1),
-        *fc->vertex(2)
-    );
-}
-
-
-inline bool Foam::outsideTriangle(const CV2D::Face_handle fc)
-{
-    return outsideTriangle
-    (
-        *fc->vertex(0),
-        *fc->vertex(1),
-        *fc->vertex(2)
-    );
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/mesh/generation/cv2DMesh/CV2DIO.C b/applications/utilities/mesh/generation/cv2DMesh/CV2DIO.C
deleted file mode 100644
index e8fa096737b60b5e2be89a10ad253465999f2725..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/CV2DIO.C
+++ /dev/null
@@ -1,304 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "CV2D.H"
-#include "OFstream.H"
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-void Foam::CV2D::writePoints(const fileName& fName, bool internalOnly) const
-{
-    Info<< "Writing points to " << fName << nl << endl;
-    OFstream str(fName);
-
-    for
-    (
-        Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
-        vit != finite_vertices_end();
-        ++vit
-    )
-    {
-        if (!internalOnly || vit->internalOrBoundaryPoint())
-        {
-            meshTools::writeOBJ(str, toPoint3D(vit->point()));
-        }
-    }
-}
-
-
-void Foam::CV2D::writeTriangles(const fileName& fName, bool internalOnly) const
-{
-    Info<< "Writing triangles to " << fName << nl << endl;
-    OFstream str(fName);
-
-    labelList vertexMap(number_of_vertices(), -2);
-    label verti = 0;
-
-    for
-    (
-        Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
-        vit != finite_vertices_end();
-        ++vit
-    )
-    {
-        if (!internalOnly || !vit->farPoint())
-        {
-            vertexMap[vit->index()] = verti++;
-            meshTools::writeOBJ(str, toPoint3D(vit->point()));
-        }
-    }
-
-    for
-    (
-        Triangulation::Finite_faces_iterator fit = finite_faces_begin();
-        fit != finite_faces_end();
-        ++fit
-    )
-    {
-        if
-        (
-            !internalOnly
-         || (
-                fit->vertex(0)->internalOrBoundaryPoint()
-             || fit->vertex(1)->internalOrBoundaryPoint()
-             || fit->vertex(2)->internalOrBoundaryPoint()
-            )
-        )
-        {
-            str << "f";
-            for (label i = 0; i < 3; ++i)
-            {
-                str << " " << vertexMap[fit->vertex(i)->index()] + 1;
-            }
-            str << nl;
-        }
-    }
-}
-
-
-void Foam::CV2D::writeFaces(const fileName& fName, bool internalOnly) const
-{
-    Info<< "Writing dual faces to " << fName << nl << endl;
-    OFstream str(fName);
-
-    label dualVerti = 0;
-
-    for
-    (
-        Triangulation::Finite_faces_iterator fit = finite_faces_begin();
-        fit != finite_faces_end();
-        ++fit
-    )
-    {
-        if
-        (
-            !internalOnly
-         || (
-                fit->vertex(0)->internalOrBoundaryPoint()
-             || fit->vertex(1)->internalOrBoundaryPoint()
-             || fit->vertex(2)->internalOrBoundaryPoint()
-            )
-        )
-        {
-            fit->faceIndex() = dualVerti++;
-            meshTools::writeOBJ(str, toPoint3D(circumcenter(fit)));
-        }
-        else
-        {
-            fit->faceIndex() = -1;
-        }
-    }
-
-    for
-    (
-        Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
-        vit != finite_vertices_end();
-        ++vit
-    )
-    {
-        if (!internalOnly || vit->internalOrBoundaryPoint())
-        {
-            Face_circulator fcStart = incident_faces(vit);
-            Face_circulator fc = fcStart;
-
-            str<< 'f';
-
-            do
-            {
-                if (!is_infinite(fc))
-                {
-                    if (fc->faceIndex() < 0)
-                    {
-                        FatalErrorIn
-                        (
-                            "Foam::CV2D::writeFaces"
-                            "(const fileName& fName, bool internalOnly)"
-                        )<< "Dual face uses vertex defined by a triangle"
-                            " defined by an external point"
-                            << exit(FatalError);
-                    }
-
-                    str<< ' ' << fc->faceIndex() + 1;
-                }
-            } while (++fc != fcStart);
-
-            str<< nl;
-        }
-    }
-}
-
-
-void Foam::CV2D::calcDual
-(
-    point2DField& dualPoints,
-    faceList& dualFaces,
-    wordList& patchNames,
-    labelList& patchSizes,
-    EdgeMap<label>& mapEdgesRegion
-) const
-{
-    // Dual points stored in triangle order.
-    dualPoints.setSize(number_of_faces());
-    label dualVerti = 0;
-
-    for
-    (
-        Triangulation::Finite_faces_iterator fit = finite_faces_begin();
-        fit != finite_faces_end();
-        ++fit
-    )
-    {
-        if
-        (
-            fit->vertex(0)->internalOrBoundaryPoint()
-         || fit->vertex(1)->internalOrBoundaryPoint()
-         || fit->vertex(2)->internalOrBoundaryPoint()
-        )
-        {
-            fit->faceIndex() = dualVerti;
-
-            dualPoints[dualVerti++] = toPoint2D(circumcenter(fit));
-        }
-        else
-        {
-            fit->faceIndex() = -1;
-        }
-    }
-
-    dualPoints.setSize(dualVerti);
-
-    extractPatches(patchNames, patchSizes, mapEdgesRegion);
-
-    forAll(patchNames, patchI)
-    {
-        Info<< "Patch " << patchNames[patchI]
-            << " has size " << patchSizes[patchI] << endl;
-    }
-
-    // Create dual faces
-    // ~~~~~~~~~~~~~~~~~
-
-    dualFaces.setSize(number_of_vertices());
-    label dualFacei = 0;
-    labelList faceVerts(maxNvert);
-
-    for
-    (
-        Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
-        vit != finite_vertices_end();
-        ++vit
-    )
-    {
-        if (vit->internalOrBoundaryPoint())
-        {
-            Face_circulator fcStart = incident_faces(vit);
-            Face_circulator fc = fcStart;
-            label verti = 0;
-
-            do
-            {
-                if (!is_infinite(fc))
-                {
-                    if (fc->faceIndex() < 0)
-                    {
-                        FatalErrorIn
-                        (
-                            "Foam::CV2D::calcDual"
-                            "(point2DField& dualPoints, faceList& dualFaces)"
-                        )<< "Dual face uses vertex defined by a triangle"
-                            " defined by an external point"
-                            << exit(FatalError);
-                    }
-
-                    // Look up the index of the triangle
-                    faceVerts[verti++] = fc->faceIndex();
-                }
-            } while (++fc != fcStart);
-
-            if (faceVerts.size() > 2)
-            {
-                dualFaces[dualFacei++] =
-                    face(labelList::subList(faceVerts, verti));
-            }
-            else
-            {
-                Info<< "From triangle point:" << vit->index()
-                    << " coord:" << toPoint2D(vit->point())
-                    << " generated illegal dualFace:" << faceVerts
-                    << endl;
-            }
-        }
-    }
-
-    dualFaces.setSize(dualFacei);
-}
-
-
-void Foam::CV2D::writePatch(const fileName& fName) const
-{
-    point2DField dual2DPoints;
-    faceList dualFaces;
-    wordList patchNames;
-    labelList patchSizes;
-    EdgeMap<label> mapEdgesRegion;
-
-    calcDual(dual2DPoints, dualFaces, patchNames, patchSizes, mapEdgesRegion);
-    pointField dualPoints(dual2DPoints.size());
-    forAll(dualPoints, ip)
-    {
-        dualPoints[ip] = toPoint3D(dual2DPoints[ip]);
-    }
-
-    // Dump as primitive patch to be read by extrudeMesh.
-    OFstream str(fName);
-
-    Info<< "Writing patch to be used with extrudeMesh to file " << fName
-        << endl;
-
-    str << dualPoints << nl << dualFaces << nl;
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/mesh/generation/cv2DMesh/Make/files b/applications/utilities/mesh/generation/cv2DMesh/Make/files
deleted file mode 100755
index ddc8c9df9274934597248c74d55e313879f3a8da..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/Make/files
+++ /dev/null
@@ -1,13 +0,0 @@
-#include CGAL_FILES
-
-CV2D.C
-insertFeaturePoints.C
-insertSurfaceNearestPointPairs.C
-insertSurfaceNearPointPairs.C
-insertBoundaryConformPointPairs.C
-CV2DIO.C
-shortEdgeFilter2D.C
-cv2DMesh.C
-
-EXE = $(FOAM_APPBIN)/cv2DMesh
-
diff --git a/applications/utilities/mesh/generation/cv2DMesh/Make/options b/applications/utilities/mesh/generation/cv2DMesh/Make/options
deleted file mode 100755
index 56af8bace3433db234a916680832036ddddd1ad7..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/Make/options
+++ /dev/null
@@ -1,36 +0,0 @@
-EXE_DEBUG = -DFULLDEBUG -g -O0
-EXE_FROUNDING_MATH = -frounding-math
-EXE_NDEBUG = -DNDEBUG
-
-include $(GENERAL_RULES)/CGAL
-FFLAGS = -DCGAL_FILES='"${CGAL_ARCH_PATH}/share/files"'
-
-EXE_INC = \
-    ${EXE_FROUNDING_MATH} \
-    ${EXE_NDEBUG} \
-    ${CGAL_INC} \
-    -I$(FOAM_APP)/utilities/mesh/generation/extrude2DMesh/extrude2DMesh/lnInclude \
-    -IconformalVoronoi2DMesh/lnInclude \
-    -I$(FOAM_APP)/utilities/mesh/generation/cvMesh/conformalVoronoiMesh/lnInclude \
-    -I$(LIB_SRC)/finiteVolume/lnInclude \
-    -I$(LIB_SRC)/meshTools/lnInclude \
-    -I$(LIB_SRC)/surfMesh/lnInclude \
-    -I$(LIB_SRC)/edgeMesh/lnInclude \
-    -I$(LIB_SRC)/dynamicMesh/lnInclude \
-    -I$(LIB_SRC)/mesh/extrudeModel/lnInclude \
-    -I$(LIB_SRC)/triSurface/lnInclude
-
-EXE_LIBS = \
-    $(CGAL_LIBS) \
-    -lboost_thread \
-    -lmpfr \
-    -lextrude2DMesh \
-    -lextrudeModel \
-    -lcv2DMesh \
-    -lconformalVoronoiMesh \
-    -lmeshTools \
-    -lsurfMesh \
-    -ledgeMesh \
-    -ltriSurface \
-    -ldynamicMesh \
-    -ldecompositionMethods
diff --git a/applications/utilities/mesh/generation/cv2DMesh/conformalVoronoi2DMesh/Make/files b/applications/utilities/mesh/generation/cv2DMesh/conformalVoronoi2DMesh/Make/files
deleted file mode 100755
index b05aa47e45d0deb95d574ba8422510b294649d16..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/conformalVoronoi2DMesh/Make/files
+++ /dev/null
@@ -1,4 +0,0 @@
-cv2DControls/cv2DControls.C
-
-LIB = $(FOAM_LIBBIN)/libcv2DMesh
-
diff --git a/applications/utilities/mesh/generation/cv2DMesh/conformalVoronoi2DMesh/Make/options b/applications/utilities/mesh/generation/cv2DMesh/conformalVoronoi2DMesh/Make/options
deleted file mode 100755
index 79be6f3a7dd8fa81ba203d5ab8572c446c43a6c7..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/conformalVoronoi2DMesh/Make/options
+++ /dev/null
@@ -1,3 +0,0 @@
-EXE_INC =
-
-LIB_LIBS =
diff --git a/applications/utilities/mesh/generation/cv2DMesh/conformalVoronoi2DMesh/cv2DControls/cv2DControls.C b/applications/utilities/mesh/generation/cv2DMesh/conformalVoronoi2DMesh/cv2DControls/cv2DControls.C
deleted file mode 100644
index 0feb90d13801b691eaabf10fb56f9a449d0da85c..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/conformalVoronoi2DMesh/cv2DControls/cv2DControls.C
+++ /dev/null
@@ -1,149 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*----------------------------------------------------------------------------*/
-
-#include "cv2DControls.H"
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-
-Foam::cv2DControls::cv2DControls
-(
-    const dictionary& controlDict,
-    const boundBox& bb
-)
-:
-    dict_(controlDict),
-
-    motionControl_(controlDict.subDict("motionControl")),
-    conformationControl_(controlDict.subDict("surfaceConformation")),
-
-    minCellSize_(readScalar(motionControl_.lookup("minCellSize"))),
-    minCellSize2_(Foam::sqr(minCellSize_)),
-
-    maxQuadAngle_(readScalar(conformationControl_.lookup("maxQuadAngle"))),
-
-    nearWallAlignedDist_
-    (
-        readScalar(motionControl_.lookup("nearWallAlignedDist"))*minCellSize_
-    ),
-    nearWallAlignedDist2_(Foam::sqr(nearWallAlignedDist_)),
-
-    insertSurfaceNearestPointPairs_
-    (
-            conformationControl_.lookup("insertSurfaceNearestPointPairs")
-    ),
-    mirrorPoints_(conformationControl_.lookup("mirrorPoints")),
-    insertSurfaceNearPointPairs_
-    (
-        conformationControl_.lookup("insertSurfaceNearPointPairs")
-    ),
-
-    objOutput_(motionControl_.lookupOrDefault<Switch>("objOutput", false)),
-
-    randomiseInitialGrid_(conformationControl_.lookup("randomiseInitialGrid")),
-    randomPerturbation_
-    (
-        readScalar(conformationControl_.lookup("randomPerturbation"))
-    ),
-
-    maxBoundaryConformingIter_
-    (
-        readLabel(conformationControl_.lookup("maxBoundaryConformingIter"))
-    ),
-
-    span_
-    (
-        max(mag(bb.max().x()), mag(bb.min().x()))
-      + max(mag(bb.max().y()), mag(bb.min().y()))
-    ),
-    span2_(Foam::sqr(span_)),
-
-    minEdgeLen_
-    (
-        readScalar(conformationControl_.lookup("minEdgeLenCoeff"))
-       *minCellSize_
-    ),
-    minEdgeLen2_(Foam::sqr(minEdgeLen_)),
-
-    maxNotchLen_
-    (
-        readScalar(conformationControl_.lookup("maxNotchLenCoeff"))
-       *minCellSize_
-    ),
-    maxNotchLen2_(Foam::sqr(maxNotchLen_)),
-
-    minNearPointDist_
-    (
-        readScalar(conformationControl_.lookup("minNearPointDistCoeff"))
-       *minCellSize_
-    ),
-    minNearPointDist2_(Foam::sqr(minNearPointDist_)),
-
-    ppDist_
-    (
-        readScalar(conformationControl_.lookup("pointPairDistanceCoeff"))
-       *minCellSize_
-    )
-{}
-
-
-// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
-
-Foam::cv2DControls::~cv2DControls()
-{}
-
-
-// * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * * //
-
-void Foam::cv2DControls::write(Ostream& os) const
-{
-    os.indentLevel() = 1;
-    os.precision(2);
-    os.flags(ios_base::scientific);
-
-    os << nl << "Outputting CV2D Mesher controls:" << nl
-       << token::BEGIN_BLOCK << nl
-       << indent << "minCellSize2_         : " << minCellSize2_ << nl
-       << indent << "span_ / span2_        : " << span_ << " / " << span2_ << nl
-       << indent << "maxNotchLen2_         : " << maxNotchLen2_ << nl
-       << indent << "minNearPointDist2_    : " << minNearPointDist2_ << nl
-       << indent << "nearWallAlignedDist2_ : " << nearWallAlignedDist2_ << nl
-       << indent << "ppDist_               : " << ppDist_ << nl
-       << indent << "minEdgeLen2_          : " << minEdgeLen2_ << nl
-       << token::END_BLOCK << endl;
-}
-
-
-// * * * * * * * * * * * * * * IOStream operators  * * * * * * * * * * * * * //
-
-Foam::Ostream& Foam::operator<<(Ostream& os, const cv2DControls& s)
-{
-    s.write(os);
-    return os;
-}
-
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/mesh/generation/cv2DMesh/conformalVoronoi2DMesh/cv2DControls/cv2DControls.H b/applications/utilities/mesh/generation/cv2DMesh/conformalVoronoi2DMesh/cv2DControls/cv2DControls.H
deleted file mode 100644
index 0b3cf0b4f2f99ea8d6f9c4097fa492ed941799ab..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/conformalVoronoi2DMesh/cv2DControls/cv2DControls.H
+++ /dev/null
@@ -1,255 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::cv2DControls
-
-Description
-    Controls for the 2D CV mesh generator.
-
-SourceFiles
-    cv2DControls.C
-    cv2DControlsI.H
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef cv2DControls_H
-#define cv2DControls_H
-
-#include "Switch.H"
-#include "dictionary.H"
-#include "boundBox.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-/*---------------------------------------------------------------------------*\
-                        Class cv2DControls Declaration
-\*---------------------------------------------------------------------------*/
-
-class cv2DControls
-{
-    // Private data
-
-        //- Description of data_
-        const dictionary& dict_;
-
-        const dictionary& motionControl_;
-
-        const dictionary& conformationControl_;
-
-
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct
-        cv2DControls(const cv2DControls&);
-
-        //- Disallow default bitwise assignment
-        void operator=(const cv2DControls&);
-
-
-public:
-
-        // Controls
-
-            //- Minimum cell size below which protusions through the surface are
-            //  not split
-            scalar minCellSize_;
-
-            //- Square of minCellSize
-            scalar minCellSize2_;
-
-            //- Maximum quadrant angle allowed at a concave corner before
-            //  additional "mitering" lines are added
-            scalar maxQuadAngle_;
-
-            //- Near-wall region where cells are aligned with the wall
-            scalar nearWallAlignedDist_;
-
-            //- Square of nearWallAlignedDist
-            scalar nearWallAlignedDist2_;
-
-            //- Insert near-boundary point mirror or point-pairs
-            Switch insertSurfaceNearestPointPairs_;
-
-            //- Mirror near-boundary points rather than insert point-pairs
-            Switch mirrorPoints_;
-
-            //- Insert point-pairs vor dual-cell vertices very near the surface
-            Switch insertSurfaceNearPointPairs_;
-
-            Switch objOutput_;
-
-            Switch randomiseInitialGrid_;
-
-            scalar randomPerturbation_;
-
-            label maxBoundaryConformingIter_;
-
-
-        // Tolerances
-
-            //- Maximum cartesian span of the geometry
-            scalar span_;
-
-            //- Square of span
-            scalar span2_;
-
-            //- Minumum edge-length of the cell size below which protusions
-            //  through the surface are not split
-            scalar minEdgeLen_;
-
-            //- Square of minEdgeLen
-            scalar minEdgeLen2_;
-
-            //- Maximum notch size below which protusions into the surface are
-            //  not filled
-            scalar maxNotchLen_;
-
-            //- Square of maxNotchLen
-            scalar maxNotchLen2_;
-
-            //- The minimum distance alowed between a dual-cell vertex
-            // and the surface before a point-pair is introduced
-            scalar minNearPointDist_;
-
-            //- Square of minNearPoint
-            scalar minNearPointDist2_;
-
-            //- Distance between boundary conforming point-pairs
-            scalar ppDist_;
-
-            //- Square of ppDist
-            scalar ppDist2_;
-
-
-    // Constructors
-
-        cv2DControls
-        (
-            const dictionary& controlDict,
-            const boundBox& bb
-        );
-
-
-    //- Destructor
-    ~cv2DControls();
-
-
-    // Member Functions
-
-        // Access
-
-            //- Return the minimum cell size
-            inline scalar minCellSize() const;
-
-            //- Return the square of the minimum cell size
-            inline scalar minCellSize2() const;
-
-            //- Return the maximum quadrant angle
-            inline scalar maxQuadAngle() const;
-
-            //- Return number of layers to align with the nearest wall
-            inline scalar nearWallAlignedDist() const;
-
-            //- Return square of nearWallAlignedDist
-            inline scalar nearWallAlignedDist2() const;
-
-            //- Return insertSurfaceNearestPointPairs Switch
-            inline Switch insertSurfaceNearestPointPairs() const;
-
-            //- Return mirrorPoints Switch
-            inline Switch mirrorPoints() const;
-
-            //- Return insertSurfaceNearPointPairs Switch
-            inline Switch insertSurfaceNearPointPairs() const;
-
-            //- Return the objOutput Switch
-            inline Switch objOutput() const;
-
-            //- Return the randomise initial point layout Switch
-            inline Switch randomiseInitialGrid() const;
-
-            //- Return the random perturbation factor
-            inline scalar randomPerturbation() const;
-
-            //- Return the maximum number of boundary conformation iterations
-            inline label maxBoundaryConformingIter() const;
-
-            //- Return the span
-            inline scalar span() const;
-
-            //- Return the span squared
-            inline scalar span2() const;
-
-            //- Return the minEdgeLen
-            inline scalar minEdgeLen() const;
-
-            //- Return the minEdgeLen squared
-            inline scalar minEdgeLen2() const;
-
-            //- Return the maxNotchLen
-            inline scalar maxNotchLen() const;
-
-            //- Return the maxNotchLen squared
-            inline scalar maxNotchLen2() const;
-
-            //- Return the minNearPointDist
-            inline scalar minNearPointDist() const;
-
-            //- Return the minNearPointDist squared
-            inline scalar minNearPointDist2() const;
-
-            //- Return the ppDist
-            inline scalar ppDist() const;
-
-
-        // Write
-
-            //- Write controls to output stream.
-            void write(Ostream& os) const;
-
-            //- Ostream Operator
-            friend Ostream& operator<<
-            (
-                Ostream& os,
-                const cv2DControls& s
-            );
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#include "cv2DControlsI.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/utilities/mesh/generation/cv2DMesh/conformalVoronoi2DMesh/cv2DControls/cv2DControlsI.H b/applications/utilities/mesh/generation/cv2DMesh/conformalVoronoi2DMesh/cv2DControls/cv2DControlsI.H
deleted file mode 100644
index f5187100b68599d6132c7ed445f5c1cc12008ac9..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/conformalVoronoi2DMesh/cv2DControls/cv2DControlsI.H
+++ /dev/null
@@ -1,152 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-inline Foam::scalar Foam::cv2DControls::minCellSize() const
-{
-    return minCellSize_;
-}
-
-
-inline Foam::scalar Foam::cv2DControls::minCellSize2() const
-{
-    return minCellSize2_;
-}
-
-
-inline Foam::scalar Foam::cv2DControls::maxQuadAngle() const
-{
-    return maxQuadAngle_;
-}
-
-
-inline Foam::scalar Foam::cv2DControls::nearWallAlignedDist() const
-{
-    return nearWallAlignedDist_;
-}
-
-
-inline Foam::scalar Foam::cv2DControls::nearWallAlignedDist2() const
-{
-    return nearWallAlignedDist2_;
-}
-
-
-inline Foam::Switch Foam::cv2DControls::insertSurfaceNearestPointPairs() const
-{
-    return insertSurfaceNearestPointPairs_;
-}
-
-
-inline Foam::Switch Foam::cv2DControls::mirrorPoints() const
-{
-    return mirrorPoints_;
-}
-
-
-inline Foam::Switch Foam::cv2DControls::insertSurfaceNearPointPairs() const
-{
-    return insertSurfaceNearPointPairs_;
-}
-
-
-inline Foam::Switch Foam::cv2DControls::objOutput() const
-{
-    return objOutput_;
-}
-
-
-inline Foam::Switch Foam::cv2DControls::randomiseInitialGrid() const
-{
-    return randomiseInitialGrid_;
-}
-
-
-inline Foam::scalar Foam::cv2DControls::randomPerturbation() const
-{
-    return randomPerturbation_;
-}
-
-
-inline Foam::label Foam::cv2DControls::maxBoundaryConformingIter() const
-{
-    return maxBoundaryConformingIter_;
-}
-
-
-inline Foam::scalar Foam::cv2DControls::span() const
-{
-    return span_;
-}
-
-
-inline Foam::scalar Foam::cv2DControls::span2() const
-{
-    return span2_;
-}
-
-
-inline Foam::scalar Foam::cv2DControls::minEdgeLen() const
-{
-    return minEdgeLen_;
-}
-
-
-inline Foam::scalar Foam::cv2DControls::minEdgeLen2() const
-{
-    return minEdgeLen2_;
-}
-
-
-inline Foam::scalar Foam::cv2DControls::maxNotchLen() const
-{
-    return maxNotchLen_;
-}
-
-
-inline Foam::scalar Foam::cv2DControls::maxNotchLen2() const
-{
-    return maxNotchLen2_;
-}
-
-
-inline Foam::scalar Foam::cv2DControls::minNearPointDist() const
-{
-    return minNearPointDist_;
-}
-
-
-inline Foam::scalar Foam::cv2DControls::minNearPointDist2() const
-{
-    return minNearPointDist2_;
-}
-
-
-inline Foam::scalar Foam::cv2DControls::ppDist() const
-{
-    return ppDist_;
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/mesh/generation/cv2DMesh/cv2DMesh.C b/applications/utilities/mesh/generation/cv2DMesh/cv2DMesh.C
deleted file mode 100644
index b868d5c83c3c7aea3dda0db9608c4d5a7a9cfd54..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/cv2DMesh.C
+++ /dev/null
@@ -1,263 +0,0 @@
-/*---------------------------------------------------------------------------*\
- =========                   |
- \\      /   F ield          | OpenFOAM: The Open Source CFD Toolbox
-  \\    /    O peration      |
-   \\  /     A nd            | Copyright (C) 2011-2012 OpenFOAM Foundation
-    \\/      M anipulation   |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Application
-    cv2DMesh
-
-Description
-    Conformal-Voronoi 2D extruding automatic mesher with grid or read
-    initial points and point position relaxation with optional
-    "squarification".
-
-\*---------------------------------------------------------------------------*/
-
-#include "CV2D.H"
-#include "argList.H"
-
-#include "MeshedSurfaces.H"
-#include "shortEdgeFilter2D.H"
-#include "extrude2DMesh.H"
-#include "polyMesh.H"
-#include "patchToPoly2DMesh.H"
-#include "extrudeModel.H"
-#include "polyTopoChange.H"
-#include "edgeCollapser.H"
-#include "relaxationModel.H"
-
-using namespace Foam;
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-int main(int argc, char *argv[])
-{
-    argList::noParallel();
-    argList::validArgs.clear();
-    argList::validOptions.insert("pointsFile", "<filename>");
-
-    #include "addOverwriteOption.H"
-
-    #include "setRootCase.H"
-    #include "createTime.H"
-
-    // Read control dictionary
-    // ~~~~~~~~~~~~~~~~~~~~~~~
-    IOdictionary controlDict
-    (
-        IOobject
-        (
-            args.executable() + "Dict",
-            runTime.system(),
-            runTime,
-            IOobject::MUST_READ_IF_MODIFIED,
-            IOobject::NO_WRITE
-        )
-    );
-
-    const dictionary& shortEdgeFilterDict
-    (
-        controlDict.subDict("shortEdgeFilter")
-    );
-    const dictionary& extrusionDict(controlDict.subDict("extrusion"));
-
-    Switch extrude(extrusionDict.lookup("extrude"));
-    const bool overwrite = args.optionFound("overwrite");
-
-    autoPtr<relaxationModel> relax
-    (
-        relaxationModel::New
-        (
-            controlDict.subDict("motionControl"),
-            runTime
-        )
-    );
-
-    // Read and triangulation
-    // ~~~~~~~~~~~~~~~~~~~~~~
-    CV2D mesh(runTime, controlDict);
-    if (args.options().found("pointsFile"))
-    {
-        fileName pointFileName(IStringStream(args.options()["pointsFile"])());
-        mesh.insertPoints(pointFileName);
-        mesh.insertSurfacePointPairs();
-        mesh.boundaryConform();
-    }
-    else
-    {
-        mesh.insertGrid();
-        mesh.insertSurfacePointPairs();
-        mesh.boundaryConform();
-    }
-
-    while (runTime.loop())
-    {
-        Info<< nl << "Time = " << runTime.timeName() << nl
-            << "Relaxation = " << relax->relaxation() << endl;
-
-        mesh.newPoints(relax->relaxation());
-    }
-
-    mesh.write();
-
-    Info<< "Finished Delaunay in = " << runTime.cpuTimeIncrement() << " s."
-        << endl;
-
-    Info<< "Begin filtering short edges:" << endl;
-    shortEdgeFilter2D sef(mesh, shortEdgeFilterDict);
-
-    sef.filter();
-
-    Info<< "Meshed surface after edge filtering :" << endl;
-    sef.fMesh().writeStats(Info);
-
-    Info<< "Write .obj file of the 2D mesh: MeshedSurface.obj" << endl;
-    sef.fMesh().write("MeshedSurface.obj");
-
-    Info<< "Finished filtering in = " << runTime.cpuTimeIncrement() << " s."
-        << endl;
-
-    Info<< "Begin constructing a polyMesh:" << endl;
-
-    patchToPoly2DMesh poly2DMesh
-    (
-        sef.fMesh(),
-        sef.patchNames(),
-        sef.patchSizes(),
-        sef.mapEdgesRegion()
-    );
-
-    poly2DMesh.createMesh();
-
-    polyMesh pMesh
-    (
-        IOobject
-        (
-            polyMesh::defaultRegion,
-            runTime.constant(),
-            runTime,
-            IOobject::NO_READ,
-            IOobject::NO_WRITE,
-            false
-        ),
-        xferMove(poly2DMesh.points()),
-        xferMove(poly2DMesh.faces()),
-        xferMove(poly2DMesh.owner()),
-        xferMove(poly2DMesh.neighbour())
-    );
-
-    Info<< "Constructing patches." << endl;
-    List<polyPatch*> patches(poly2DMesh.patchNames().size());
-
-    forAll(patches, patchI)
-    {
-        patches[patchI] = new polyPatch
-        (
-            poly2DMesh.patchNames()[patchI],
-            poly2DMesh.patchSizes()[patchI],
-            poly2DMesh.patchStarts()[patchI],
-            patchI,
-            pMesh.boundaryMesh()
-        );
-    }
-
-    pMesh.addPatches(patches);
-
-    if (extrude)
-    {
-        Info<< "Begin extruding the polyMesh:" << endl;
-
-        {
-            // Point generator
-            autoPtr<extrudeModel> model(extrudeModel::New(extrusionDict));
-
-            extrude2DMesh extruder(pMesh, extrusionDict, model());
-
-            extruder.addFrontBackPatches();
-
-            polyTopoChange meshMod(pMesh.boundaryMesh().size());
-
-            extruder.setRefinement(meshMod);
-
-            autoPtr<mapPolyMesh> morphMap = meshMod.changeMesh(pMesh, false);
-
-            pMesh.updateMesh(morphMap);
-        }
-
-        {
-            edgeCollapser collapser(pMesh);
-
-            const edgeList& edges = pMesh.edges();
-            const pointField& points = pMesh.points();
-
-            const boundBox& bb = pMesh.bounds();
-            const scalar mergeDim = 1e-4 * bb.minDim();
-
-            forAll(edges, edgeI)
-            {
-                const edge& e = edges[edgeI];
-
-                scalar d = e.mag(points);
-
-                if (d < mergeDim)
-                {
-                    Info<< "Merging edge " << e << " since length " << d
-                        << " << " << mergeDim << endl;
-
-                    // Collapse edge to e[0]
-                    collapser.collapseEdge(edgeI, e[0]);
-                }
-            }
-
-            polyTopoChange meshModCollapse(pMesh);
-
-            collapser.setRefinement(meshModCollapse);
-
-            // Create a mesh from topo changes.
-            autoPtr<mapPolyMesh> morphMap =
-                meshModCollapse.changeMesh(pMesh, false);
-
-            pMesh.updateMesh(morphMap);
-        }
-
-        if (!overwrite)
-        {
-            runTime++;
-        }
-        else
-        {
-            pMesh.setInstance("constant");
-        }
-
-    }
-
-    pMesh.write();
-
-    Info<< "Finished extruding in = "
-        << runTime.cpuTimeIncrement() << " s." << endl;
-
-    Info<< nl << "End\n" << endl;
-
-    return 0;
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/mesh/generation/cv2DMesh/cv2DMeshDict b/applications/utilities/mesh/generation/cv2DMesh/cv2DMeshDict
deleted file mode 100644
index 0ef6d2a0c4794677e257056a9a23d3b1e59975d2..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/cv2DMeshDict
+++ /dev/null
@@ -1,208 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-| =========                 |                                                 |
-| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
-|  \\    /   O peration     | Version:  dev                                   |
-|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
-|    \\/     M anipulation  |                                                 |
-\*---------------------------------------------------------------------------*/
-
-FoamFile
-{
-    version         2.0;
-    format          ascii;
-
-    root            "";
-    case            "";
-    instance        "";
-    local           "";
-
-    class           dictionary;
-    object          cv2DMeshDict;
-}
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-
-geometry
-{
-    laurence_clean_preciser.stl
-    {
-        name laurence_clean_preciser;
-        type closedTriSurfaceMesh;
-        //type triSurfaceMesh;
-    }
-//    refinementBox
-//    {
-//        type searchableBox;
-//        min (-0.5 0.35 -1000);
-//        max (-0.5 0.35 1000);
-//    }
-//    refinementSphere
-//    {
-//        type searchableSphere;
-//        centre (0.85 0.4 0.0);
-//        radius 0.01;
-//    }
-}
-
-surfaceConformation
-{
-    locationInMesh (-2.8 0.7 0.5);
-
-    pointPairDistanceCoeff    0.005;
-
-    minEdgeLenCoeff           0.005;
-
-    maxNotchLenCoeff          0.003;
-
-    minNearPointDistCoeff     0.0025;
-
-    maxQuadAngle 125;
-
-    // Insert near-boundary point mirror or point-pairs
-    insertSurfaceNearestPointPairs yes;
-
-    // Mirror near-boundary points rather than insert point-pairs
-    mirrorPoints   no;
-
-    // Insert point-pairs vor dual-cell vertices very near the surface
-    insertSurfaceNearPointPairs yes;
-
-    // Maximum number of iterations used in boundaryConform.
-    maxBoundaryConformingIter 5;
-
-    geometryToConformTo
-    {
-        laurence_clean_preciser
-        {
-            featureMethod extendedFeatureEdgeMesh;
-            extendedFeatureEdgeMesh "laurence_clean_preciser.extendedFeatureEdgeMesh";
-        }
-    }
-
-    additionalFeatures
-    {
-    }
-
-    // Choose if to randomise the initial grid created by insertGrid.
-    randomiseInitialGrid yes;
-
-    // Perturbation fraction, 1 = cell-size.
-    randomPerturbation   0.1;
-
-}
-
-
-motionControl
-{
-    defaultCellSize     0.05;
-
-    // Assign a priority to all requests for cell sizes, the highest overrules.
-    defaultPriority     0;
-
-    cellSizeControlGeometry
-    {
-        laurence_clean_preciser
-        {
-            priority              1;
-            mode                  bothSides;
-            cellSizeFunction      linearDistance;
-            linearDistanceCoeffs
-            {
-                distanceCellSize  0.05;
-                surfaceCellSize   0.01;
-                distance          0.5;
-            }
-            uniformCoeffs
-            {
-                cellSize          0.01;
-            }
-        }
-//        refinementBox
-//        {
-//            priority            1;
-//            mode                outside;
-//            cellSizeFunction    linearDistance;
-//            linearDistanceCoeffs
-//            {
-//                distanceCellSize 0.04;
-//                surfaceCellSize 0.005;
-//                distance        0.2;
-//            }
-//        }
-//        refinementSphere
-//        {
-//            priority            1;
-//            mode                outside;
-//            cellSizeFunction    linearDistance;
-//            linearDistanceCoeffs
-//            {
-//                distanceCellSize 0.04;
-//                surfaceCellSize 0.005;
-//                distance        0.2;
-//            }
-//        }
-    }
-
-    relaxationModel     adaptiveLinear;
-
-    adaptiveLinearCoeffs
-    {
-        relaxationStart 0.5;
-        relaxationEnd   0.0;
-    }
-
-    objOutput                   no;
-
-    // Near-wall region where cells are aligned with the wall specified as a number
-    // of cell layers
-    nearWallAlignedDist 3;
-
-}
-
-shortEdgeFilter
-{
-    // Factor to multiply the average of a face's edge lengths by.
-    // If an edge of that face is smaller than that value then delete it.
-    shortEdgeFilterFactor     0.2;
-
-    // Weighting for the lengths of edges that are attached to the boundaries.
-    // Used when calculating the length of an edge. Default 2.0.
-    edgeAttachedToBoundaryFactor 2.0;
-}
-
-extrusion
-{
-    extrude         on;
-
-    extrudeModel        linearDirection;
-    //extrudeModel        wedge;
-
-    patchInfo
-    {
-        //type empty;
-        //startFace
-    }
-
-    patchType           empty;
-    //patchType           wedge;
-
-    nLayers             1;
-
-    expansionRatio      1.0;    //0.9;
-
-    linearDirectionCoeffs
-    {
-        direction       (0 0 1);
-        thickness       0.1;
-    }
-
-    wedgeCoeffs
-    {
-        axisPt      (0 0 0);
-        axis        (1 0 0);
-        angle       10;
-    }
-
-    thickness       0.1;
-}
diff --git a/applications/utilities/mesh/generation/cv2DMesh/featuresMissingFrom2D.org b/applications/utilities/mesh/generation/cv2DMesh/featuresMissingFrom2D.org
deleted file mode 100644
index 857c41f31c3293d52b5e7f7105e524e9285399aa..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/featuresMissingFrom2D.org
+++ /dev/null
@@ -1,3 +0,0 @@
-* Displacement limiting
-
-http://en.wikipedia.org/wiki/Geometric_algebra
diff --git a/applications/utilities/mesh/generation/cv2DMesh/indexedFace.H b/applications/utilities/mesh/generation/cv2DMesh/indexedFace.H
deleted file mode 100644
index ab26ac713498bdb2a7154a8e3a15d038b03e1a82..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/indexedFace.H
+++ /dev/null
@@ -1,135 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    indexedFace
-
-Description
-    An indexed form of CGAL::Triangulation_face_base_2<K> used to keep
-    track of the vertices in the triangulation.
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef indexedFace_H
-#define indexedFace_H
-
-#include <CGAL/Triangulation_2.h>
-#include "indexedVertex.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace CGAL
-{
-
-/*---------------------------------------------------------------------------*\
-                       Class indexedFace Declaration
-\*---------------------------------------------------------------------------*/
-
-template<class Gt, class Fb=CGAL::Triangulation_face_base_2<Gt> >
-class indexedFace
-:
-    public Fb
-{
-    // Private data
-
-        //- The index for this triangle face
-        //  -1: triangle and changed and associated data needs updating
-        // >=0: index of triangles, set by external update algorithm
-        int index_;
-
-
-public:
-
-    enum faceTypes
-    {
-        UNCHANGED           = 0,
-        CHANGED             = -1,
-        SAVE_CHANGED        = -2
-    };
-
-    typedef typename Fb::Vertex_handle                   Vertex_handle;
-    typedef typename Fb::Face_handle                     Face_handle;
-
-    template < typename TDS2 >
-    struct Rebind_TDS
-    {
-        typedef typename Fb::template Rebind_TDS<TDS2>::Other Fb2;
-        typedef indexedFace<Gt, Fb2>  Other;
-    };
-
-
-    // Constructors
-
-        inline indexedFace();
-
-        inline indexedFace
-        (
-            Vertex_handle v0,
-            Vertex_handle v1,
-            Vertex_handle v2
-        );
-
-        inline indexedFace
-        (
-            Vertex_handle v0,
-            Vertex_handle v1,
-            Vertex_handle v2,
-            Face_handle n0,
-            Face_handle n1,
-            Face_handle n2
-        );
-
-
-    // Member Functions
-
-        inline void set_vertex(int i, Vertex_handle v);
-
-        inline void set_vertices();
-
-        inline void set_vertices
-        (
-            Vertex_handle v0,
-            Vertex_handle v1,
-            Vertex_handle v2
-        );
-
-        inline int& faceIndex();
-
-        inline int faceIndex() const;
-
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace CGAL
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#include "indexedFaceI.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/utilities/mesh/generation/cv2DMesh/indexedFaceI.H b/applications/utilities/mesh/generation/cv2DMesh/indexedFaceI.H
deleted file mode 100644
index c3151fffc5eaddf14c25bd3d410f16a68106c483..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/indexedFaceI.H
+++ /dev/null
@@ -1,110 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-template<class Gt, class Fb>
-inline CGAL::indexedFace<Gt, Fb>::indexedFace()
-:
-    Fb(),
-    index_(CHANGED)
-{}
-
-
-template<class Gt, class Fb>
-inline CGAL::indexedFace<Gt, Fb>::indexedFace
-(
-    Vertex_handle v0,
-    Vertex_handle v1,
-    Vertex_handle v2
-)
-:
-    Fb(v0, v1, v2),
-    index_(CHANGED)
-{}
-
-
-template<class Gt, class Fb>
-inline CGAL::indexedFace<Gt, Fb>::indexedFace
-(
-    Vertex_handle v0,
-    Vertex_handle v1,
-    Vertex_handle v2,
-    Face_handle n0,
-    Face_handle n1,
-    Face_handle n2
-)
-:
-    Fb(v0, v1, v2, n0, n1, n2),
-    index_(CHANGED)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-template<class Gt, class Fb>
-inline void CGAL::indexedFace<Gt, Fb>::set_vertex(int i, Vertex_handle v)
-{
-    index_ = CHANGED;
-    Fb::set_vertex(i, v);
-}
-
-
-template<class Gt, class Fb>
-inline void CGAL::indexedFace<Gt, Fb>::set_vertices()
-{
-    index_ = CHANGED;
-    Fb::set_vertices();
-}
-
-
-template<class Gt, class Fb>
-inline void CGAL::indexedFace<Gt, Fb>::set_vertices
-(
-    Vertex_handle v0,
-    Vertex_handle v1,
-    Vertex_handle v2
-)
-{
-    index_ = CHANGED;
-    Fb::set_vertices(v0, v1, v2);
-}
-
-
-template<class Gt, class Fb>
-inline int& CGAL::indexedFace<Gt, Fb>::faceIndex()
-{
-    return index_;
-}
-
-
-template<class Gt, class Fb>
-inline int CGAL::indexedFace<Gt, Fb>::faceIndex() const
-{
-    return index_;
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/utilities/mesh/generation/cv2DMesh/indexedVertex.H b/applications/utilities/mesh/generation/cv2DMesh/indexedVertex.H
deleted file mode 100644
index fca82d936b118c6eac6f75fae96fa98d1153ddfe..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/indexedVertex.H
+++ /dev/null
@@ -1,210 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    indexedVertex
-
-Description
-    An indexed form of CGAL::Triangulation_vertex_base_2<K> used to keep
-    track of the vertices in the triangulation.
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef indexedVertex_H
-#define indexedVertex_H
-
-#include <CGAL/Triangulation_2.h>
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace CGAL
-{
-
-// Forward declaration of friend functions and operators
-
-template<class Gt, class Vb>
-class indexedVertex;
-
-template<class Gt, class Vb>
-bool pointPair
-(
-    const indexedVertex<Gt, Vb>& v0,
-    const indexedVertex<Gt, Vb>& v1
-);
-
-template<class Gt, class Vb>
-bool boundaryTriangle
-(
-    const indexedVertex<Gt, Vb>& v0,
-    const indexedVertex<Gt, Vb>& v1,
-    const indexedVertex<Gt, Vb>& v2
-);
-
-template<class Gt, class Vb>
-bool outsideTriangle
-(
-    const indexedVertex<Gt, Vb>& v0,
-    const indexedVertex<Gt, Vb>& v1,
-    const indexedVertex<Gt, Vb>& v2
-);
-
-/*---------------------------------------------------------------------------*\
-                       Class indexedVertex Declaration
-\*---------------------------------------------------------------------------*/
-
-template<class Gt, class Vb=CGAL::Triangulation_vertex_base_2<Gt> >
-class indexedVertex
-:
-    public Vb
-{
-    // Private data
-
-        //- The index for this triangle vertex
-        int index_;
-
-        //- Index of pair-point :
-        //  NEAR_BOUNDARY_POINT : internal near boundary point.
-        //  INTERNAL_POINT      : internal point.
-        //  FAR_POINT           : far-point.
-        //  >= 0                : part of point-pair. Index of other point.
-        //                        Lowest numbered is inside one (master).
-        int type_;
-
-
-public:
-
-    enum pointTypes
-    {
-        NEAR_BOUNDARY_POINT = -4,
-        INTERNAL_POINT      = -3,
-        MIRROR_POINT        = -2,
-        FAR_POINT           = -1
-    };
-
-    typedef typename Vb::Vertex_handle      Vertex_handle;
-    typedef typename Vb::Face_handle        Face_handle;
-    typedef typename Vb::Point              Point;
-
-    template<typename TDS2>
-    struct Rebind_TDS
-    {
-        typedef typename Vb::template Rebind_TDS<TDS2>::Other    Vb2;
-        typedef indexedVertex<Gt,Vb2>                           Other;
-    };
-
-
-    // Constructors
-
-        inline indexedVertex();
-
-        inline indexedVertex(const Point& p);
-
-        inline indexedVertex(const Point& p, const int index, const int& type);
-
-        inline indexedVertex(const Point& p, Face_handle f);
-
-        inline indexedVertex(Face_handle f);
-
-
-    // Member Functions
-
-        inline int& index();
-
-        inline int index() const;
-
-        inline int& type();
-
-        inline int type() const;
-
-        //- Is point a far-point
-        inline bool farPoint() const;
-
-        //- Is point internal, i.e. not on boundary
-        inline bool internalPoint() const;
-
-        //- Is point internal and near the boundary
-        inline bool nearBoundary() const;
-
-        //- Set the point to be near the boundary
-        inline void setNearBoundary();
-
-        //- Is point a mirror point
-        inline bool mirrorPoint() const;
-
-        //- Either master or slave of pointPair.
-        inline bool pairPoint() const;
-
-        //- Master of a pointPair is the lowest numbered one.
-        inline bool ppMaster() const;
-
-        //- Slave of a pointPair is the highest numbered one.
-        inline bool ppSlave() const;
-
-        //- Either original internal point or master of pointPair.
-        inline bool internalOrBoundaryPoint() const;
-
-        //- Is point near the boundary or part of the boundary definition
-        inline bool nearOrOnBoundary() const;
-
-
-    // Friend Functions
-
-        //- Do the two given vertices consitute a boundary point-pair
-        friend bool pointPair <Gt, Vb>
-        (
-            const indexedVertex<Gt, Vb>& v0,
-            const indexedVertex<Gt, Vb>& v1
-        );
-
-        //- Do the three given vertices consitute a boundary triangle
-        friend bool boundaryTriangle <Gt, Vb>
-        (
-            const indexedVertex<Gt, Vb>& v0,
-            const indexedVertex<Gt, Vb>& v1,
-            const indexedVertex<Gt, Vb>& v2
-        );
-
-        //- Do the three given vertices consitute an outside triangle
-        friend bool outsideTriangle <Gt, Vb>
-        (
-            const indexedVertex<Gt, Vb>& v0,
-            const indexedVertex<Gt, Vb>& v1,
-            const indexedVertex<Gt, Vb>& v2
-        );
-
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace CGAL
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#include "indexedVertexI.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //
diff --git a/applications/utilities/mesh/generation/cv2DMesh/indexedVertexI.H b/applications/utilities/mesh/generation/cv2DMesh/indexedVertexI.H
deleted file mode 100644
index 65b254aabdfe25ac40b524af37b7ef832ae6cbe3..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/indexedVertexI.H
+++ /dev/null
@@ -1,233 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-template<class Gt, class Vb>
-inline CGAL::indexedVertex<Gt, Vb>::indexedVertex()
-:
-    Vb(),
-    index_(INTERNAL_POINT),
-    type_(INTERNAL_POINT)
-{}
-
-
-template<class Gt, class Vb>
-inline CGAL::indexedVertex<Gt, Vb>::indexedVertex(const Point& p)
-:
-    Vb(p),
-    index_(INTERNAL_POINT),
-    type_(INTERNAL_POINT)
-{}
-
-
-template<class Gt, class Vb>
-inline CGAL::indexedVertex<Gt, Vb>::indexedVertex
-(
-    const Point& p,
-    const int index,
-    const int& type
-)
-:
-    Vb(p),
-    index_(index),
-    type_(type)
-{}
-
-
-template<class Gt, class Vb>
-inline CGAL::indexedVertex<Gt, Vb>::indexedVertex(const Point& p, Face_handle f)
-:
-    Vb(f, p),
-    index_(INTERNAL_POINT),
-    type_(INTERNAL_POINT)
-{}
-
-
-template<class Gt, class Vb>
-inline CGAL::indexedVertex<Gt, Vb>::indexedVertex(Face_handle f)
-:
-    Vb(f),
-    index_(INTERNAL_POINT),
-    type_(INTERNAL_POINT)
-{}
-
-
-// * * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * //
-
-template<class Gt, class Vb>
-inline int& CGAL::indexedVertex<Gt, Vb>::index()
-{
-    return index_;
-}
-
-
-template<class Gt, class Vb>
-inline int CGAL::indexedVertex<Gt, Vb>::index() const
-{
-    return index_;
-}
-
-
-template<class Gt, class Vb>
-inline int& CGAL::indexedVertex<Gt, Vb>::type()
-{
-    return type_;
-}
-
-
-template<class Gt, class Vb>
-inline int CGAL::indexedVertex<Gt, Vb>::type() const
-{
-    return type_;
-}
-
-
-template<class Gt, class Vb>
-inline bool CGAL::indexedVertex<Gt, Vb>::farPoint() const
-{
-    return type_ == FAR_POINT;
-}
-
-
-template<class Gt, class Vb>
-inline bool CGAL::indexedVertex<Gt, Vb>::internalPoint() const
-{
-    return type_ <= INTERNAL_POINT;
-}
-
-
-template<class Gt, class Vb>
-inline bool CGAL::indexedVertex<Gt, Vb>::nearBoundary() const
-{
-    return type_ == NEAR_BOUNDARY_POINT;
-}
-
-
-template<class Gt, class Vb>
-inline void CGAL::indexedVertex<Gt, Vb>::setNearBoundary()
-{
-    type_ = NEAR_BOUNDARY_POINT;
-}
-
-
-template<class Gt, class Vb>
-inline bool CGAL::indexedVertex<Gt, Vb>::mirrorPoint() const
-{
-    return type_ == MIRROR_POINT;
-}
-
-
-template<class Gt, class Vb>
-inline bool CGAL::indexedVertex<Gt, Vb>::pairPoint() const
-{
-    return type_ >= 0;
-}
-
-
-template<class Gt, class Vb>
-inline bool CGAL::indexedVertex<Gt, Vb>::ppMaster() const
-{
-    if (type_ > index_)
-    {
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-template<class Gt, class Vb>
-inline bool CGAL::indexedVertex<Gt, Vb>::ppSlave() const
-{
-    if (type_ >= 0 && type_ < index_)
-    {
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-template<class Gt, class Vb>
-inline bool CGAL::indexedVertex<Gt, Vb>::internalOrBoundaryPoint() const
-{
-    return internalPoint() || ppMaster();
-}
-
-
-template<class Gt, class Vb>
-inline bool CGAL::indexedVertex<Gt, Vb>::nearOrOnBoundary() const
-{
-    return pairPoint() || mirrorPoint() || nearBoundary();
-}
-
-
-// * * * * * * * * * * * * * * * Friend Functions  * * * * * * * * * * * * * //
-
-template<class Gt, class Vb>
-bool CGAL::pointPair
-(
-    const indexedVertex<Gt, Vb>& v0,
-    const indexedVertex<Gt, Vb>& v1
-)
-{
-    return v0.index_ == v1.type_ || v1.index_ == v0.type_;
-}
-
-
-template<class Gt, class Vb>
-bool CGAL::boundaryTriangle
-(
-    const indexedVertex<Gt, Vb>& v0,
-    const indexedVertex<Gt, Vb>& v1,
-    const indexedVertex<Gt, Vb>& v2
-)
-{
-    return (v0.pairPoint() && pointPair(v1, v2))
-        || (v1.pairPoint() && pointPair(v2, v0))
-        || (v2.pairPoint() && pointPair(v0, v1));
-}
-
-
-template<class Gt, class Vb>
-bool CGAL::outsideTriangle
-(
-    const indexedVertex<Gt, Vb>& v0,
-    const indexedVertex<Gt, Vb>& v1,
-    const indexedVertex<Gt, Vb>& v2
-)
-{
-    return (v0.farPoint() || v0.ppSlave())
-        || (v1.farPoint() || v1.ppSlave())
-        || (v2.farPoint() || v2.ppSlave());
-}
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
diff --git a/applications/utilities/mesh/generation/cv2DMesh/insertBoundaryConformPointPairs.C b/applications/utilities/mesh/generation/cv2DMesh/insertBoundaryConformPointPairs.C
deleted file mode 100644
index 55f46274778ce348ef8fec3ba3dc83ddc8a67dd7..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/insertBoundaryConformPointPairs.C
+++ /dev/null
@@ -1,323 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*----------------------------------------------------------------------------*/
-
-#include "CV2D.H"
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void Foam::CV2D::insertPointPair
-(
-    Triangulation::Finite_vertices_iterator& vit,
-    const point2D& p,
-    const label trii,
-    const label hitSurface
-)
-{
-    if
-    (
-        !meshControls().mirrorPoints()
-     || !insertMirrorPoint(toPoint2D(vit->point()), p)
-    )
-    {
-        pointIndexHit pHit
-        (
-            true,
-            toPoint3D(p),
-            trii
-        );
-
-        vectorField norm(1);
-        qSurf_.geometry()[hitSurface].getNormal
-        (
-            List<pointIndexHit>(1, pHit),
-            norm
-        );
-
-        insertPointPair
-        (
-            meshControls().ppDist(),
-            p,
-            toPoint2D(norm[0])
-        );
-    }
-
-    vit = Triangulation::Finite_vertices_iterator
-    (
-        CGAL::Filter_iterator
-        <
-            Triangulation::All_vertices_iterator,
-            Triangulation::Infinite_tester
-        >(finite_vertices_end(), vit.predicate(), vit.base())
-    );
-}
-
-
-bool Foam::CV2D::insertPointPairAtIntersection
-(
-    Triangulation::Finite_vertices_iterator& vit,
-    const point2D& defVert,
-    const point2D vertices[],
-    const scalar maxProtSize2
-)
-{
-    bool found = false;
-    point2D interPoint;
-    label interTri = -1;
-    label interHitSurface = -1;
-    scalar interDist2 = 0;
-
-    Face_circulator fcStart = incident_faces(vit);
-    Face_circulator fc = fcStart;
-    label vi = 0;
-
-    do
-    {
-        if (!is_infinite(fc))
-        {
-            pointIndexHit pHit;
-            label hitSurface = -1;
-
-            qSurf_.findSurfaceNearestIntersection
-            (
-                toPoint3D(defVert),
-                toPoint3D(vertices[vi]),
-                pHit,
-                hitSurface
-            );
-
-            if (pHit.hit())
-            {
-                scalar dist2 =
-                    magSqr(toPoint2D(pHit.hitPoint()) - vertices[vi]);
-
-                // Check the point is further away than the furthest so far
-                if (dist2 > interDist2)
-                {
-                    scalar mps2 = maxProtSize2;
-
-                    // If this is a boundary triangle reset the tolerance
-                    // to avoid finding a hit point very close to a boundary
-                    // vertex
-                    if (boundaryTriangle(fc))
-                    {
-                        mps2 = meshControls().maxNotchLen2();
-                    }
-
-                    if (dist2 > mps2)
-                    {
-                        found = true;
-                        interPoint = toPoint2D(pHit.hitPoint());
-                        interTri = pHit.index();
-                        interDist2 = dist2;
-                        interHitSurface = hitSurface;
-                    }
-                }
-            }
-
-            vi++;
-        }
-    } while (++fc != fcStart);
-
-    if (found)
-    {
-        insertPointPair(vit, interPoint, interTri, interHitSurface);
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-
-Foam::label Foam::CV2D::insertBoundaryConformPointPairs
-(
-    const fileName& fName
-)
-{
-    label nIntersections = 0;
-
-    for
-    (
-        Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
-        vit != finite_vertices_end();
-        vit++
-    )
-    {
-        // Consider only those points part of point-pairs or near boundary
-        if (!vit->nearOrOnBoundary())
-        {
-            continue;
-        }
-
-        // Counter-clockwise circulator
-        Face_circulator fcStart = incident_faces(vit);
-        Face_circulator fc = fcStart;
-
-        bool infinite = false;
-        bool changed = false;
-
-        do
-        {
-            if (is_infinite(fc))
-            {
-                infinite = true;
-                break;
-            }
-            else if (fc->faceIndex() < Fb::UNCHANGED)
-            {
-                changed = true;
-                break;
-            }
-        } while (++fc != fcStart);
-
-        // If the dual-cell is connected to the infinite point or none of the
-        // faces whose circumcentres it uses have changed ignore
-        if (infinite || !changed) continue;
-
-        fc = fcStart;
-        label nVerts = 0;
-
-        do
-        {
-            vertices[nVerts++] = toPoint2D(circumcenter(fc));
-
-            if (nVerts == maxNvert)
-            {
-                break;
-            }
-        } while (++fc != fcStart);
-
-        // Check if dual-cell has a large number of faces in which case
-        // assumed to be in the far-field and reject
-        if (nVerts == maxNvert) continue;
-
-        // Set n+1 vertex to the first vertex for easy circulating
-        vertices[nVerts] = vertices[0];
-
-        // Convert triangle vertex to OpenFOAM point
-        point2DFromPoint defVert = toPoint2D(vit->point());
-
-        scalar maxProtSize2 = meshControls().maxNotchLen2();
-
-        if (vit->internalOrBoundaryPoint())
-        {
-            // Calculate metrics of the dual-cell
-            // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-            // The perimeter of the dual-cell
-            scalar perimeter = 0;
-
-            // Twice the area of the dual-cell
-            scalar areaT2 = 0;
-
-            for (int vi=0; vi<nVerts; vi++)
-            {
-                vector2D edge(vertices[vi+1] - vertices[vi]);
-                perimeter += mag(edge);
-                vector2D otherEdge = defVert - vertices[vi];
-                areaT2 += mag(edge.x()*otherEdge.y() - edge.y()*otherEdge.x());
-            }
-
-            // If the dual-cell is very small reject refinement
-            if (areaT2 < meshControls().minEdgeLen2()) continue;
-
-            // Estimate the cell width
-            scalar cellWidth = areaT2/perimeter;
-
-
-            // Check dimensions of dual-cell
-            /*
-            // Quick rejection of dual-cell refinement based on it's perimeter
-            if (perimeter < 2*meshControls().minCellSize()) continue;
-
-            // Also check the area of the cell and reject refinement
-            // if it is less than that allowed
-            if (areaT2 < meshControls().minCellSize2()) continue;
-
-            // Estimate the cell width and reject refinement if it is less than
-            // that allowed
-            if (cellWidth < 0.5*meshControls().minEdgeLen()) continue;
-            */
-
-            if
-            (
-                perimeter > 2*meshControls().minCellSize()
-             && areaT2 > meshControls().minCellSize2()
-             && cellWidth > 0.5*meshControls().minEdgeLen()
-            )
-            {
-                maxProtSize2 = 0.25*meshControls().maxNotchLen2();
-            }
-        }
-
-        if (insertPointPairAtIntersection(vit, defVert, vertices, maxProtSize2))
-        {
-            nIntersections++;
-        }
-    }
-
-    return nIntersections;
-}
-
-
-void Foam::CV2D::markNearBoundaryPoints()
-{
-    label count = 0;
-    for
-    (
-        Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
-        vit != finite_vertices_end();
-        vit++
-    )
-    {
-        if (vit->internalPoint())
-        {
-            point vert(toPoint3D(vit->point()));
-
-            pointIndexHit pHit;
-            label hitSurface = -1;
-
-            qSurf_.findSurfaceNearest
-            (
-                vert,
-                4*meshControls().minCellSize2(),
-                pHit,
-                hitSurface
-            );
-
-            if (pHit.hit())
-            {
-                vit->setNearBoundary();
-                ++count;
-            }
-        }
-    }
-
-    Info<< count << " points marked as being near a boundary" << endl;
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/mesh/generation/cv2DMesh/insertFeaturePoints.C b/applications/utilities/mesh/generation/cv2DMesh/insertFeaturePoints.C
deleted file mode 100644
index 7d58930ce49f1f9e835660393df2765bace7b6fa..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/insertFeaturePoints.C
+++ /dev/null
@@ -1,394 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*----------------------------------------------------------------------------*/
-
-#include "CV2D.H"
-#include "plane.H"
-#include "unitConversion.H"
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-bool Foam::CV2D::on2DLine(const point2D& p, const linePointRef& line)
-{
-    const point2D& a = toPoint2D(line.start());
-    const point2D& b = toPoint2D(line.end());
-
-    if
-    (
-        p.x() < min(a.x(), b.x())
-     || p.x() > max(a.x(), b.x())
-     || p.y() < min(a.y(), b.y())
-     || p.y() > max(a.y(), b.y())
-    )
-    {
-        return false;
-    }
-
-    return true;
-}
-
-
-void Foam::CV2D::insertFeaturePoints()
-{
-    featurePoints_.clear();
-    label nVert = number_of_vertices();
-
-    const PtrList<extendedFeatureEdgeMesh>& feMeshes
-    (
-        qSurf_.features()
-    );
-
-    if (feMeshes.empty())
-    {
-        WarningIn("CV2D::insertFeaturePoints")
-            << "Extended Feature Edge Mesh is empty so no feature points will "
-            << "be found." << nl
-            << "    Use: featureMethod extendedFeatureEdgeMesh;" << nl
-            << endl;
-    }
-
-    forAll(feMeshes, i)
-    {
-        const extendedFeatureEdgeMesh& feMesh(feMeshes[i]);
-        const edgeList& edges = feMesh.edges();
-        const pointField& points = feMesh.points();
-
-        if (debug)
-        {
-            label nConvex = feMesh.concaveStart() - feMesh.convexStart();
-            label nConcave = feMesh.mixedStart() - feMesh.concaveStart();
-            label nMixed = feMesh.nonFeatureStart() - feMesh.mixedStart();
-            label nExternal = feMesh.internalStart() - feMesh.externalStart();
-            label nInternal = feMesh.flatStart() - feMesh.internalStart();
-            label nFlat = feMesh.openStart() - feMesh.flatStart();
-            label nOpen = feMesh.multipleStart() - feMesh.openStart();
-            label nMultiple = edges.size() - feMesh.multipleStart();
-
-            Info<< "Inserting Feature Points:" << nl
-                << "    Convex points: " << nConvex << nl
-                << "   Concave points: " << nConcave << nl
-                << "     Mixed points: " << nMixed << nl
-                << "   External edges: " << nExternal << nl
-                << "   Internal edges: " << nInternal << nl
-                << "       Flat edges: " << nFlat << nl
-                << "       Open edges: " << nOpen << nl
-                << "   Multiple edges: " << nMultiple << endl;
-        }
-
-        // Args: (base point, normal)
-        // @todo allow user to input this
-        plane zPlane(vector(0, 0, z_), vector(0, 0, 1));
-
-        if (debug)
-        {
-            Info<< "    plane: " << zPlane << " " << z_ << endl;
-        }
-
-        forAll(edges, edgeI)
-        {
-            const edge& e = feMesh.edges()[edgeI];
-
-            const point& ep0 = points[e.start()];
-            const point& ep1 = points[e.end()];
-
-            const linePointRef line(ep0, ep1);
-
-            scalar intersect = zPlane.lineIntersect(line);
-
-            point2D featPoint = toPoint2D(intersect * (ep1 - ep0) + ep0);
-
-            if (on2DLine(featPoint, line))
-            {
-                vector2DField fpn = toPoint2D(feMesh.edgeNormals(edgeI));
-
-                vector2D cornerNormal = sum(fpn);
-                cornerNormal /= mag(cornerNormal);
-
-                if (debug)
-                {
-                    Info<< nl << "    line: " << line << nl
-                        << "        vec: " << line.vec() << nl
-                        << "    featurePoint: " << featPoint << nl
-                        << "    line length: " << line.mag() << nl
-                        << "    intersect: " << intersect << endl;
-                }
-
-                if
-                (
-                    feMesh.getEdgeStatus(edgeI)
-                 == extendedFeatureEdgeMesh::EXTERNAL
-                )
-                {
-                    // Convex Point
-                    Foam::point2D internalPt =
-                        featPoint - meshControls().ppDist()*cornerNormal;
-
-                    if (debug)
-                    {
-                        Info<< "PREC: " << internalPt << nl
-                            << "    : " << featPoint << nl
-                            << "    : " << meshControls().ppDist() << nl
-                            << "    : " << cornerNormal << endl;
-                    }
-
-                    featurePoints_.push_back
-                    (
-                        Vb
-                        (
-                            toPoint(internalPt),
-                            nVert,
-                            nVert + 1
-                        )
-                    );
-                    label masterPtIndex = nVert++;
-
-                    forAll(fpn, nI)
-                    {
-                        const vector n3D(fpn[nI][0], fpn[nI][1], 0.0);
-
-                        plane planeN = plane(toPoint3D(featPoint), n3D);
-
-                        Foam::point2D externalPt =
-                            internalPt
-                          + (
-                                2.0
-                              * planeN.distance(toPoint3D(internalPt))
-                              * fpn[nI]
-                            );
-
-                        featurePoints_.push_back
-                        (
-                            Vb
-                            (
-                                toPoint(externalPt),
-                                nVert++,
-                                masterPtIndex
-                            )
-                        );
-
-                        if (debug)
-                        {
-                            Info<< "  side point: " << externalPt << endl;
-                        }
-                    }
-
-                    if (debug)
-                    {
-                        Info<< "Convex Point: " << featPoint << nl
-                            << "  corner norm: " << cornerNormal << nl
-                            << "    reference: " << internalPt << endl;
-                    }
-                }
-                else if
-                (
-                    feMesh.getEdgeStatus(edgeI)
-                 == extendedFeatureEdgeMesh::INTERNAL
-                )
-                {
-                    // Concave Point
-                    Foam::point2D externalPt =
-                        featPoint + meshControls().ppDist()*cornerNormal;
-
-                    Foam::point2D refPt =
-                        featPoint - meshControls().ppDist()*cornerNormal;
-
-                    label slavePointIndex = 0;
-
-                    scalar totalAngle =
-                        radToDeg
-                        (
-                            constant::mathematical::pi
-                          + acos(mag(fpn[0] & fpn[1]))
-                        );
-
-                    // Number of quadrants the angle should be split into
-                    int nQuads =
-                        int(totalAngle/meshControls().maxQuadAngle()) + 1;
-
-                    // The number of additional master points needed to
-                    //obtain the required number of quadrants.
-                    int nAddPoints = min(max(nQuads - 2, 0), 2);
-
-                    // index of reflMaster
-                    label reflectedMaster = nVert + 2 + nAddPoints;
-
-                    if (debug)
-                    {
-                        Info<< "Concave Point: " <<  featPoint << nl
-                            << "  corner norm: " << cornerNormal << nl
-                            << "     external: " << externalPt << nl
-                            << "    reference: " << refPt << nl
-                            << "        angle: " << totalAngle << nl
-                            << "       nQuads: " << nQuads << nl
-                            << "   nAddPoints: " << nAddPoints << endl;
-                    }
-
-                    forAll(fpn, nI)
-                    {
-                        const vector n3D(fpn[nI][0], fpn[nI][1], 0.0);
-
-                        plane planeN = plane(toPoint3D(featPoint), n3D);
-
-                        Foam::point2D internalPt =
-                            externalPt
-                          - (
-                                2.0
-                              * planeN.distance(toPoint3D(externalPt))
-                              * fpn[nI]
-                            );
-
-                        featurePoints_.push_back
-                        (
-                            Vb
-                            (
-                                toPoint(internalPt),
-                                nVert,
-                                reflectedMaster
-                            )
-                        );
-                        slavePointIndex = nVert++;
-
-                        if (debug)
-                        {
-                            Info<< "Internal Point: " <<  internalPt << endl;
-                        }
-                    }
-
-                    if (nAddPoints == 1)
-                    {
-                        // One additional point is the reflection of the slave
-                        // point, i.e., the original reference point
-                        featurePoints_.push_back
-                        (
-                            Vb
-                            (
-                                toPoint(refPt),
-                                nVert++,
-                                reflectedMaster
-                            )
-                        );
-
-                        if (debug)
-                        {
-                           Info<< "ref Point: " <<  refPt << endl;
-                        }
-                    }
-                    else if (nAddPoints == 2)
-                    {
-                       point2D reflectedAa =
-                           refPt - ((featPoint - externalPt) & fpn[1])*fpn[1];
-
-                       featurePoints_.push_back
-                       (
-                           Vb
-                           (
-                               toPoint(reflectedAa),
-                               nVert++,
-                               reflectedMaster
-                           )
-                       );
-
-                       point2D reflectedBb =
-                           refPt - ((featPoint - externalPt) & fpn[0])*fpn[0];
-
-                       featurePoints_.push_back
-                       (
-                           Vb
-                           (
-                               toPoint(reflectedBb),
-                               nVert++,
-                               reflectedMaster
-                           )
-                       );
-
-                       if (debug)
-                       {
-                           Info<< "refA Point: " <<  reflectedAa << nl
-                               << "refb Point: " <<  reflectedBb << endl;
-                       }
-                    }
-
-                    featurePoints_.push_back
-                    (
-                        Vb
-                        (
-                            toPoint(externalPt),
-                            nVert++,
-                            slavePointIndex
-                        )
-                    );
-                }
-                else
-                {
-                    WarningIn("void Foam::CV2D::insertFeaturePoints()")
-                        << "Feature Edge " << edges[edgeI] << nl
-                        << "    points(" << points[edges[edgeI].start()]
-                        << ", " << points[edges[edgeI].end()] << ")" << nl
-                        << "    is not labelled as either concave or convex, it"
-                        << " is labelled as (#2 = flat): "
-                        << feMesh.getEdgeStatus(edgeI) << endl;
-                }
-            }
-            else
-            {
-                WarningIn("void Foam::CV2D::insertFeaturePoints()")
-                      << "Point " << featPoint << " is not on the line "
-                      << line << endl;
-            }
-        }
-    }
-
-    // Insert the feature points.
-    reinsertFeaturePoints();
-
-    if (meshControls().objOutput())
-    {
-        writePoints("feat_allPoints.obj", false);
-        writeFaces("feat_allFaces.obj", false);
-        writeFaces("feat_faces.obj", true);
-        writeTriangles("feat_triangles.obj", true);
-    }
-}
-
-
-void Foam::CV2D::reinsertFeaturePoints()
-{
-    for
-    (
-        std::list<Vb>::iterator vit=featurePoints_.begin();
-        vit != featurePoints_.end();
-        ++vit
-    )
-    {
-        insertPoint
-        (
-            toPoint2D(vit->point()),
-            vit->index(),
-            vit->type()
-        );
-    }
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/mesh/generation/cv2DMesh/insertSurfaceNearPointPairs.C b/applications/utilities/mesh/generation/cv2DMesh/insertSurfaceNearPointPairs.C
deleted file mode 100644
index 3d4ac7cf2a4051b09b5e20c0c811f5844862dcc5..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/insertSurfaceNearPointPairs.C
+++ /dev/null
@@ -1,114 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*----------------------------------------------------------------------------*/
-
-#include "CV2D.H"
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-void Foam::CV2D::insertSurfaceNearPointPairs()
-{
-    Info<< "insertSurfaceNearPointPairs: ";
-
-    label nNearPoints = 0;
-
-    for
-    (
-        Triangulation::Finite_edges_iterator eit = finite_edges_begin();
-        eit != finite_edges_end();
-        eit++
-    )
-    {
-        Vertex_handle v0h = eit->first->vertex(cw(eit->second));
-        Vertex_handle v1h = eit->first->vertex(ccw(eit->second));
-
-        if (v0h->ppMaster() && v1h->ppMaster())
-        {
-            point2DFromPoint v0(toPoint2D(v0h->point()));
-            point2DFromPoint v1(toPoint2D(v1h->point()));
-
-            // Check that the two triangle vertices are further apart than the
-            // minimum cell size
-            if (magSqr(v1 - v0) > meshControls().minCellSize2())
-            {
-                point2D e0(toPoint2D(circumcenter(eit->first)));
-
-                point2D e1
-                (
-                    toPoint2D(circumcenter(eit->first->neighbor(eit->second)))
-                );
-
-                // Calculate the length^2 of the edge normal to the surface
-                scalar edgeLen2 = magSqr(e0 - e1);
-
-                if (edgeLen2 < meshControls().minNearPointDist2())
-                {
-                    pointIndexHit pHit;
-                    label hitSurface = -1;
-
-                    qSurf_.findSurfaceNearest
-                    (
-                        toPoint3D(e0),
-                        meshControls().minEdgeLen2(),
-                        pHit,
-                        hitSurface
-                    );
-
-                    if (pHit.hit())
-                    {
-                        vectorField norm(1);
-                        qSurf_.geometry()[hitSurface].getNormal
-                        (
-                            List<pointIndexHit>(1, pHit),
-                            norm
-                        );
-
-                        insertPointPair
-                        (
-                            meshControls().ppDist(),
-                            toPoint2D(pHit.hitPoint()),
-                            toPoint2D(norm[0])
-                        );
-
-                        nNearPoints++;
-
-                        // Correct the edge iterator for the change in the
-                        // number of edges following the point-pair insertion
-                        eit = Finite_edges_iterator
-                        (
-                            finite_edges_end().base(),
-                            eit.predicate(),
-                            eit.base()
-                        );
-                    }
-                }
-            }
-        }
-    }
-
-    Info<< nNearPoints << " point-pairs inserted" << endl;
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/mesh/generation/cv2DMesh/insertSurfaceNearestPointPairs.C b/applications/utilities/mesh/generation/cv2DMesh/insertSurfaceNearestPointPairs.C
deleted file mode 100644
index fd941137dd7b741beffd61114b0726601f785b3b..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/insertSurfaceNearestPointPairs.C
+++ /dev/null
@@ -1,244 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*----------------------------------------------------------------------------*/
-
-#include "CV2D.H"
-
-// * * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * //
-
-bool Foam::CV2D::dualCellSurfaceIntersection
-(
-    const Triangulation::Finite_vertices_iterator& vit
-) const
-{
-    Triangulation::Edge_circulator ecStart = incident_edges(vit);
-    Triangulation::Edge_circulator ec = ecStart;
-
-    do
-    {
-        if (!is_infinite(ec))
-        {
-            point e0 = toPoint3D(circumcenter(ec->first));
-
-            // If edge end is outside bounding box then edge cuts boundary
-            if (!qSurf_.globalBounds().contains(e0))
-            {
-                return true;
-            }
-
-            point e1 = toPoint3D(circumcenter(ec->first->neighbor(ec->second)));
-
-            // If other edge end is ouside bounding box then edge cuts boundary
-            if (!qSurf_.globalBounds().contains(e1))
-            {
-                return true;
-            }
-
-            if (magSqr(e1 - e0) > meshControls().minEdgeLen2())
-            {
-                if (qSurf_.findSurfaceAnyIntersection(e0, e1))
-                {
-                    return true;
-                }
-            }
-        }
-
-    } while (++ec != ecStart);
-
-    return false;
-}
-
-
-void Foam::CV2D::insertPointPairs
-(
-    const DynamicList<point2D>& nearSurfacePoints,
-    const DynamicList<point2D>& surfacePoints,
-    const DynamicList<label>& surfaceTris,
-    const DynamicList<label>& surfaceHits,
-    const fileName fName
-)
-{
-    if (meshControls().mirrorPoints())
-    {
-        forAll(surfacePoints, ppi)
-        {
-            insertMirrorPoint
-            (
-                nearSurfacePoints[ppi],
-                surfacePoints[ppi]
-            );
-        }
-    }
-    else
-    {
-        forAll(surfacePoints, ppi)
-        {
-            pointIndexHit pHit
-            (
-                true,
-                toPoint3D(surfacePoints[ppi]),
-                surfaceTris[ppi]
-            );
-
-            vectorField norm(1);
-            qSurf_.geometry()[surfaceHits[ppi]].getNormal
-            (
-                List<pointIndexHit>(1, pHit),
-                norm
-            );
-
-            insertPointPair
-            (
-                meshControls().ppDist(),
-                surfacePoints[ppi],
-                toPoint2D(norm[0])
-            );
-        }
-    }
-
-    Info<< surfacePoints.size() << " point-pairs inserted" << endl;
-
-    if (meshControls().objOutput())
-    {
-        OFstream str(fName);
-        label vertI = 0;
-
-        forAll(surfacePoints, ppi)
-        {
-            meshTools::writeOBJ(str, toPoint3D(surfacePoints[ppi]));
-            vertI++;
-        }
-
-        Info<< "insertPointPairs: Written " << surfacePoints.size()
-            << " inserted point-pair locations to file "
-            << str.name() << endl;
-    }
-}
-
-
-void Foam::CV2D::insertSurfaceNearestPointPairs()
-{
-    Info<< "insertSurfaceNearestPointPairs: ";
-
-    label nSurfacePointsEst =
-        min
-        (
-            number_of_vertices(),
-            size_t(10*sqrt(scalar(number_of_vertices())))
-        );
-
-    DynamicList<point2D> nearSurfacePoints(nSurfacePointsEst);
-    DynamicList<point2D> surfacePoints(nSurfacePointsEst);
-    DynamicList<label> surfaceTris(nSurfacePointsEst);
-    DynamicList<label> surfaceHits(nSurfacePointsEst);
-
-    // Local references to surface mesh addressing
-//    const pointField& localPoints = qSurf_.localPoints();
-//    const labelListList& edgeFaces = qSurf_.edgeFaces();
-//    const vectorField& faceNormals = qSurf_.faceNormals();
-//    const labelListList& faceEdges = qSurf_.faceEdges();
-
-    for
-    (
-        Triangulation::Finite_vertices_iterator vit = finite_vertices_begin();
-        vit != finite_vertices_end();
-        vit++
-    )
-    {
-        if (vit->internalPoint())
-        {
-            point2DFromPoint vert(toPoint2D(vit->point()));
-
-            pointIndexHit pHit;
-            label hitSurface = -1;
-
-            qSurf_.findSurfaceNearest
-            (
-                toPoint3D(vert),
-                4*meshControls().minCellSize2(),
-                pHit,
-                hitSurface
-            );
-
-            if (pHit.hit())
-            {
-                vit->setNearBoundary();
-
-                // Reference to the nearest triangle
-//                const labelledTri& f = qSurf_[hitSurface];
-
-//                // Find where point is on triangle.
-//                // Note tolerance needed is relative one
-//                // (used in comparing normalized [0..1] triangle coordinates).
-//                label nearType, nearLabel;
-//                triPointRef
-//                (
-//                    localPoints[f[0]],
-//                    localPoints[f[1]],
-//                    localPoints[f[2]]
-//                ).classify(pHit.hitPoint(), nearType, nearLabel);
-
-//                // If point is on a edge check if it is an internal feature
-
-//                bool internalFeatureEdge = false;
-
-//                if (nearType == triPointRef::EDGE)
-//                {
-//                    label edgeI = faceEdges[hitSurface][nearLabel];
-//                    const labelList& eFaces = edgeFaces[edgeI];
-
-//                    if
-//                    (
-//                        eFaces.size() == 2
-//                     && (faceNormals[eFaces[0]] & faceNormals[eFaces[1]])
-//                       < -0.2
-//                    )
-//                    {
-//                        internalFeatureEdge = true;
-//                    }
-//                }
-
-                if (dualCellSurfaceIntersection(vit)) //&& !internalFeatureEdge)
-                {
-                    nearSurfacePoints.append(vert);
-                    surfacePoints.append(toPoint2D(pHit.hitPoint()));
-                    surfaceTris.append(pHit.index());
-                    surfaceHits.append(hitSurface);
-                }
-            }
-        }
-    }
-
-    insertPointPairs
-    (
-        nearSurfacePoints,
-        surfacePoints,
-        surfaceTris,
-        surfaceHits,
-        "surfaceNearestIntersections.obj"
-    );
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/mesh/generation/cv2DMesh/shortEdgeFilter2D.C b/applications/utilities/mesh/generation/cv2DMesh/shortEdgeFilter2D.C
deleted file mode 100644
index 4efe5a564edbeb5cc72a75832beb2e7603c5e942..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/shortEdgeFilter2D.C
+++ /dev/null
@@ -1,501 +0,0 @@
-/*---------------------------------------------------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms_ of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-\*---------------------------------------------------------------------------*/
-
-#include "shortEdgeFilter2D.H"
-
-namespace Foam
-{
-    defineTypeNameAndDebug(shortEdgeFilter2D, 0);
-}
-
-
-// * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
-
-Foam::shortEdgeFilter2D::shortEdgeFilter2D
-(
-    const Foam::CV2D& cv2Dmesh,
-    const dictionary& dict
-)
-:
-    cv2Dmesh_(cv2Dmesh),
-    shortEdgeFilterFactor_(readScalar(dict.lookup("shortEdgeFilterFactor"))),
-    edgeAttachedToBoundaryFactor_
-    (
-        dict.lookupOrDefault<scalar>("edgeAttachedToBoundaryFactor", 2.0)
-    ),
-    patchNames_(wordList()),
-    patchSizes_(labelList()),
-    mapEdgesRegion_()
-{
-    point2DField points2D;
-    faceList faces;
-
-    cv2Dmesh.calcDual
-    (
-        points2D,
-        faces,
-        patchNames_,
-        patchSizes_,
-        mapEdgesRegion_
-    );
-
-    pointField points(points2D.size());
-    forAll(points, ip)
-    {
-        points[ip] = cv2Dmesh.toPoint3D(points2D[ip]);
-    }
-
-    points2D.clear();
-
-    ms_ = MeshedSurface<face>(xferMove(points), xferMove(faces));
-
-    Info<< "Meshed surface stats before edge filtering :" << endl;
-    ms_.writeStats(Info);
-
-    if (debug)
-    {
-        writeInfo(Info);
-
-        ms_.write("MeshedSurface_preFilter.obj");
-    }
-}
-
-
-// * * * * * * * * * * * * * * * * Destructor  * * * * * * * * * * * * * * * //
-
-Foam::shortEdgeFilter2D::~shortEdgeFilter2D()
-{}
-
-
-// * * * * * * * * * * * * * * Member Functions  * * * * * * * * * * * * * * //
-
-void
-Foam::shortEdgeFilter2D::filter()
-{
-    // These are global indices.
-    const pointField& points = ms_.points();
-    const edgeList& edges = ms_.edges();
-    const faceList& faces = ms_.faces();
-    const labelList& meshPoints = ms_.meshPoints();
-    const labelList& boundaryPoints = ms_.boundaryPoints();
-
-    label maxChain = 0;
-    label nPointsToRemove = 0;
-
-    labelList pointsToRemove(ms_.points().size(), -1);
-
-    // List of number of vertices in a face.
-    labelList newFaceVertexCount(faces.size(), -1);
-    forAll(faces, faceI)
-    {
-        newFaceVertexCount[faceI] = faces[faceI].size();
-    }
-
-    // Check if the point is a boundary point. Flag if it is so that
-    // it will not be deleted.
-    boolList boundaryPointFlags(points.size(), false);
-    // This has been removed, otherwise small edges on the boundary are not
-    // removed.
-    /*  forAll(boundaryPointFlags, pointI)
-    {
-        forAll(boundaryPoints, bPoint)
-        {
-            if (meshPoints[boundaryPoints[bPoint]] == pointI)
-            {
-                boundaryPointFlags[pointI] = true;
-            }
-        }
-    }*/
-
-    // Check if an edge has a boundary point. It it does the edge length
-    // will be doubled when working out its length.
-    Info<< "    Marking edges attached to boundaries." << endl;
-    boolList edgeAttachedToBoundary(edges.size(), false);
-    forAll(edges, edgeI)
-    {
-        const edge& e = edges[edgeI];
-        const label startVertex = e.start();
-        const label endVertex = e.end();
-
-        forAll(boundaryPoints, bPoint)
-        {
-            if
-            (
-                boundaryPoints[bPoint] == startVertex
-             || boundaryPoints[bPoint] == endVertex
-            )
-            {
-                edgeAttachedToBoundary[edgeI] = true;
-            }
-        }
-    }
-
-    forAll(edges, edgeI)
-    {
-        const edge& e = edges[edgeI];
-
-        // get the vertices of that edge.
-        const label startVertex = e.start();
-        const label endVertex = e.end();
-
-        scalar edgeLength =
-            mag
-            (
-                points[meshPoints[e.start()]]
-              - points[meshPoints[e.end()]]
-            );
-
-        if (edgeAttachedToBoundary[edgeI])
-        {
-            edgeLength *= edgeAttachedToBoundaryFactor_;
-        }
-
-        scalar shortEdgeFilterValue = 0.0;
-
-        const labelList& psEdges = ms_.pointEdges()[startVertex];
-        const labelList& peEdges = ms_.pointEdges()[endVertex];
-
-        forAll(psEdges, psEdgeI)
-        {
-            const edge& psE = edges[psEdges[psEdgeI]];
-            if (edgeI != psEdges[psEdgeI])
-            {
-                shortEdgeFilterValue +=
-                    mag
-                    (
-                        points[meshPoints[psE.start()]]
-                       -points[meshPoints[psE.end()]]
-                    );
-            }
-        }
-
-        forAll(peEdges, peEdgeI)
-        {
-            const edge& peE = edges[peEdges[peEdgeI]];
-            if (edgeI != peEdges[peEdgeI])
-            {
-                shortEdgeFilterValue +=
-                    mag
-                    (
-                        points[meshPoints[peE.start()]]
-                       -points[meshPoints[peE.end()]]
-                    );
-            }
-        }
-
-        shortEdgeFilterValue *=
-            shortEdgeFilterFactor_
-           /(psEdges.size() + peEdges.size() - 2);
-
-        if (edgeLength < shortEdgeFilterValue)
-        {
-            bool flagDegenerateFace = false;
-            const labelList& pFaces = ms_.pointFaces()[startVertex];
-
-            forAll(pFaces, pFaceI)
-            {
-                const face& f = ms_.localFaces()[pFaces[pFaceI]];
-                forAll(f, fp)
-                {
-                    // If the edge is part of this face...
-                    if (f[fp] == endVertex)
-                    {
-                        // If deleting vertex would create a triangle, don't!
-                        if (newFaceVertexCount[pFaces[pFaceI]] < 4)
-                        {
-                            flagDegenerateFace = true;
-                        }
-                        else
-                        {
-                            newFaceVertexCount[pFaces[pFaceI]]--;
-                        }
-                    }
-                    // If the edge is not part of this face...
-                    else
-                    {
-                        // Deleting vertex of a triangle...
-                        if (newFaceVertexCount[pFaces[pFaceI]] < 3)
-                        {
-                            flagDegenerateFace = true;
-                        }
-                    }
-                }
-            }
-
-            // This if statement determines whether a point should be deleted.
-            if
-            (
-                pointsToRemove[meshPoints[startVertex]] == -1
-             && pointsToRemove[meshPoints[endVertex]] == -1
-             && !boundaryPointFlags[meshPoints[startVertex]]
-             && !flagDegenerateFace
-            )
-            {
-                pointsToRemove[meshPoints[startVertex]] =
-                    meshPoints[endVertex];
-                ++nPointsToRemove;
-            }
-        }
-    }
-
-    label totalNewPoints = points.size() - nPointsToRemove;
-
-    pointField newPoints(totalNewPoints, vector(0, 0, 0));
-    labelList newPointNumbers(points.size(), -1);
-    label numberRemoved=0;
-
-    forAll(points, pointI)
-    {
-        // If the point is NOT going to be removed.
-        if (pointsToRemove[pointI] == -1)
-        {
-            newPoints[pointI-numberRemoved] = points[pointI];
-            newPointNumbers[pointI] =  pointI-numberRemoved;
-        }
-        else
-        {
-            numberRemoved++;
-        }
-    }
-
-    // Need a new faceList
-    faceList newFaces(faces.size());
-    label newFaceI = 0;
-
-    labelList newFace;
-    label newFaceSize = 0;
-
-    // Now need to iterate over the faces and remove points. Global index.
-    forAll(faces, faceI)
-    {
-        const face& f = faces[faceI];
-
-        newFace.clear();
-        newFace.setSize(f.size());
-        newFaceSize = 0;
-
-        forAll(f, fp)
-        {
-            label pointI = f[fp];
-            // If not removing the point, then add it to the new face.
-            if (pointsToRemove[pointI] == -1)
-            {
-                newFace[newFaceSize++] = newPointNumbers[pointI];
-            }
-            else
-            {
-                label newPointI = pointsToRemove[pointI];
-                // Replace deleted point with point that it is being
-                // collapsed to.
-                if
-                (
-                    f.nextLabel(fp) != newPointI
-                 && f.prevLabel(fp) != newPointI
-                )
-                {
-                    label pChain = newPointI;
-                    label totalChain = 0;
-                    for (label nChain = 0; nChain <= totalChain; ++nChain)
-                    {
-                        if (newPointNumbers[pChain] != -1)
-                        {
-                            newFace[newFaceSize++] = newPointNumbers[pChain];
-                            newPointNumbers[pointI]
-                                = newPointNumbers[pChain];
-                            maxChain = max(totalChain, maxChain);
-                        }
-                        else
-                        {
-                            WarningIn("shortEdgeFilter")
-                                << "Point " << pChain
-                                << " marked for deletion as well as point "
-                                << pointI << nl
-                                << "    Incrementing maxChain by 1 from "
-                                << totalChain << " to " << totalChain + 1
-                                << endl;
-                            totalChain++;
-                        }
-                        pChain = pointsToRemove[pChain];
-                    }
-                }
-                else
-                {
-                    if (newPointNumbers[newPointI] != -1)
-                    {
-                        newPointNumbers[pointI] = newPointNumbers[newPointI];
-                    }
-                }
-            }
-        }
-
-        newFace.setSize(newFaceSize);
-
-        if (newFace.size() > 2)
-        {
-            newFaces[newFaceI++] = face(newFace);
-        }
-        else
-        {
-            FatalErrorIn("shortEdgeFilter")
-                << "Only " << newFace.size() << " in face " << faceI
-                << exit(FatalError);
-        }
-    }
-
-    newFaces.setSize(newFaceI);
-
-    MeshedSurface<face> fMesh
-    (
-        xferMove(newPoints),
-        xferMove(newFaces),
-        xferCopy(List<surfZone>())
-    );
-
-    const Map<int>& fMeshPointMap = fMesh.meshPointMap();
-
-    // Reset patchSizes_
-    patchSizes_.clear();
-    patchSizes_.setSize(patchNames_.size(), 0);
-
-    label equalEdges = 0;
-    label notFound = 0;
-    label matches = 0;
-    label negativeLabels = 0;
-
-    forAll(newPointNumbers, pointI)
-    {
-        if (newPointNumbers[pointI] == -1)
-        {
-            WarningIn("shortEdgeFilter")
-                << pointI << " will be deleted and " << newPointNumbers[pointI]
-                << ", so it will not be replaced. "
-                << "This will cause edges to be deleted." << endl;
-        }
-    }
-
-    // Create new EdgeMap.
-    Info<< "Creating new EdgeMap." << endl;
-    EdgeMap<label> newMapEdgesRegion(mapEdgesRegion_.size());
-
-    for
-    (
-        label bEdgeI = ms_.nInternalEdges();
-        bEdgeI < edges.size();
-        ++bEdgeI
-    )
-    {
-        label p1 = meshPoints[edges[bEdgeI][0]];
-        label p2 = meshPoints[edges[bEdgeI][1]];
-
-        edge e(p1, p2);
-
-        if (mapEdgesRegion_.found(e))
-        {
-            if
-            (
-                newPointNumbers[p1] != -1
-             && newPointNumbers[p2] != -1
-            )
-            {
-                if (newPointNumbers[p1] != newPointNumbers[p2])
-                {
-                    label region = mapEdgesRegion_.find(e)();
-                    newMapEdgesRegion.insert
-                    (
-                        edge
-                        (
-                            fMeshPointMap[newPointNumbers[p1]],
-                            fMeshPointMap[newPointNumbers[p2]]
-                        ),
-                        region
-                    );
-                    patchSizes_[region]++;
-                    matches++;
-                }
-                else
-                {
-                    equalEdges++;
-                }
-            }
-            else
-            {
-                negativeLabels++;
-            }
-        }
-        else
-        {
-            notFound++;
-        }
-    }
-
-    if (debug)
-    {
-        Info<< "EdgeMapping  :" << nl
-            << "    Matches  : " << matches << nl
-            << "    Equal    : " << equalEdges << nl
-            << "    Negative : " << negativeLabels << nl
-            << "    Not Found: " << notFound << endl;
-    }
-
-    mapEdgesRegion_.transfer(newMapEdgesRegion);
-
-    ms_.transfer(fMesh);
-
-    Info<< "    Maximum number of chained collapses = " << maxChain << endl;
-
-    if (debug)
-    {
-        writeInfo(Info);
-    }
-}
-
-
-void Foam::shortEdgeFilter2D::writeInfo(Ostream& os)
-{
-    os  << "Short Edge Filtering Information:" << nl
-        << "           shortEdgeFilterFactor: " << shortEdgeFilterFactor_ << nl
-        << "    edgeAttachedToBoundaryFactor: " << edgeAttachedToBoundaryFactor_
-        << endl;
-
-    forAll(patchNames_, patchI)
-    {
-        os  << "    Patch " << patchNames_[patchI]
-            << ", size " << patchSizes_[patchI] << endl;
-    }
-
-    os  << "    There are " << mapEdgesRegion_.size()
-        << " boundary edges." << endl;
-
-    os  << "    Mesh Info:" << nl
-        << "        Points:       " << ms_.nPoints() << nl
-        << "        Faces:        " << ms_.size() << nl
-        << "        Edges:        " << ms_.nEdges() << nl
-        << "            Internal: " << ms_.nInternalEdges() << nl
-        << "            External: " << ms_.nEdges() - ms_.nInternalEdges()
-        << endl;
-}
-
-
-// ************************************************************************* //
diff --git a/applications/utilities/mesh/generation/cv2DMesh/shortEdgeFilter2D.H b/applications/utilities/mesh/generation/cv2DMesh/shortEdgeFilter2D.H
deleted file mode 100644
index 7b9adea1d05e862c5212b0907c902a3bb3872739..0000000000000000000000000000000000000000
--- a/applications/utilities/mesh/generation/cv2DMesh/shortEdgeFilter2D.H
+++ /dev/null
@@ -1,131 +0,0 @@
-/*--------------------------------*- C++ -*----------------------------------*\
-  =========                 |
-  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
-   \\    /   O peration     |
-    \\  /    A nd           | Copyright (C) 2011 OpenFOAM Foundation
-     \\/     M anipulation  |
--------------------------------------------------------------------------------
-License
-    This file is part of OpenFOAM.
-
-    OpenFOAM is free software: you can redistribute it and/or modify it
-    under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
-    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-    for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with OpenFOAM.  If not, see <http://www.gnu.org/licenses/>.
-
-Class
-    Foam::shortEdgeFilter2D
-
-Description
-    This class filters short edges generated by the CV2D mesher.
-
-SourceFiles
-    shortEdgeFilter2D.C
-
-\*---------------------------------------------------------------------------*/
-
-#ifndef shortEdgeFilter2D_H
-#define shortEdgeFilter2D_H
-
-#include "MeshedSurfaces.H"
-#include "CV2D.H"
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-namespace Foam
-{
-
-/*---------------------------------------------------------------------------*\
-                     Class shortEdgeFilter2D Declaration
-\*---------------------------------------------------------------------------*/
-
-class shortEdgeFilter2D
-{
-    // Private data
-
-        const CV2D& cv2Dmesh_;
-
-        MeshedSurface<face> ms_;
-
-        const scalar shortEdgeFilterFactor_;
-
-        const scalar edgeAttachedToBoundaryFactor_;
-
-        wordList patchNames_;
-
-        labelList patchSizes_;
-
-        EdgeMap<label> mapEdgesRegion_;
-
-
-    // Private Member Functions
-
-        //- Disallow default bitwise copy construct
-        shortEdgeFilter2D(const shortEdgeFilter2D&);
-
-        //- Disallow default bitwise assignment
-        void operator=(const shortEdgeFilter2D&);
-
-
-public:
-
-    //- Runtime type information
-    ClassName("shortEdgeFilter2D");
-
-    // Constructors
-
-        shortEdgeFilter2D(const CV2D& cv2Dmesh, const dictionary& dict);
-
-
-    //- Destructor
-    ~shortEdgeFilter2D();
-
-
-    // Access Functions
-
-        const wordList& patchNames() const
-        {
-            return patchNames_;
-        }
-
-        const labelList& patchSizes() const
-        {
-            return patchSizes_;
-        }
-
-        const EdgeMap<label>& mapEdgesRegion() const
-        {
-            return mapEdgesRegion_;
-        }
-
-        const MeshedSurface<face>& fMesh() const
-        {
-            return ms_;
-        }
-
-
-    // Member Functions
-
-        void filter();
-
-        void writeInfo(Ostream& os);
-};
-
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-} // End namespace Foam
-
-// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
-
-#endif
-
-// ************************************************************************* //