diff --git a/src/OpenFOAM/containers/Lists/ListListOps/ListListOps.C b/src/OpenFOAM/containers/Lists/ListListOps/ListListOps.C index 443e188ed1d93139b2b2554c7f80272abf2b7d7f..d83b4a9f3af4bb1f244f16d74b3f684392cc7fee 100644 --- a/src/OpenFOAM/containers/Lists/ListListOps/ListListOps.C +++ b/src/OpenFOAM/containers/Lists/ListListOps/ListListOps.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -106,6 +106,7 @@ AccessType ListListOps::combineOffset return result; } + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam diff --git a/src/OpenFOAM/containers/Lists/ListListOps/ListListOps.H b/src/OpenFOAM/containers/Lists/ListListOps/ListListOps.H index c35fc714c6132f50111fd7fbab059b0c30f66edd..05cef4a723bad9d8c03d0871d2cd9b9a2a30a05a 100644 --- a/src/OpenFOAM/containers/Lists/ListListOps/ListListOps.H +++ b/src/OpenFOAM/containers/Lists/ListListOps/ListListOps.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -92,10 +92,8 @@ SourceFiles namespace Foam { -// -//template <class T> class accessOp; -//template <class T> class offsetOp; -// Dummy access operator for combine() + +// Dummy access operator for ListListOps::combine() template <class T> class accessOp { @@ -108,7 +106,7 @@ public: }; -// Offset operator for combineOffset() +// Offset operator for ListListOps::combineOffset() template <class T> class offsetOp { diff --git a/src/OpenFOAM/meshes/meshShapes/face/face.H b/src/OpenFOAM/meshes/meshShapes/face/face.H index 3b2ffcc757a961435746c72843260f66b882343b..c9cd3724dcae999961d39a7d64200ca0152c2d1d 100644 --- a/src/OpenFOAM/meshes/meshShapes/face/face.H +++ b/src/OpenFOAM/meshes/meshShapes/face/face.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -50,6 +50,7 @@ SourceFiles #include "faceListFwd.H" #include "intersection.H" #include "pointHit.H" +#include "ListListOps.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -386,6 +387,30 @@ public: }; +//- Hash specialization to offset faces in ListListOps::combineOffset +template<> +class offsetOp<face> +{ + +public: + + inline face operator() + ( + const face& x, + const label offset + ) const + { + face result(x.size()); + + forAll(x, xI) + { + result[xI] = x[xI] + offset; + } + return result; + } +}; + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam diff --git a/src/OpenFOAM/meshes/meshShapes/triFace/triFace.H b/src/OpenFOAM/meshes/meshShapes/triFace/triFace.H index 8e5103ac2cb7c014654e3032f6a9efe844b08d09..24ad5d3d1ccf920dd401a01b81edbe5354635d06 100644 --- a/src/OpenFOAM/meshes/meshShapes/triFace/triFace.H +++ b/src/OpenFOAM/meshes/meshShapes/triFace/triFace.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -46,6 +46,7 @@ SourceFiles #include "intersection.H" #include "pointField.H" #include "triPointRef.H" +#include "ListListOps.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -249,6 +250,30 @@ template<> inline bool contiguous<triFace>() {return true;} +//- Hash specialization to offset faces in ListListOps::combineOffset +template<> +class offsetOp<triFace> +{ + +public: + + inline triFace operator() + ( + const triFace& x, + const label offset + ) const + { + triFace result(x); + + forAll(x, xI) + { + result[xI] = x[xI] + offset; + } + return result; + } +}; + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // } // End namespace Foam diff --git a/src/OpenFOAM/meshes/primitiveMesh/PatchTools/PatchToolsGatherAndMerge.C b/src/OpenFOAM/meshes/primitiveMesh/PatchTools/PatchToolsGatherAndMerge.C index 1d759d3783520997fca920fbcfeae298064b91f4..89ffdec2ae21668e99e4e90bdb6db9e0774e9700 100644 --- a/src/OpenFOAM/meshes/primitiveMesh/PatchTools/PatchToolsGatherAndMerge.C +++ b/src/OpenFOAM/meshes/primitiveMesh/PatchTools/PatchToolsGatherAndMerge.C @@ -28,58 +28,7 @@ License #include "mergePoints.H" #include "face.H" #include "triFace.H" - -// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // - -namespace Foam -{ - //- Used to offset faces in Pstream::combineOffset - template<> - class offsetOp<face> - { - - public: - - face operator() - ( - const face& x, - const label offset - ) const - { - face result(x.size()); - - forAll(x, xI) - { - result[xI] = x[xI] + offset; - } - return result; - } - }; - - //- Used to offset faces in Pstream::combineOffset - template<> - class offsetOp<triFace> - { - - public: - - triFace operator() - ( - const triFace& x, - const label offset - ) const - { - triFace result(x); - - forAll(x, xI) - { - result[xI] = x[xI] + offset; - } - return result; - } - }; -} - +#include "ListListOps.H" // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // diff --git a/src/triSurface/tools/labelledTri/labelledTri.H b/src/triSurface/tools/labelledTri/labelledTri.H index a4bd26f825d2bdba43aa6baad204284835ee1c3d..6f0c13065d50bb53ecd6d38e42824b72875b1b60 100644 --- a/src/triSurface/tools/labelledTri/labelledTri.H +++ b/src/triSurface/tools/labelledTri/labelledTri.H @@ -36,6 +36,7 @@ SourceFiles #define labelledTri_H #include "triFace.H" +#include "ListListOps.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -114,14 +115,15 @@ public: template<> inline bool contiguous<labelledTri>() {return true;} -//- Used to offset faces in ListListOps::combineOffset + +//- Hash specialization to offset faces in ListListOps::combineOffset template<> class offsetOp<labelledTri> { public: - labelledTri operator() + inline labelledTri operator() ( const labelledTri& x, const label offset