diff --git a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatch.C b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatch.C index a47c9c7d8cf1130cf3c3ff4b6d3aaef357f9d6f6..835f884399e217cc5eefe817dff817ff9d9bea05 100644 --- a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatch.C +++ b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatch.C @@ -68,6 +68,42 @@ PrimitivePatch<Face, FaceList, PointField, PointType>::PrimitivePatch {} +// Construct from components +template +< + class Face, + template<class> class FaceList, + class PointField, + class PointType +> +PrimitivePatch<Face, FaceList, PointField, PointType>::PrimitivePatch +( + FaceList<Face>& faces, + Field<PointType>& points, + const bool reUse +) +: + FaceList<Face>(faces, reUse), + points_(points, reUse), + edgesPtr_(NULL), + nInternalEdges_(-1), + boundaryPointsPtr_(NULL), + faceFacesPtr_(NULL), + edgeFacesPtr_(NULL), + faceEdgesPtr_(NULL), + pointEdgesPtr_(NULL), + pointFacesPtr_(NULL), + localFacesPtr_(NULL), + meshPointsPtr_(NULL), + meshPointMapPtr_(NULL), + edgeLoopsPtr_(NULL), + localPointsPtr_(NULL), + localPointOrderPtr_(NULL), + faceNormalsPtr_(NULL), + pointNormalsPtr_(NULL) +{} + + // Construct as copy template < diff --git a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatch.H b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatch.H index c22514d25fdc23d7f6008eabd8f5675e64ea144e..49b3be82605cdfdaeb2dec835779ea2225d7794b 100644 --- a/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatch.H +++ b/src/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatch.H @@ -235,6 +235,14 @@ public: const Field<PointType>& points ); + //- Construct from components, reuse storage + PrimitivePatch + ( + FaceList<Face>& faces, + Field<PointType>& points, + const bool reUse + ); + //- Construct as copy PrimitivePatch (