From b96cef1339fb59b5510fb7921bf8d1e66868b36d Mon Sep 17 00:00:00 2001 From: Andrew Heather <> Date: Fri, 3 Dec 2021 13:47:19 +0000 Subject: [PATCH] ENH: [sampled]DistanceSurface - added construct from searchableSurface --- .../distanceSurface/sampledDistanceSurface.C | 24 +++++++++++++++++ .../distanceSurface/sampledDistanceSurface.H | 12 +++++++++ .../surface/distanceSurface/distanceSurface.C | 27 ++++++++++++++++--- .../surface/distanceSurface/distanceSurface.H | 10 +++++++ 4 files changed, 69 insertions(+), 4 deletions(-) diff --git a/src/sampling/sampledSurface/distanceSurface/sampledDistanceSurface.C b/src/sampling/sampledSurface/distanceSurface/sampledDistanceSurface.C index 3d9e7a597bc..a9d3bf06c11 100644 --- a/src/sampling/sampledSurface/distanceSurface/sampledDistanceSurface.C +++ b/src/sampling/sampledSurface/distanceSurface/sampledDistanceSurface.C @@ -64,6 +64,30 @@ Foam::sampledDistanceSurface::sampledDistanceSurface {} +Foam::sampledDistanceSurface::sampledDistanceSurface +( + const word name, + const polyMesh& mesh, + const bool interpolate, + autoPtr<searchableSurface>&& surface, + const scalar distance, + const bool useSignedDistance +) +: + sampledSurface(name, mesh, interpolate), + distanceSurface + ( + mesh, + interpolate, + std::move(surface), + distance, + useSignedDistance + ), + average_(false), // pass as param? + needsUpdate_(true) +{} + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // bool Foam::sampledDistanceSurface::needsUpdate() const diff --git a/src/sampling/sampledSurface/distanceSurface/sampledDistanceSurface.H b/src/sampling/sampledSurface/distanceSurface/sampledDistanceSurface.H index 5477ad3595a..7e72c12ae27 100644 --- a/src/sampling/sampledSurface/distanceSurface/sampledDistanceSurface.H +++ b/src/sampling/sampledSurface/distanceSurface/sampledDistanceSurface.H @@ -141,6 +141,18 @@ public: ); + sampledDistanceSurface + ( + const word name, + const polyMesh& mesh, + const bool interpolate, + autoPtr<searchableSurface>&& surface, + const scalar distance, + const bool useSignedDistance + //const isoSurfaceParams& params = isoSurfaceParams() + ); + + //- Destructor virtual ~sampledDistanceSurface() = default; diff --git a/src/sampling/surface/distanceSurface/distanceSurface.C b/src/sampling/surface/distanceSurface/distanceSurface.C index 3d0f1f4d9b1..06b44dc5185 100644 --- a/src/sampling/surface/distanceSurface/distanceSurface.C +++ b/src/sampling/surface/distanceSurface/distanceSurface.C @@ -349,9 +349,10 @@ Foam::distanceSurface::distanceSurface const isoSurfaceParams& params ) : - mesh_(mesh), - geometryPtr_ + distanceSurface ( + mesh, + interpolate, searchableSurface::New ( surfaceType, @@ -365,8 +366,26 @@ Foam::distanceSurface::distanceSurface IOobject::NO_WRITE ), dictionary() - ) - ), + ), + distance, + useSignedDistance, + params + ) +{} + + +Foam::distanceSurface::distanceSurface +( + const polyMesh& mesh, + const bool interpolate, + autoPtr<searchableSurface>&& surface, + const scalar distance, + const bool useSignedDistance, + const isoSurfaceParams& params +) +: + mesh_(mesh), + geometryPtr_(surface), distance_(distance), withZeroDistance_(equal(distance_, 0)), withSignDistance_ diff --git a/src/sampling/surface/distanceSurface/distanceSurface.H b/src/sampling/surface/distanceSurface/distanceSurface.H index 184b24d8c31..6a4c2969322 100644 --- a/src/sampling/surface/distanceSurface/distanceSurface.H +++ b/src/sampling/surface/distanceSurface/distanceSurface.H @@ -326,6 +326,16 @@ public: const isoSurfaceParams& params = isoSurfaceParams() ); + distanceSurface + ( + const polyMesh& mesh, + const bool interpolate, + autoPtr<searchableSurface>&& surface, + const scalar distance, + const bool useSignedDistance, + const isoSurfaceParams& params = isoSurfaceParams() + ); + //- Destructor virtual ~distanceSurface() = default; -- GitLab