diff --git a/applications/test/boundBox/Test-boundBox.C b/applications/test/boundBox/Test-boundBox.C index 8d99361a84..9c06ccf711 100644 --- a/applications/test/boundBox/Test-boundBox.C +++ b/applications/test/boundBox/Test-boundBox.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2016 OpenCFD Ltd. + \\ / A nd | Copyright (C) 2016-2017 OpenCFD Ltd. \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -40,8 +40,8 @@ boundBox cube(scalar start, scalar width) { return boundBox ( - point(start, start, start), - point(start + width, start + width, start + width) + point::uniform(start), + point::uniform(start + width) ); } @@ -59,10 +59,19 @@ int main(int argc, char *argv[]) Info<<"boundBox faces: " << boundBox::faces << endl; Info<<"hex faces: " << hex.modelFaces() << endl; + Info<<"tree-bb faces: " << treeBoundBox::faces << endl; + Info<<"tree-bb edges: " << treeBoundBox::edges << endl; boundBox bb = boundBox::greatBox; Info<<"great box: " << bb << endl; + // bb.clear(); + // Info<<"zero box: " << bb << endl; + + bb = boundBox::invertedBox; + Info<<"invalid box: " << bb << endl; + Info<< nl << endl; + if (Pstream::parRun()) { bb = cube(Pstream::myProcNo(), 1.1); @@ -71,6 +80,48 @@ int main(int argc, char *argv[]) bb.reduce(); Pout<<"reduced: " << bb << endl; } + else + { + bb = cube(0, 1); + Info<<"starting box: " << bb << endl; + + point pt(Zero); + bb.add(pt); + Info<<"enclose point " << pt << " -> " << bb << endl; + + pt = point(0,1.5,0.5); + bb.add(pt); + Info<<"enclose point " << pt << " -> " << bb << endl; + + pt = point(5,2,-2); + bb.add(pt); + Info<<"enclose point " << pt << " -> " << bb << endl; + + // restart with same points + bb = boundBox::invertedBox; + bb.add(point(1,1,1)); + bb.add(point::zero); + bb.add(point(0,1.5,0.5)); + bb.add(point(5,2,-2)); + + Info<<"repeated " << bb << endl; + + boundBox box1 = cube(0, 1); + boundBox box2 = cube(0, 0.75); + boundBox box3 = cube(0.5, 1); + boundBox box4 = cube(-1, 0.5); + + Info<<"union of " << box1 << " and " << box2 << " => "; + + box1.add(box2); + Info<< box1 << endl; + + box1.add(box3); + Info<<"union with " << box3 << " => " << box1 << endl; + + box1.add(box4); + Info<<"union with " << box4 << " => " << box1 << endl; + } return 0; } diff --git a/applications/test/wallDist/Test-wallDist.C b/applications/test/wallDist/Test-wallDist.C index 7a2d4f5cdf..d25bffc006 100644 --- a/applications/test/wallDist/Test-wallDist.C +++ b/applications/test/wallDist/Test-wallDist.C @@ -66,14 +66,14 @@ int main(int argc, char *argv[]) pointField newPoints(mesh.points()); - const point half(0.5*(meshBb.min() + meshBb.max())); + const point half = meshBb.midpoint(); forAll(newPoints, pointi) { point& pt = newPoints[pointi]; // expand around half - pt.y() += pt.y() - half.y(); + pt.y() += pt.y() - half.y(); } mesh.movePoints(newPoints); diff --git a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecomposition.C b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecomposition.C index 2974598fa4..53c2324aed 100644 --- a/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecomposition.C +++ b/applications/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/backgroundMeshDecomposition/backgroundMeshDecomposition.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation - \\/ M anipulation | + \\/ M anipulation | Copyright (C) 2017 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -719,17 +719,13 @@ void Foam::backgroundMeshDecomposition::buildPatchAndTree() Pstream::gatherList(allBackgroundMeshBounds_); Pstream::scatterList(allBackgroundMeshBounds_); - point bbMin(GREAT, GREAT, GREAT); - point bbMax(-GREAT, -GREAT, -GREAT); - + // find global bounding box + globalBackgroundBounds_ = treeBoundBox::invertedBox; forAll(allBackgroundMeshBounds_, proci) { - bbMin = min(bbMin, allBackgroundMeshBounds_[proci].min()); - bbMax = max(bbMax, allBackgroundMeshBounds_[proci].max()); + globalBackgroundBounds_.add(allBackgroundMeshBounds_[proci]); } - globalBackgroundBounds_ = treeBoundBox(bbMin, bbMax); - if (false) { OFstream fStr diff --git a/applications/utilities/mesh/manipulation/checkMesh/checkTopology.C b/applications/utilities/mesh/manipulation/checkMesh/checkTopology.C index 2b58f79335..cad195d013 100644 --- a/applications/utilities/mesh/manipulation/checkMesh/checkTopology.C +++ b/applications/utilities/mesh/manipulation/checkMesh/checkTopology.C @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation - \\/ M anipulation | + \\/ M anipulation | Copyright (C) 2017 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -558,18 +558,11 @@ Foam::label Foam::checkTopology if (allGeometry) { - const pointField& pts = pp.points(); const labelList& mp = pp.meshPoints(); if (returnReduce(mp.size(), sumOp