ENH: use unique_ptr for resource handling in dynamicMesh

ENH: defaulting for destructors where possible

STYLE: clear() instead of setSize(0) for plain Lists

STYLE: use bool operator instead of valid()/empty() for autoPtr tests
This commit is contained in:
Mark Olesen
2020-05-13 12:12:24 +02:00
parent 2c3425ac1e
commit 841b65536b
118 changed files with 655 additions and 992 deletions

View File

@ -33,7 +33,6 @@ License
#include "primitiveMesh.H"
#include "polyTopoChange.H"
#include "addToRunTimeSelectionTable.H"
#include "demandDrivenData.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -222,13 +221,12 @@ void Foam::attachDetach::checkDefinition()
void Foam::attachDetach::clearAddressing() const
{
deleteDemandDrivenData(pointMatchMapPtr_);
pointMatchMapPtr_.reset(nullptr);
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// Construct from components
Foam::attachDetach::attachDetach
(
const word& name,
@ -256,7 +254,6 @@ Foam::attachDetach::attachDetach
}
// Construct from components
Foam::attachDetach::attachDetach
(
const word& name,
@ -292,26 +289,11 @@ Foam::attachDetach::attachDetach
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::attachDetach::~attachDetach()
{
clearAddressing();
}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool Foam::attachDetach::setAttach() const
{
if (!attached())
{
trigger_ = true;
}
else
{
trigger_ = false;
}
trigger_ = (!attached());
return trigger_;
}
@ -319,14 +301,7 @@ bool Foam::attachDetach::setAttach() const
bool Foam::attachDetach::setDetach() const
{
if (attached())
{
trigger_ = true;
}
else
{
trigger_ = false;
}
trigger_ = (attached());
return trigger_;
}

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -63,7 +64,7 @@ class attachDetach
:
public polyMeshModifier
{
// Data types
// Data Types
//- State of the modifier
enum modifierState
@ -74,7 +75,7 @@ class attachDetach
};
// Private data
// Private Data
//- Master face zone ID
faceZoneID faceZoneID_;
@ -103,8 +104,8 @@ class attachDetach
// Private addressing data. Created on topology change
//- Map of matching points
mutable Map<label>* pointMatchMapPtr_;
//- Map of matching points
mutable unique_ptr<Map<label>> pointMatchMapPtr_;
// Private Member Functions
@ -174,7 +175,7 @@ public:
//- Destructor
virtual ~attachDetach();
virtual ~attachDetach() = default;
// Member Functions

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -89,8 +90,8 @@ void Foam::attachDetach::calcPointMatchMap() const
const faceList& masterLocalFaces = masterPatch.localFaces();
const faceList& slaveLocalFaces = reverseSlavePatch.localFaces();
pointMatchMapPtr_ = new Map<label>(2*slaveMeshPoints.size());
Map<label>& removedPointMap = *pointMatchMapPtr_;
pointMatchMapPtr_.reset(new Map<label>(2*slaveMeshPoints.size()));
auto& removedPointMap = *pointMatchMapPtr_;
forAll(masterLocalFaces, facei)
{

View File

@ -43,14 +43,14 @@ License
namespace Foam
{
defineTypeNameAndDebug(boundaryMesh, 0);
defineTypeNameAndDebug(boundaryMesh, 0);
}
// Normal along which to divide faces into categories (used in getNearest)
const vector boundaryMesh::splitNormal_(3, 2, 1);
const Foam::vector Foam::boundaryMesh::splitNormal_(3, 2, 1);
// Distance to face tolerance for getNearest
const scalar boundaryMesh::distanceTol_ = 1e-2;
}
const Foam::scalar Foam::boundaryMesh::distanceTol_ = 1e-2;
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
@ -437,7 +437,6 @@ void Foam::boundaryMesh::markZone
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// Null constructor
Foam::boundaryMesh::boundaryMesh()
:
meshPtr_(nullptr),
@ -452,27 +451,14 @@ Foam::boundaryMesh::boundaryMesh()
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::boundaryMesh::~boundaryMesh()
{
clearOut();
}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::boundaryMesh::clearOut()
{
if (meshPtr_)
{
delete meshPtr_;
meshPtr_ = nullptr;
}
meshPtr_.reset(nullptr);
}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::boundaryMesh::read(const polyMesh& mesh)
{
patches_.clear();
@ -544,8 +530,10 @@ void Foam::boundaryMesh::read(const polyMesh& mesh)
// Store in local(compact) addressing
clearOut();
meshPtr_ = new bMesh(globalPatch.localFaces(), globalPatch.localPoints());
meshPtr_.reset
(
new bMesh(globalPatch.localFaces(), globalPatch.localPoints())
);
if (debug & 2)
{
@ -586,16 +574,15 @@ void Foam::boundaryMesh::read(const polyMesh& mesh)
}
// Clear edge storage
featurePoints_.setSize(0);
featureEdges_.setSize(0);
featurePoints_.clear();
featureEdges_.clear();
featureToEdge_.setSize(0);
edgeToFeature_.setSize(meshPtr_->nEdges());
featureToEdge_.clear();
edgeToFeature_.resize(meshPtr_->nEdges());
edgeToFeature_ = -1;
featureSegments_.setSize(0);
extraEdges_.setSize(0);
featureSegments_.clear();
extraEdges_.clear();
}
@ -752,19 +739,18 @@ void Foam::boundaryMesh::readTriSurface(const fileName& fName)
clearOut();
// Store compact.
meshPtr_ = new bMesh(bFaces, surf.localPoints());
meshPtr_.reset(new bMesh(bFaces, surf.localPoints()));
// Clear edge storage
featurePoints_.setSize(0);
featureEdges_.setSize(0);
featurePoints_.clear();
featureEdges_.clear();
featureToEdge_.setSize(0);
edgeToFeature_.setSize(meshPtr_->nEdges());
featureToEdge_.clear();
edgeToFeature_.resize(meshPtr_->nEdges());
edgeToFeature_ = -1;
featureSegments_.setSize(0);
extraEdges_.setSize(0);
featureSegments_.clear();
extraEdges_.clear();
}
@ -1813,7 +1799,8 @@ void Foam::boundaryMesh::changeFaces
}
// Reconstruct 'mesh' from new faces and (copy of) existing points.
bMesh* newMeshPtr_ = new bMesh(newFaces, mesh().points());
unique_ptr<bMesh> newMeshPtr(new bMesh(newFaces, mesh().points()));
// Reset meshFace_ to new ordering.
meshFace_.transfer(newMeshFace);
@ -1823,7 +1810,7 @@ void Foam::boundaryMesh::changeFaces
clearOut();
// And insert new 'mesh'.
meshPtr_ = newMeshPtr_;
meshPtr_ = std::move(newMeshPtr);
}

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -76,7 +77,7 @@ class boundaryMesh
// Private Data
//- All boundary mesh data. Reconstructed every time faces are repatched
bMesh* meshPtr_;
unique_ptr<bMesh> meshPtr_;
//- Patches. Reconstructed every time faces are repatched.
PtrList<boundaryPatch> patches_;
@ -189,12 +190,12 @@ public:
// Constructors
//- Construct null
//- Default construct
boundaryMesh();
//- Destructor
~boundaryMesh();
~boundaryMesh() = default;
void clearOut();
@ -208,8 +209,8 @@ public:
if (!meshPtr_)
{
FatalErrorInFunction
<< "No mesh available. Probably mesh not yet"
<< " read." << abort(FatalError);
<< "No mesh available. Probably mesh not yet read\n"
<< abort(FatalError);
}
return *meshPtr_;
}

View File

@ -50,7 +50,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class mapPolyMesh;
class polyTopoChange;
class globalMeshData;
@ -61,7 +61,7 @@ class globalMeshData;
class createShellMesh
{
// Private data
// Private Data
//- Reference to patch to extrude
const primitiveFacePatch& patch_;
@ -113,7 +113,7 @@ public:
// Constructors
//- Construct from mesh.
//- Construct from face patch
createShellMesh
(
const primitiveFacePatch& patch,
@ -124,7 +124,6 @@ public:
// Member Functions
// Access
//- From region cell to patch face. Consecutively added so

View File

@ -51,7 +51,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class IOobject;
class faceCoupleInfo;
class IOobjectList;
@ -68,7 +68,6 @@ class fvMeshAdder
:
public polyMeshAdder
{
private:
// Private Member Functions

View File

@ -1650,7 +1650,6 @@ Foam::autoPtr<Foam::fvMesh> Foam::fvMeshDistribute::receiveMesh
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// Construct from components
Foam::fvMeshDistribute::fvMeshDistribute(fvMesh& mesh, const scalar mergeTol)
:
mesh_(mesh),

View File

@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2018 OpenFOAM Foundation
Copyright (C) 2016 OpenCFD Ltd.
Copyright (C) 2016-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -63,7 +63,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class mapAddedPolyMesh;
class mapDistributePolyMesh;

View File

@ -68,7 +68,7 @@ Foam::word Foam::fvMeshSubset::exposedPatchName("oldInternalFaces");
bool Foam::fvMeshSubset::checkCellSubset() const
{
if (fvMeshSubsetPtr_.empty())
if (!fvMeshSubsetPtr_)
{
FatalErrorInFunction
<< "setCellSubset()" << nl
@ -87,9 +87,8 @@ void Foam::fvMeshSubset::calcFaceFlipMap() const
const labelList& subToBaseFace = faceMap();
const labelList& subToBaseCell = cellMap();
faceFlipMapPtr_.clear();
faceFlipMapPtr_.reset(new labelList(subToBaseFace.size()));
labelList& faceFlipMap = *faceFlipMapPtr_;
auto& faceFlipMap = *faceFlipMapPtr_;
// Only exposed internal faces might be flipped (since we don't do
// any cell renumbering, just compacting)
@ -546,8 +545,8 @@ Foam::fvMeshSubset::fvMeshSubset
void Foam::fvMeshSubset::clear()
{
fvMeshSubsetPtr_.clear();
faceFlipMapPtr_.clear();
fvMeshSubsetPtr_.reset(nullptr);
faceFlipMapPtr_.reset(nullptr);
pointMap_.clear();
faceMap_.clear();

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2018 OpenCFD Ltd.
Copyright (C) 2018-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -35,13 +35,13 @@ inline const Foam::fvMesh& Foam::fvMeshSubset::baseMesh() const
inline const Foam::fvMesh& Foam::fvMeshSubset::mesh() const
{
return fvMeshSubsetPtr_.valid() ? *fvMeshSubsetPtr_ : baseMesh_;
return fvMeshSubsetPtr_ ? *fvMeshSubsetPtr_ : baseMesh_;
}
inline bool Foam::fvMeshSubset::hasSubMesh() const
{
return fvMeshSubsetPtr_.valid();
return bool(fvMeshSubsetPtr_);
}
@ -79,7 +79,7 @@ inline const Foam::labelList& Foam::fvMeshSubset::faceMap() const
inline const Foam::labelList& Foam::fvMeshSubset::faceFlipMap() const
{
if (!faceFlipMapPtr_.valid())
if (!faceFlipMapPtr_)
{
calcFaceFlipMap();
}

View File

@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2016-2019 OpenCFD Ltd.
Copyright (C) 2016-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -49,9 +49,6 @@ SourceFiles
namespace Foam
{
// Forward declarations
class Time;
/*---------------------------------------------------------------------------*\
Class fvMeshSubsetProxy Declaration
\*---------------------------------------------------------------------------*/
@ -60,6 +57,8 @@ class fvMeshSubsetProxy
{
public:
// Data Types
//- Internal bookkeeping for subset type
enum subsetType
{

View File

@ -33,7 +33,6 @@ License
#include "primitiveMesh.H"
#include "polyTopoChange.H"
#include "addToRunTimeSelectionTable.H"
#include "demandDrivenData.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -96,38 +95,10 @@ void Foam::layerAdditionRemoval::checkDefinition()
}
Foam::scalar Foam::layerAdditionRemoval::readOldThickness
(
const dictionary& dict
)
{
return dict.lookupOrDefault("oldLayerThickness", -1.0);
}
void Foam::layerAdditionRemoval::clearAddressing() const
{
if (pointsPairingPtr_)
{
if (debug)
{
Pout<< "layerAdditionRemoval::clearAddressing()" << nl
<< " clearing pointsPairingPtr_" << endl;
}
deleteDemandDrivenData(pointsPairingPtr_);
}
if (facesPairingPtr_)
{
if (debug)
{
Pout<< "layerAdditionRemoval::clearAddressing()" << nl
<< " clearing facesPairingPtr_" << endl;
}
deleteDemandDrivenData(facesPairingPtr_);
}
pointsPairingPtr_.reset(nullptr);
facesPairingPtr_.reset(nullptr);
}
@ -171,8 +142,8 @@ Foam::layerAdditionRemoval::layerAdditionRemoval
faceZoneID_(dict.lookup("faceZoneName"), ptc.mesh().faceZones()),
minLayerThickness_(dict.get<scalar>("minLayerThickness")),
maxLayerThickness_(dict.get<scalar>("maxLayerThickness")),
thicknessFromVolume_(dict.lookupOrDefault("thicknessFromVolume", true)),
oldLayerThickness_(readOldThickness(dict)),
thicknessFromVolume_(dict.getOrDefault("thicknessFromVolume", true)),
oldLayerThickness_(dict.getOrDefault<scalar>("oldLayerThickness", -1.0)),
pointsPairingPtr_(nullptr),
facesPairingPtr_(nullptr),
triggerRemoval_(-1),
@ -182,14 +153,6 @@ Foam::layerAdditionRemoval::layerAdditionRemoval
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::layerAdditionRemoval::~layerAdditionRemoval()
{
clearAddressing();
}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool Foam::layerAdditionRemoval::changeTopology() const

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2013 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -56,7 +57,7 @@ class layerAdditionRemoval
:
public polyMeshModifier
{
// Private data
// Private Data
//- Master face zone ID
faceZoneID faceZoneID_;
@ -76,10 +77,10 @@ class layerAdditionRemoval
mutable scalar oldLayerThickness_;
//- Point pairing
mutable labelList* pointsPairingPtr_;
mutable unique_ptr<labelList> pointsPairingPtr_;
//- Face pairing
mutable labelList* facesPairingPtr_;
mutable unique_ptr<labelList> facesPairingPtr_;
//- Layer removal trigger time index
mutable label triggerRemoval_;
@ -100,7 +101,7 @@ class layerAdditionRemoval
void checkDefinition();
// Topological changes
// Topological Changes
//- Check for valid layer
bool validCollapse() const;
@ -127,13 +128,7 @@ class layerAdditionRemoval
void clearAddressing() const;
// Helpers
//- Optionally read old thickness
static scalar readOldThickness(const dictionary&);
// Static data members
// Static Data Members
//- Thickness insertion fraction for the pre-motion
static const scalar addDelta_;
@ -174,7 +169,7 @@ public:
//- Destructor
virtual ~layerAdditionRemoval();
virtual ~layerAdditionRemoval() = default;
// Member Functions

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -83,11 +84,11 @@ bool Foam::layerAdditionRemoval::setLayerPairing() const
<< abort(FatalError);
}
pointsPairingPtr_ = new labelList(meshPoints.size(), -1);
labelList& ptc = *pointsPairingPtr_;
pointsPairingPtr_.reset(new labelList(meshPoints.size(), -1));
facesPairingPtr_.reset(new labelList(mf.size(), -1));
facesPairingPtr_ = new labelList(mf.size(), -1);
labelList& ftc = *facesPairingPtr_;
auto& ptc = *pointsPairingPtr_;
auto& ftc = *facesPairingPtr_;
if (debug > 1)
{
@ -177,11 +178,9 @@ bool Foam::layerAdditionRemoval::setLayerPairing() const
return false;
}
else
{
// Valid layer
return true;
}
// Valid layer
return true;
}
@ -197,6 +196,7 @@ const Foam::labelList& Foam::layerAdditionRemoval::pointsPairing() const
return *pointsPairingPtr_;
}
const Foam::labelList& Foam::layerAdditionRemoval::facesPairing() const
{
if (!facesPairingPtr_)

View File

@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2017 OpenFOAM Foundation
Copyright (C) 2017-2019 OpenCFD Ltd.
Copyright (C) 2017-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -488,7 +488,7 @@ Foam::label Foam::cellCuts::vertexVertexToFace
void Foam::cellCuts::calcFaceCuts() const
{
if (faceCutsPtr_.valid())
if (faceCutsPtr_)
{
FatalErrorInFunction
<< "faceCuts already calculated" << abort(FatalError);
@ -497,7 +497,7 @@ void Foam::cellCuts::calcFaceCuts() const
const faceList& faces = mesh().faces();
faceCutsPtr_.reset(new labelListList(mesh().nFaces()));
labelListList& faceCuts = faceCutsPtr_();
auto& faceCuts = *faceCutsPtr_;
for (label facei = 0; facei < mesh().nFaces(); facei++)
{
@ -1275,7 +1275,7 @@ void Foam::cellCuts::calcCellLoops(const labelList& cutCells)
// Dump cell and cuts on cell.
writeUncutOBJ(".", celli);
}
cellLoops_[celli].setSize(0);
cellLoops_[celli].clear();
}
}
else
@ -1283,7 +1283,7 @@ void Foam::cellCuts::calcCellLoops(const labelList& cutCells)
//Pout<< "calcCellLoops(const labelList&) : did not find valid"
// << " loop for cell " << celli << " since not enough cut faces"
// << endl;
cellLoops_[celli].setSize(0);
cellLoops_[celli].clear();
}
}
}
@ -2196,8 +2196,8 @@ void Foam::cellCuts::setFromCellLoops()
<< endl;
}
cellLoops_[celli].setSize(0);
cellAnchorPoints_[celli].setSize(0);
cellLoops_[celli].clear();
cellAnchorPoints_[celli].clear();
}
else
{
@ -2368,7 +2368,7 @@ void Foam::cellCuts::setFromCellLoops
else
{
// Clear cellLoops
cellLoops_[celli].setSize(0);
cellLoops_[celli].clear();
}
}
}
@ -2430,7 +2430,7 @@ void Foam::cellCuts::setFromCellCutter
}
else
{
cellLoops_[celli].setSize(0);
cellLoops_[celli].clear();
WarningInFunction
<< "Found loop on cell " << celli
@ -2455,7 +2455,7 @@ void Foam::cellCuts::setFromCellCutter
else
{
// Clear cellLoops
cellLoops_[celli].setSize(0);
cellLoops_[celli].clear();
}
}
@ -2552,7 +2552,7 @@ void Foam::cellCuts::setFromCellCutter
}
else
{
cellLoops_[celli].setSize(0);
cellLoops_[celli].clear();
// Discarded by validLoop
if (debug)
@ -2566,7 +2566,7 @@ void Foam::cellCuts::setFromCellCutter
else
{
// Clear cellLoops
cellLoops_[celli].setSize(0);
cellLoops_[celli].clear();
}
}
@ -3138,22 +3138,14 @@ Foam::cellCuts::cellCuts
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::cellCuts::~cellCuts()
{
clearOut();
}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::cellCuts::clearOut()
{
faceCutsPtr_.clear();
faceCutsPtr_.reset(nullptr);
}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::pointField Foam::cellCuts::loopPoints(const label celli) const
{
const labelList& loop = cellLoops_[celli];

View File

@ -98,7 +98,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class polyMesh;
class cellLooper;
class refineCell;
@ -112,7 +112,7 @@ class cellCuts
:
public edgeVertex
{
// Private data
// Private Data
//- Warn for illegal cuts
const bool verbose_;
@ -134,7 +134,7 @@ class cellCuts
//- Cuts per existing face (includes those along edge of face)
// Cuts in no particular order.
mutable autoPtr<labelListList> faceCutsPtr_;
mutable unique_ptr<labelListList> faceCutsPtr_;
//- Per face : cut across edge (so not along existing edge)
// (can only be one per face)
@ -184,6 +184,7 @@ class cellCuts
const Map<label>&
);
// Private Member Functions
//- Debugging: write cell's edges and any cut vertices and edges
@ -541,9 +542,9 @@ public:
//- Destructor
~cellCuts();
~cellCuts() = default;
//- Clear out demand driven storage
//- Clear out demand-driven storage
void clearOut();
@ -573,7 +574,7 @@ public:
// Cuts in no particular order
const labelListList& faceCuts() const
{
if (!faceCutsPtr_.valid())
if (!faceCutsPtr_)
{
calcFaceCuts();
}

View File

@ -202,10 +202,4 @@ Foam::cellLooper::cellLooper(const polyMesh& mesh)
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::cellLooper::~cellLooper()
{}
// ************************************************************************* //

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -61,7 +62,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class polyMesh;
class plane;
@ -73,7 +74,6 @@ class cellLooper
:
public edgeVertex
{
protected:
// Protected Member Functions
@ -106,10 +106,6 @@ protected:
label getMisAlignedEdge(const vector& refDir, const label celli) const;
private:
// Private Member Functions
//- No copy construct
cellLooper(const cellLooper&) = delete;
@ -140,8 +136,8 @@ public:
// Constructors
//- Construct from components
cellLooper(const polyMesh& mesh);
//- Construct from mesh
explicit cellLooper(const polyMesh& mesh);
//- Clone
autoPtr<cellLooper> clone() const
@ -162,7 +158,7 @@ public:
//- Destructor
virtual ~cellLooper();
virtual ~cellLooper() = default;
// Member Functions
@ -198,7 +194,6 @@ public:
labelList& loop,
scalarField& loopWeights
) const = 0;
};

View File

@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2019 OpenCFD Ltd.
Copyright (C) 2019-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -36,9 +36,16 @@ License
#include "HashSet.H"
#include "ListOps.H"
#include "transform.H"
#include "addToRunTimeSelectionTable.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam
{
defineTypeNameAndDebug(geomCellLooper, 0);
addToRunTimeSelectionTable(cellLooper, geomCellLooper, word);
}
// Extension factor of edges to make sure we catch intersections through
// edge endpoints
@ -49,17 +56,6 @@ const Foam::scalar Foam::geomCellLooper::pointEqualTol_ = 1e-3;
Foam::scalar Foam::geomCellLooper::snapTol_ = 0.1;
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam
{
defineTypeNameAndDebug(geomCellLooper, 0);
addToRunTimeSelectionTable(cellLooper, geomCellLooper, word);
}
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
Foam::scalar Foam::geomCellLooper::minEdgeLen(const label vertI) const
@ -209,19 +205,12 @@ bool Foam::geomCellLooper::edgeEndsCut
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// Construct from components
Foam::geomCellLooper::geomCellLooper(const polyMesh& mesh)
:
cellLooper(mesh)
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::geomCellLooper::~geomCellLooper()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool Foam::geomCellLooper::cut

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -56,7 +57,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class plane;
/*---------------------------------------------------------------------------*\
@ -67,7 +68,6 @@ class geomCellLooper
:
public cellLooper
{
// Static
//- Tolerance for point equal test. Fraction of edge length.
@ -140,22 +140,18 @@ public:
}
// Constructors
//- Construct from components
geomCellLooper(const polyMesh& mesh);
//- Construct from mesh
explicit geomCellLooper(const polyMesh& mesh);
//- Destructor
virtual ~geomCellLooper();
virtual ~geomCellLooper() = default;
// Member Functions
//- Create cut along circumference of celli. Gets current mesh cuts.
// Cut along circumference is expressed as loop of cuts plus weights
// for cuts along edges (only valid for edge cuts).

View File

@ -34,15 +34,14 @@ License
#include "ListOps.H"
#include "meshTools.H"
#include "OFstream.H"
#include "addToRunTimeSelectionTable.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace Foam
{
defineTypeNameAndDebug(hexCellLooper, 0);
addToRunTimeSelectionTable(cellLooper, hexCellLooper, word);
defineTypeNameAndDebug(hexCellLooper, 0);
addToRunTimeSelectionTable(cellLooper, hexCellLooper, word);
}
@ -150,7 +149,6 @@ void Foam::hexCellLooper::makeFace
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// Construct from components
Foam::hexCellLooper::hexCellLooper(const polyMesh& mesh)
:
geomCellLooper(mesh),
@ -158,12 +156,6 @@ Foam::hexCellLooper::hexCellLooper(const polyMesh& mesh)
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::hexCellLooper::~hexCellLooper()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool Foam::hexCellLooper::cut

View File

@ -53,7 +53,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class cellModel;
/*---------------------------------------------------------------------------*\
@ -64,10 +64,9 @@ class hexCellLooper
:
public geomCellLooper
{
protected:
// Protected data
// Protected Data
//- Reference to hex cell shape.
const cellModel& hex_;
@ -114,12 +113,12 @@ public:
// Constructors
//- Construct from components
hexCellLooper(const polyMesh& mesh);
//- Construct from mesh
explicit hexCellLooper(const polyMesh& mesh);
//- Destructor
virtual ~hexCellLooper();
virtual ~hexCellLooper() = default;
// Member Functions

View File

@ -33,7 +33,6 @@ License
#include "ListOps.H"
#include "meshTools.H"
#include "hexMatcher.H"
#include "addToRunTimeSelectionTable.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -662,19 +661,12 @@ void Foam::topoCellLooper::walkSplitHex
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// Construct from components
Foam::topoCellLooper::topoCellLooper(const polyMesh& mesh)
:
hexCellLooper(mesh)
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::topoCellLooper::~topoCellLooper()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool Foam::topoCellLooper::cut

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -59,7 +60,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class cellFeatures;
/*---------------------------------------------------------------------------*\
@ -70,7 +71,6 @@ class topoCellLooper
:
public hexCellLooper
{
// Private Member Functions
//- In-memory truncate a list
@ -166,12 +166,12 @@ public:
// Constructors
//- Construct from components
topoCellLooper(const polyMesh& mesh);
//- Construct from mesh
explicit topoCellLooper(const polyMesh& mesh);
//- Destructor
virtual ~topoCellLooper();
virtual ~topoCellLooper() = default;
// Member Functions

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -53,7 +54,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class polyMesh;
class twoDPointCorrector;
class primitiveMesh;
@ -68,10 +69,9 @@ class directions
:
public List<vectorField>
{
public:
// Data types
// Data Types
//- Enumeration listing the possible coordinate directions.
enum directionType

View File

@ -30,7 +30,6 @@ License
#include "meshTools.H"
#include "refineCell.H"
// * * * * * * * * * * * * * * * Static Functions * * * * * * * * * * * * * //
// Update stored refine list using map

View File

@ -31,6 +31,7 @@ Description
cell circumference.
SourceFiles
edgeVertex.C
\*---------------------------------------------------------------------------*/
@ -45,7 +46,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class refineCell;
/*---------------------------------------------------------------------------*\
@ -54,7 +55,7 @@ class refineCell;
class edgeVertex
{
// Private data
// Private Data
//- Reference to mesh. (could be primitive mesh but keeping polyMesh
// here saves storing reference at higher levels where we do need it)
@ -90,7 +91,7 @@ public:
// Constructors
//- Construct from mesh
edgeVertex(const polyMesh& mesh)
explicit edgeVertex(const polyMesh& mesh)
:
mesh_(mesh)
{}

View File

@ -385,7 +385,6 @@ bool Foam::boundaryCutter::splitFace
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// Construct from components
Foam::boundaryCutter::boundaryCutter(const polyMesh& mesh)
:
mesh_(mesh),
@ -394,12 +393,6 @@ Foam::boundaryCutter::boundaryCutter(const polyMesh& mesh)
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::boundaryCutter::~boundaryCutter()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::boundaryCutter::setRefinement

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -55,7 +56,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class polyTopoChange;
class mapPolyMesh;
class polyMesh;
@ -127,11 +128,11 @@ public:
// Constructors
//- Construct from mesh
boundaryCutter(const polyMesh& mesh);
explicit boundaryCutter(const polyMesh& mesh);
//- Destructor
~boundaryCutter();
~boundaryCutter() = default;
// Member Functions

View File

@ -563,7 +563,6 @@ Foam::face Foam::meshCutAndRemove::loopToFace
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// Construct from components
Foam::meshCutAndRemove::meshCutAndRemove(const polyMesh& mesh)
:
edgeVertex(mesh),

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -27,7 +28,7 @@ Class
Foam::meshCutAndRemove
Description
like meshCutter but also removes non-anchor side of cell.
Like meshCutter but also removes non-anchor side of cell.
SourceFiles
meshCutAndRemove.C
@ -49,7 +50,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class Time;
class polyTopoChange;
class cellCuts;
@ -65,14 +66,14 @@ class meshCutAndRemove
:
public edgeVertex
{
// Private data
// Private Data
//- Faces added in last setRefinement. Per split cell label of added
// face
//- Faces added in last setRefinement.
// Per split cell label of added face
Map<label> addedFaces_;
//- Points added in last setRefinement. Per split edge label of added
// point
//- Points added in last setRefinement.
// Per split edge label of added point
EdgeMap<label> addedPoints_;
@ -193,7 +194,7 @@ public:
// Constructors
//- Construct from mesh
meshCutAndRemove(const polyMesh& mesh);
explicit meshCutAndRemove(const polyMesh& mesh);
// Member Functions

View File

@ -516,12 +516,6 @@ Foam::meshCutter::meshCutter(const polyMesh& mesh)
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::meshCutter::~meshCutter()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::meshCutter::setRefinement

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -124,7 +125,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class Time;
class polyTopoChange;
class cellCuts;
@ -276,11 +277,11 @@ public:
// Constructors
//- Construct from mesh
meshCutter(const polyMesh& mesh);
explicit meshCutter(const polyMesh& mesh);
//- Destructor
~meshCutter();
~meshCutter() = default;
// Member Functions

View File

@ -65,7 +65,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class undoableMeshCutter;
class cellLooper;
class topoSet;

View File

@ -47,7 +47,6 @@ namespace Foam
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// Construct from components
Foam::refinementIterator::refinementIterator
(
polyMesh& mesh,
@ -67,7 +66,7 @@ Foam::refinementIterator::refinementIterator
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::refinementIterator::~refinementIterator()
{}
{} // Define here since polyMesh was forward declared
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -54,7 +55,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class polyMesh;
class refineCell;
class undoableMeshCutter;
@ -68,7 +69,7 @@ class refinementIterator
:
public edgeVertex
{
// Private data
// Private Data
//- Reference to mesh
polyMesh& mesh_;

View File

@ -174,7 +174,6 @@ void Foam::undoableMeshCutter::updateLabels
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// Construct from components
Foam::undoableMeshCutter::undoableMeshCutter
(
const polyMesh& mesh,

View File

@ -59,8 +59,6 @@ Description
- liveSplitCells contains pointers to splitCells with null children.
SourceFiles
undoableMeshCutter.C
@ -83,7 +81,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class polyMesh;
class polyTopoChange;
class refineCell;
@ -97,7 +95,7 @@ class undoableMeshCutter
:
public meshCutter
{
// Private data
// Private Data
//- Whether or not to store actions for unplaying.
const bool undoable_;
@ -143,12 +141,15 @@ public:
ClassName("undoableMeshCutter");
// Constructors
//- Construct from mesh and flag whether refinement pattern needs
// to be stored.
undoableMeshCutter(const polyMesh& mesh, const bool undoable = true);
//- to be stored.
explicit undoableMeshCutter
(
const polyMesh& mesh,
const bool undoable = true
);
//- Destructor

View File

@ -45,10 +45,8 @@ SourceFiles
namespace Foam
{
// Forward declaration of friend functions and operators
// Forward Declarations
class refineCell;
Ostream& operator<<(Ostream&, const refineCell&);
@ -58,26 +56,27 @@ Ostream& operator<<(Ostream&, const refineCell&);
class refineCell
{
// Private data
// Private Data
//- Cell label
label cellNo_;
//- Cell label
label cellNo_;
//- Preferred refinement direction (always normalized).
vector direction_;
//- Preferred refinement direction (always normalized).
vector direction_;
public:
// Constructors
//- Null
//- Default construct
refineCell();
//- From components. Vector will be normalized upon construction.
refineCell(const label, const vector&);
refineCell(const label celli, const vector& direction);
//- From Istream. Vector will be normalized upon construction.
refineCell(Istream& is);
explicit refineCell(Istream& is);
// Member Functions

View File

@ -30,7 +30,6 @@ License
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// Construct from cell number and parent
Foam::splitCell::splitCell(const label celli, splitCell* parent)
:
celli_(celli),

View File

@ -45,24 +45,22 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
/*---------------------------------------------------------------------------*\
Class splitCell Declaration
\*---------------------------------------------------------------------------*/
class splitCell
{
// Private data
// Private Data
//- Unsplit cell label. Only uptodate if this cell is 'live'
// (i.e. no master or slave)
//- Unsplit cell label.
// Only uptodate if this cell is 'live' (i.e. no master or slave)
label celli_;
//- Parent splitCell or null
//- Parent splitCell or nullptr
splitCell* parent_;
//- Cells replacing this or null
//- Cells replacing this or nullptr
splitCell* master_;
splitCell* slave_;

View File

@ -324,7 +324,6 @@ bool Foam::polyMeshGeometry::checkFaceTet
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// Construct from components
Foam::polyMeshGeometry::polyMeshGeometry(const polyMesh& mesh)
:
mesh_(mesh)

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -131,7 +132,7 @@ public:
// Constructors
//- Construct from mesh
polyMeshGeometry(const polyMesh&);
explicit polyMeshGeometry(const polyMesh&);
// Member Functions

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2017-2019 OpenCFD Ltd.
Copyright (C) 2017-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -130,18 +130,12 @@ Foam::codedPoints0MotionSolver::codedPoints0MotionSolver
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::codedPoints0MotionSolver::~codedPoints0MotionSolver()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::motionSolver&
Foam::codedPoints0MotionSolver::redirectMotionSolver() const
{
if (!redirectMotionSolverPtr_.valid())
if (!redirectMotionSolverPtr_)
{
// Get the dictionary for the solver and override the
// solver name (in case it is not a subdictionary and contains
@ -159,7 +153,8 @@ Foam::codedPoints0MotionSolver::redirectMotionSolver() const
IOdictionary(io, constructDict)
);
}
return redirectMotionSolverPtr_();
return *redirectMotionSolverPtr_;
}

View File

@ -5,7 +5,7 @@
\\ / A nd | www.openfoam.com
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2017-2019 OpenCFD Ltd.
Copyright (C) 2017-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -154,7 +154,7 @@ public:
//- Destructor
virtual ~codedPoints0MotionSolver();
virtual ~codedPoints0MotionSolver() = default;
// Member Functions

View File

@ -128,12 +128,6 @@ Foam::zoneMotion::zoneMotion
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::zoneMotion::~zoneMotion()
{}
// * * * * * * * * * * * * * * * * Members * * * * * * * * * * * * * * //
const Foam::labelList& Foam::zoneMotion::pointIDs() const
@ -147,4 +141,5 @@ bool Foam::zoneMotion::moveAllCells() const
return moveAllCells_;
}
// ************************************************************************* //

View File

@ -46,6 +46,7 @@ SourceFiles
namespace Foam
{
// Forward Declarations
class polyMesh;
/*---------------------------------------------------------------------------*\
@ -54,8 +55,7 @@ class polyMesh;
class zoneMotion
{
// Private data
// Private Data
//- Points to move when cell zone is supplied
labelList pointIDs_;
@ -93,8 +93,7 @@ public:
//- Destructor
virtual ~zoneMotion();
virtual ~zoneMotion() = default;
};

View File

@ -325,13 +325,6 @@ displacementInterpolationMotionSolver
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::displacementInterpolationMotionSolver::
~displacementInterpolationMotionSolver()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::pointField>

View File

@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2015 OpenFOAM Foundation
Copyright (C) 2015 OpenCFD Ltd.
Copyright (C) 2015-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -65,7 +65,7 @@ class displacementInterpolationMotionSolver
:
public displacementMotionSolver
{
// Private data
// Private Data
// Face zone information (note: could pack these to only contain
// used zones)
@ -131,7 +131,7 @@ public:
//- Destructor
~displacementInterpolationMotionSolver();
~displacementInterpolationMotionSolver() = default;
// Member Functions

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2013-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -45,7 +46,8 @@ solidBodyMotionDisplacementPointPatchVectorField
)
:
fixedValuePointPatchVectorField(p, iF),
SBMFPtr_()
SBMFPtr_(nullptr),
localPoints0Ptr_(nullptr)
{}
@ -58,7 +60,8 @@ solidBodyMotionDisplacementPointPatchVectorField
)
:
fixedValuePointPatchVectorField(p, iF, dict, false),
SBMFPtr_(solidBodyMotionFunction::New(dict, this->db().time()))
SBMFPtr_(solidBodyMotionFunction::New(dict, this->db().time())),
localPoints0Ptr_(nullptr)
{
if (!dict.found("value"))
{
@ -82,7 +85,8 @@ solidBodyMotionDisplacementPointPatchVectorField
)
:
fixedValuePointPatchVectorField(ptf, p, iF, mapper),
SBMFPtr_(ptf.SBMFPtr_().clone().ptr())
SBMFPtr_(ptf.SBMFPtr_().clone()),
localPoints0Ptr_(nullptr)
{
// For safety re-evaluate
@ -101,7 +105,8 @@ solidBodyMotionDisplacementPointPatchVectorField
)
:
fixedValuePointPatchVectorField(ptf),
SBMFPtr_(ptf.SBMFPtr_().clone().ptr())
SBMFPtr_(ptf.SBMFPtr_().clone()),
localPoints0Ptr_(nullptr)
{}
@ -113,7 +118,8 @@ solidBodyMotionDisplacementPointPatchVectorField
)
:
fixedValuePointPatchVectorField(ptf, iF),
SBMFPtr_(ptf.SBMFPtr_().clone().ptr())
SBMFPtr_(ptf.SBMFPtr_().clone()),
localPoints0Ptr_(nullptr)
{
// For safety re-evaluate
@ -130,7 +136,7 @@ solidBodyMotionDisplacementPointPatchVectorField
const pointField&
solidBodyMotionDisplacementPointPatchVectorField::localPoints0() const
{
if (!localPoints0Ptr_.valid())
if (!localPoints0Ptr_)
{
pointIOField points0
(
@ -148,6 +154,7 @@ solidBodyMotionDisplacementPointPatchVectorField::localPoints0() const
localPoints0Ptr_.reset(new pointField(points0, patch().meshPoints()));
}
return *localPoints0Ptr_;
}

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2013-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -54,7 +55,7 @@ class solidBodyMotionDisplacementPointPatchVectorField
:
public fixedValuePointPatchVectorField
{
// Private data
// Private Data
//- The motion control function
autoPtr<solidBodyMotionFunction> SBMFPtr_;
@ -149,7 +150,8 @@ public:
const pointField& localPoints0() const;
// Evaluation functions
// Evaluation Functions
//- Update the coefficients associated with the patch field
virtual void updateCoeffs();

View File

@ -59,12 +59,6 @@ Foam::solidBodyMotionFunctions::SDA::SDA
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::solidBodyMotionFunctions::SDA::~SDA()
{}
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
Foam::septernion Foam::solidBodyMotionFunctions::SDA::transformation() const

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -60,7 +61,7 @@ class SDA
:
public solidBodyMotionFunction
{
// Private data
// Private Data
//- Center of gravity
vector CofG_;
@ -135,7 +136,7 @@ public:
//- Destructor
virtual ~SDA();
virtual ~SDA() = default;
// Member Functions

View File

@ -62,12 +62,6 @@ Foam::solidBodyMotionFunctions::axisRotationMotion::axisRotationMotion
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::solidBodyMotionFunctions::axisRotationMotion::~axisRotationMotion()
{}
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
Foam::septernion

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2012-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -57,7 +58,7 @@ class axisRotationMotion
:
public solidBodyMotionFunction
{
// Private data
// Private Data
//- Origin
point origin_;
@ -105,7 +106,7 @@ public:
//- Destructor
virtual ~axisRotationMotion();
virtual ~axisRotationMotion() = default;
// Member Functions

View File

@ -79,12 +79,6 @@ Foam::solidBodyMotionFunctions::drivenLinearMotion::drivenLinearMotion
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::solidBodyMotionFunctions::drivenLinearMotion::~drivenLinearMotion()
{}
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
Foam::septernion

View File

@ -115,7 +115,7 @@ public:
//- Destructor
virtual ~drivenLinearMotion();
virtual ~drivenLinearMotion() = default;
// Member Functions

View File

@ -59,12 +59,6 @@ Foam::solidBodyMotionFunctions::linearMotion::linearMotion
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::solidBodyMotionFunctions::linearMotion::~linearMotion()
{}
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
Foam::septernion

View File

@ -56,7 +56,7 @@ class linearMotion
:
public solidBodyMotionFunction
{
// Private data
// Private Data
//- Linear velocity
vector velocity_;
@ -101,7 +101,7 @@ public:
//- Destructor
virtual ~linearMotion();
virtual ~linearMotion() = default;
// Member Functions

View File

@ -59,12 +59,6 @@ Foam::solidBodyMotionFunctions::multiMotion::multiMotion
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::solidBodyMotionFunctions::multiMotion::~multiMotion()
{}
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
Foam::septernion

View File

@ -56,7 +56,7 @@ class multiMotion
:
public solidBodyMotionFunction
{
// Private data
// Private Data
//- Motions to combine
PtrList<solidBodyMotionFunction> SBMFs_;
@ -101,7 +101,7 @@ public:
//- Destructor
virtual ~multiMotion();
virtual ~multiMotion() = default;
// Member Functions

View File

@ -59,13 +59,6 @@ Foam::solidBodyMotionFunctions::oscillatingLinearMotion::oscillatingLinearMotion
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::solidBodyMotionFunctions::oscillatingLinearMotion::
~oscillatingLinearMotion()
{}
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
Foam::septernion

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -56,7 +57,7 @@ class oscillatingLinearMotion
:
public solidBodyMotionFunction
{
// Private data
// Private Data
//- Amplitude
vector amplitude_;
@ -104,7 +105,7 @@ public:
//- Destructor
virtual ~oscillatingLinearMotion();
virtual ~oscillatingLinearMotion() = default;
// Member Functions

View File

@ -62,13 +62,6 @@ oscillatingRotatingMotion
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::solidBodyMotionFunctions::oscillatingRotatingMotion::
~oscillatingRotatingMotion()
{}
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
Foam::septernion

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -56,7 +57,7 @@ class oscillatingRotatingMotion
:
public solidBodyMotionFunction
{
// Private data
// Private Data
//- Centre of gravity
point origin_;
@ -107,7 +108,7 @@ public:
//- Destructor
virtual ~oscillatingRotatingMotion();
virtual ~oscillatingRotatingMotion() = default;
// Member Functions

View File

@ -28,9 +28,6 @@ License
#include "rotatingMotion.H"
#include "addToRunTimeSelectionTable.H"
#include "mathematicalConstants.H"
using namespace Foam::constant::mathematical;
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -64,12 +61,6 @@ Foam::solidBodyMotionFunctions::rotatingMotion::rotatingMotion
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::solidBodyMotionFunctions::rotatingMotion::~rotatingMotion()
{}
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
Foam::septernion
@ -98,7 +89,7 @@ bool Foam::solidBodyMotionFunctions::rotatingMotion::read
omega_.reset
(
Function1<scalar>::New("omega", SBMFCoeffs_).ptr()
Function1<scalar>::New("omega", SBMFCoeffs_)
);
return true;

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -61,7 +62,7 @@ class rotatingMotion
:
public solidBodyMotionFunction
{
// Private data
// Private Data
//- Origin of the axis
const vector origin_;
@ -112,7 +113,7 @@ public:
//- Destructor
virtual ~rotatingMotion();
virtual ~rotatingMotion() = default;
// Member Functions

View File

@ -55,12 +55,6 @@ Foam::solidBodyMotionFunction::solidBodyMotionFunction
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::solidBodyMotionFunction::~solidBodyMotionFunction()
{}
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
bool Foam::solidBodyMotionFunction::read(const dictionary& SBMFCoeffs)

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -57,22 +58,21 @@ namespace Foam
{
/*---------------------------------------------------------------------------*\
s Class solidBodyMotionFunction Declaration
Class solidBodyMotionFunction Declaration
\*---------------------------------------------------------------------------*/
class solidBodyMotionFunction
{
protected:
// Protected data
// Protected Data
dictionary SBMFCoeffs_;
const Time& time_;
private:
// Private Member Functions
// Protected Member Functions
//- No copy construct
solidBodyMotionFunction(const solidBodyMotionFunction&) = delete;
@ -123,7 +123,7 @@ public:
//- Destructor
virtual ~solidBodyMotionFunction();
virtual ~solidBodyMotionFunction() = default;
// Member Functions

View File

@ -65,12 +65,6 @@ Foam::solidBodyMotionFunctions::tabulated6DoFMotion::tabulated6DoFMotion
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::solidBodyMotionFunctions::tabulated6DoFMotion::~tabulated6DoFMotion()
{}
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
Foam::septernion

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -117,7 +118,7 @@ public:
//- Destructor
virtual ~tabulated6DoFMotion();
virtual ~tabulated6DoFMotion() = default;
// Member Functions

View File

@ -195,12 +195,6 @@ Foam::autoPtr<Foam::motionSolver> Foam::motionSolver::iNew::operator()
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::motionSolver::~motionSolver()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::tmp<Foam::pointField> Foam::motionSolver::newPoints()

View File

@ -49,7 +49,7 @@ SourceFiles
namespace Foam
{
// Forward declarations
// Forward Declarations
class mapPolyMesh;
/*---------------------------------------------------------------------------*\
@ -60,7 +60,7 @@ class motionSolver
:
public IOdictionary
{
// Private data
// Private Data
//- Reference to mesh
const polyMesh& mesh_;
@ -136,7 +136,7 @@ public:
//- Destructor
virtual ~motionSolver();
virtual ~motionSolver() = default;
// Member Functions

View File

@ -61,12 +61,6 @@ Foam::velocityMotionSolver::velocityMotionSolver
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::velocityMotionSolver::~velocityMotionSolver()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::velocityMotionSolver::movePoints(const pointField& p)

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2012-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -48,6 +49,7 @@ SourceFiles
namespace Foam
{
// Forward Declarations
class mapPolyMesh;
/*---------------------------------------------------------------------------*\
@ -60,14 +62,13 @@ class velocityMotionSolver
{
protected:
// Protected data
// Protected Data
//- Point motion field
mutable pointVectorField pointMotionU_;
private:
// Private Member Functions
// Protected Member Functions
//- No copy construct
velocityMotionSolver(const velocityMotionSolver&) = delete;
@ -93,7 +94,7 @@ public:
//- Destructor
virtual ~velocityMotionSolver();
virtual ~velocityMotionSolver() = default;
// Member Functions

View File

@ -126,12 +126,6 @@ Foam::perfectInterface::perfectInterface
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::perfectInterface::~perfectInterface()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool Foam::perfectInterface::changeTopology() const

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -48,7 +49,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class Time;
/*---------------------------------------------------------------------------*\
@ -59,7 +60,7 @@ class perfectInterface
:
public polyMeshModifier
{
// Private data
// Private Data
//- Master face zone ID
faceZoneID faceZoneID_;
@ -70,10 +71,11 @@ class perfectInterface
//- Slave patch ID
polyPatchID slavePatchID_;
//- Tolerance used for distance comparison (fraction of minimum edge
// length)
//- Tolerance used for distance comparison
// (fraction of minimum edge length)
static const scalar tol_;
// Private Member Functions
//- Calculate face centres on patch
@ -117,7 +119,7 @@ public:
//- Destructor
virtual ~perfectInterface();
virtual ~perfectInterface() = default;
// Member Functions

View File

@ -59,12 +59,6 @@ Foam::pointPatchDist::pointPatchDist
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::pointPatchDist::~pointPatchDist()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::pointPatchDist::correct()

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2013-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -44,6 +45,7 @@ SourceFiles
namespace Foam
{
// Forward Declarations
class pointMesh;
/*---------------------------------------------------------------------------*\
@ -54,7 +56,6 @@ class pointPatchDist
:
public pointScalarField
{
private:
// Private Member Data
@ -92,7 +93,7 @@ public:
//- Destructor
virtual ~pointPatchDist();
virtual ~pointPatchDist() = default;
// Member Functions

View File

@ -2088,12 +2088,6 @@ Foam::faceCoupleInfo::faceCoupleInfo
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::faceCoupleInfo::~faceCoupleInfo()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam::labelList Foam::faceCoupleInfo::faceLabels(const polyPatch& pp)

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2017 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -147,7 +148,7 @@ namespace Foam
typedef HashTable<labelList, edge, Hash<edge>> edgeLookup;
// Forward declaration of classes
// Forward Declarations
class face;
class primitiveMesh;
class polyPatch;
@ -159,16 +160,16 @@ class polyMesh;
class faceCoupleInfo
{
// Private data
// Private Data
//- Angle matching tolerance.
static const scalar angleTol_;
//- Master patch
autoPtr<indirectPrimitivePatch> masterPatchPtr_;
unique_ptr<indirectPrimitivePatch> masterPatchPtr_;
//- Slave patch
autoPtr<indirectPrimitivePatch> slavePatchPtr_;
unique_ptr<indirectPrimitivePatch> slavePatchPtr_;
//- Description of cut.
@ -185,7 +186,8 @@ class faceCoupleInfo
// them)
// Orientation of cutFaces should be same as masterFaces!
pointField cutPoints_;
autoPtr<primitiveFacePatch> cutFacesPtr_;
unique_ptr<primitiveFacePatch> cutFacesPtr_;
//- Additional point coupling information. Is between points on
// boundary of both meshes.
@ -432,7 +434,7 @@ public:
//- Destructor
~faceCoupleInfo();
~faceCoupleInfo() = default;

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -51,7 +52,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class IOobject;
class polyTopoChange;
@ -61,9 +62,6 @@ class polyTopoChange;
class polyMeshAdder
{
private:
// Private Member Functions
//- Index of patch in allPatches. Add if nonexisting.
@ -247,8 +245,8 @@ private:
polyMesh& mesh
);
public:
public:
// Member Functions

View File

@ -967,12 +967,6 @@ Foam::polyMeshFilter::polyMeshFilter
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::polyMeshFilter::~polyMeshFilter()
{}
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
Foam::label Foam::polyMeshFilter::filter(const label nOriginalBadFaces)

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2012-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -219,7 +220,7 @@ public:
//- Destructor
~polyMeshFilter();
~polyMeshFilter() = default;
// Member Functions

View File

@ -38,13 +38,11 @@ Description
namespace Foam
{
defineTypeNameAndDebug(polyMeshModifier, 0);
defineRunTimeSelectionTable(polyMeshModifier, dictionary);
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// Construct from components
Foam::polyMeshModifier::polyMeshModifier
(
const word& name,
@ -60,12 +58,6 @@ Foam::polyMeshModifier::polyMeshModifier
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::polyMeshModifier::~polyMeshModifier()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
const Foam::polyTopoChanger& Foam::polyMeshModifier::topoChanger() const

View File

@ -53,14 +53,10 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class polyTopoChanger;
class polyTopoChange;
class mapPolyMesh;
// Forward declaration of friend functions and operators
class polyMeshModifier;
Ostream& operator<<(Ostream&, const polyMeshModifier&);
@ -146,7 +142,7 @@ public:
//- Destructor
virtual ~polyMeshModifier();
virtual ~polyMeshModifier() = default;
// Member Functions

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2015 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -114,7 +115,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class polyMesh;
class polyTopoChange;
class mapPolyMesh;
@ -127,7 +128,7 @@ class globalIndex;
class addPatchCellLayer
{
// Private data
// Private Data
//- Reference to mesh
const polyMesh& mesh_;
@ -263,12 +264,11 @@ public:
// Constructors
//- Construct from mesh.
addPatchCellLayer(const polyMesh&, const bool addToMesh = true);
explicit addPatchCellLayer(const polyMesh&, const bool addToMesh=true);
// Member Functions
// Access
//- Added points per patch point.

View File

@ -46,7 +46,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class polyMesh;
class polyTopoChange;
class mapPolyMesh;
@ -58,7 +58,7 @@ class face;
class combineFaces
{
// Private data
// Private Data
//- Reference to mesh
const polyMesh& mesh_;
@ -79,7 +79,6 @@ class combineFaces
pointField savedPoints_;
// Private Member Functions
//- Test if face is convex. Allow slight concavity through
@ -118,7 +117,6 @@ class combineFaces
) const;
//- No copy construct
combineFaces(const combineFaces&) = delete;
@ -134,7 +132,7 @@ public:
// Constructors
//- Construct from mesh
combineFaces(const polyMesh& mesh, const bool undoable = false);
explicit combineFaces(const polyMesh& mesh, const bool undoable=false);
// Member Functions

View File

@ -46,7 +46,6 @@ namespace Foam
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// Construct from mesh
Foam::duplicatePoints::duplicatePoints(const polyMesh& mesh)
:
mesh_(mesh),

View File

@ -45,7 +45,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class polyMesh;
class polyTopoChange;
class edge;
@ -87,7 +87,7 @@ public:
// Constructors
//- Construct from mesh
duplicatePoints(const polyMesh& mesh);
explicit duplicatePoints(const polyMesh& mesh);
// Member Functions

View File

@ -54,7 +54,7 @@ SourceFiles
namespace Foam
{
// Forward declarations
// Forward Declarations
class polyMesh;
class bitSet;
class polyTopoChange;
@ -254,7 +254,7 @@ public:
// Constructors
//- Construct from mesh
edgeCollapser(const polyMesh& mesh);
explicit edgeCollapser(const polyMesh& mesh);
//- Construct from mesh and dict
edgeCollapser(const polyMesh& mesh, const dictionary& dict);

View File

@ -6,6 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -66,7 +67,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class polyMesh;
class polyTopoChange;
class mapPolyMesh;
@ -77,7 +78,7 @@ class mapPolyMesh;
class faceCollapser
{
// Private data
// Private Data
//- Reference to mesh
const polyMesh& mesh_;
@ -130,7 +131,7 @@ public:
// Constructors
//- Construct from mesh.
faceCollapser(const polyMesh& mesh);
explicit faceCollapser(const polyMesh& mesh);
// Member Functions

View File

@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2017 OpenFOAM Foundation
Copyright (C) 2016-2019 OpenCFD Ltd.
Copyright (C) 2016-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -2040,7 +2040,6 @@ Foam::hexRef8::hexRef8(const polyMesh& mesh, const bool readHistory)
}
// Construct from components
Foam::hexRef8::hexRef8
(
const polyMesh& mesh,
@ -2150,7 +2149,6 @@ Foam::hexRef8::hexRef8
}
// Construct from components
Foam::hexRef8::hexRef8
(
const polyMesh& mesh,
@ -5011,7 +5009,7 @@ void Foam::hexRef8::checkRefinementLevels
const Foam::cellShapeList& Foam::hexRef8::cellShapes() const
{
if (cellShapesPtr_.empty())
if (!cellShapesPtr_)
{
if (debug)
{

View File

@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2017 OpenFOAM Foundation
Copyright (C) 2016 OpenCFD Ltd.
Copyright (C) 2016-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -54,7 +54,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class polyMesh;
class polyPatch;
class polyTopoChange;
@ -67,7 +67,7 @@ class mapDistributePolyMesh;
class hexRef8
{
// Private data
// Private Data
//- Reference to underlying mesh.
const polyMesh& mesh_;
@ -362,7 +362,7 @@ public:
//- Construct from mesh, read_if_present refinement data
// (from write below). If readHistory is true does read_if_present
// of refinement history. If false clears all history
hexRef8(const polyMesh& mesh, const bool readHistory = true);
explicit hexRef8(const polyMesh& mesh, const bool readHistory=true);
//- Construct from mesh and un/refinement data and optional size of
// starting cells
@ -593,7 +593,6 @@ public:
//- Helper: remove all relevant files from mesh instance
static void removeFiles(const polyMesh&);
};

View File

@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2015-2017 OpenFOAM Foundation
Copyright (C) 2017 OpenCFD Ltd.
Copyright (C) 2017-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -28,7 +28,6 @@ License
#include "IOobject.H"
#include "UList.H"
#include "hexRef8Data.H"
#include "mapPolyMesh.H"
#include "mapDistributePolyMesh.H"
@ -42,59 +41,47 @@ License
Foam::hexRef8Data::hexRef8Data(const IOobject& io)
{
{
IOobject rio(io);
rio.rename("cellLevel");
bool haveFile = returnReduce
(
rio.typeHeaderOk<labelIOList>(true),
orOp<bool>()
);
if (haveFile)
typedef labelIOList Type;
IOobject rio(io, "cellLevel");
// haveFile
if (returnReduce(rio.typeHeaderOk<Type>(true), orOp<bool>()))
{
Info<< "Reading hexRef8 data : " << rio.name() << endl;
cellLevelPtr_.reset(new labelIOList(rio));
cellLevelPtr_.reset(new Type(rio));
}
}
{
IOobject rio(io);
rio.rename("pointLevel");
bool haveFile = returnReduce
(
rio.typeHeaderOk<labelIOList>(true),
orOp<bool>()
);
if (haveFile)
typedef labelIOList Type;
IOobject rio(io, "pointLevel");
// haveFile
if (returnReduce(rio.typeHeaderOk<Type>(true), orOp<bool>()))
{
Info<< "Reading hexRef8 data : " << rio.name() << endl;
pointLevelPtr_.reset(new labelIOList(rio));
pointLevelPtr_.reset(new Type(rio));
}
}
{
IOobject rio(io);
rio.rename("level0Edge");
bool haveFile = returnReduce
(
rio.typeHeaderOk<uniformDimensionedScalarField>(true),
orOp<bool>()
);
if (haveFile)
typedef uniformDimensionedScalarField Type;
IOobject rio(io, "level0Edge");
// haveFile
if (returnReduce(rio.typeHeaderOk<Type>(true), orOp<bool>()))
{
Info<< "Reading hexRef8 data : " << rio.name() << endl;
level0EdgePtr_.reset(new uniformDimensionedScalarField(rio));
level0EdgePtr_.reset(new Type(rio));
}
}
{
IOobject rio(io);
rio.rename("refinementHistory");
bool haveFile = returnReduce
(
rio.typeHeaderOk<refinementHistory>(true),
orOp<bool>()
);
if (haveFile)
typedef refinementHistory Type;
IOobject rio(io, "refinementHistory");
// haveFile
if (returnReduce(rio.typeHeaderOk<Type>(true), orOp<bool>()))
{
Info<< "Reading hexRef8 data : " << rio.name() << endl;
refHistoryPtr_.reset(new refinementHistory(rio));
refHistoryPtr_.reset(new Type(rio));
}
}
}
@ -108,10 +95,9 @@ Foam::hexRef8Data::hexRef8Data
const labelList& pointMap
)
{
if (data.cellLevelPtr_.valid())
if (data.cellLevelPtr_)
{
IOobject rio(io);
rio.rename(data.cellLevelPtr_().name());
IOobject rio(io, data.cellLevelPtr_().name());
cellLevelPtr_.reset
(
@ -122,10 +108,9 @@ Foam::hexRef8Data::hexRef8Data
)
);
}
if (data.pointLevelPtr_.valid())
if (data.pointLevelPtr_)
{
IOobject rio(io);
rio.rename(data.pointLevelPtr_().name());
IOobject rio(io, data.pointLevelPtr_().name());
pointLevelPtr_.reset
(
@ -136,20 +121,18 @@ Foam::hexRef8Data::hexRef8Data
)
);
}
if (data.level0EdgePtr_.valid())
if (data.level0EdgePtr_)
{
IOobject rio(io);
rio.rename(data.level0EdgePtr_().name());
IOobject rio(io, data.level0EdgePtr_().name());
level0EdgePtr_.reset
(
new uniformDimensionedScalarField(rio, data.level0EdgePtr_())
);
}
if (data.refHistoryPtr_.valid())
if (data.refHistoryPtr_)
{
IOobject rio(io);
rio.rename(data.refHistoryPtr_().name());
IOobject rio(io, data.refHistoryPtr_().name());
refHistoryPtr_ = data.refHistoryPtr_().clone(rio, cellMap);
}
@ -168,13 +151,12 @@ Foam::hexRef8Data::hexRef8Data
// cellLevel
if (procDatas[0].cellLevelPtr_.valid())
if (procDatas[0].cellLevelPtr_)
{
IOobject rio(io);
rio.rename(procDatas[0].cellLevelPtr_().name());
IOobject rio(io, procDatas[0].cellLevelPtr_().name());
cellLevelPtr_.reset(new labelIOList(rio, mesh.nCells()));
labelList& cellLevel = cellLevelPtr_();
auto& cellLevel = *cellLevelPtr_;
forAll(procDatas, procI)
{
@ -186,13 +168,12 @@ Foam::hexRef8Data::hexRef8Data
// pointLevel
if (procDatas[0].pointLevelPtr_.valid())
if (procDatas[0].pointLevelPtr_)
{
IOobject rio(io);
rio.rename(procDatas[0].pointLevelPtr_().name());
IOobject rio(io, procDatas[0].pointLevelPtr_().name());
pointLevelPtr_.reset(new labelIOList(rio, mesh.nPoints()));
labelList& pointLevel = pointLevelPtr_();
auto& pointLevel = *pointLevelPtr_;
forAll(procDatas, procI)
{
@ -204,10 +185,9 @@ Foam::hexRef8Data::hexRef8Data
// level0Edge
if (procDatas[0].level0EdgePtr_.valid())
if (procDatas[0].level0EdgePtr_)
{
IOobject rio(io);
rio.rename(procDatas[0].level0EdgePtr_().name());
IOobject rio(io, procDatas[0].level0EdgePtr_().name());
level0EdgePtr_.reset
(
@ -222,10 +202,9 @@ Foam::hexRef8Data::hexRef8Data
// refinementHistory
if (procDatas[0].refHistoryPtr_.valid())
if (procDatas[0].refHistoryPtr_)
{
IOobject rio(io);
rio.rename(procDatas[0].refHistoryPtr_().name());
IOobject rio(io, procDatas[0].refHistoryPtr_().name());
UPtrList<const refinementHistory> procRefs(procDatas.size());
forAll(procDatas, i)
@ -246,23 +225,16 @@ Foam::hexRef8Data::hexRef8Data
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::hexRef8Data::~hexRef8Data()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::hexRef8Data::sync(const IOobject& io)
{
const polyMesh& mesh = dynamic_cast<const polyMesh&>(io.db());
bool hasCellLevel = returnReduce(cellLevelPtr_.valid(), orOp<bool>());
if (hasCellLevel && !cellLevelPtr_.valid())
bool hasCellLevel = returnReduce(bool(cellLevelPtr_), orOp<bool>());
if (hasCellLevel && !cellLevelPtr_)
{
IOobject rio(io);
rio.rename("cellLevel");
IOobject rio(io, "cellLevel");
rio.readOpt() = IOobject::NO_READ;
cellLevelPtr_.reset
(
@ -270,11 +242,10 @@ void Foam::hexRef8Data::sync(const IOobject& io)
);
}
bool hasPointLevel = returnReduce(pointLevelPtr_.valid(), orOp<bool>());
if (hasPointLevel && !pointLevelPtr_.valid())
bool hasPointLevel = returnReduce(bool(pointLevelPtr_), orOp<bool>());
if (hasPointLevel && !pointLevelPtr_)
{
IOobject rio(io);
rio.rename("pointLevel");
IOobject rio(io, "pointLevel");
rio.readOpt() = IOobject::NO_READ;
pointLevelPtr_.reset
(
@ -282,16 +253,15 @@ void Foam::hexRef8Data::sync(const IOobject& io)
);
}
bool hasLevel0Edge = returnReduce(level0EdgePtr_.valid(), orOp<bool>());
bool hasLevel0Edge = returnReduce(bool(level0EdgePtr_), orOp<bool>());
if (hasLevel0Edge)
{
// Get master length
scalar masterLen = (Pstream::master() ? level0EdgePtr_().value() : 0);
Pstream::scatter(masterLen);
if (!level0EdgePtr_.valid())
if (!level0EdgePtr_)
{
IOobject rio(io);
rio.rename("level0Edge");
IOobject rio(io, "level0Edge");
rio.readOpt() = IOobject::NO_READ;
level0EdgePtr_.reset
(
@ -304,11 +274,10 @@ void Foam::hexRef8Data::sync(const IOobject& io)
}
}
bool hasHistory = returnReduce(refHistoryPtr_.valid(), orOp<bool>());
if (hasHistory && !refHistoryPtr_.valid())
bool hasHistory = returnReduce(bool(refHistoryPtr_), orOp<bool>());
if (hasHistory && !refHistoryPtr_)
{
IOobject rio(io);
rio.rename("refinementHistory");
IOobject rio(io, "refinementHistory");
rio.readOpt() = IOobject::NO_READ;
refHistoryPtr_.reset(new refinementHistory(rio, mesh.nCells(), true));
}
@ -320,8 +289,8 @@ void Foam::hexRef8Data::updateMesh(const mapPolyMesh& map)
// Sanity check
if
(
(cellLevelPtr_.valid() && cellLevelPtr_().size() != map.nOldCells())
|| (pointLevelPtr_.valid() && pointLevelPtr_().size() != map.nOldPoints())
(cellLevelPtr_ && cellLevelPtr_().size() != map.nOldCells())
|| (pointLevelPtr_ && pointLevelPtr_().size() != map.nOldPoints())
)
{
cellLevelPtr_.clear();
@ -332,7 +301,7 @@ void Foam::hexRef8Data::updateMesh(const mapPolyMesh& map)
}
if (cellLevelPtr_.valid())
if (cellLevelPtr_)
{
const labelList& cellMap = map.cellMap();
labelList& cellLevel = cellLevelPtr_();
@ -354,7 +323,7 @@ void Foam::hexRef8Data::updateMesh(const mapPolyMesh& map)
cellLevel.transfer(newCellLevel);
cellLevelPtr_().instance() = map.mesh().facesInstance();
}
if (pointLevelPtr_.valid())
if (pointLevelPtr_)
{
const labelList& pointMap = map.pointMap();
labelList& pointLevel = pointLevelPtr_();
@ -378,7 +347,7 @@ void Foam::hexRef8Data::updateMesh(const mapPolyMesh& map)
}
if (refHistoryPtr_.valid() && refHistoryPtr_().active())
if (refHistoryPtr_ && refHistoryPtr_().active())
{
refHistoryPtr_().updateMesh(map);
refHistoryPtr_().instance() = map.mesh().facesInstance();
@ -388,18 +357,18 @@ void Foam::hexRef8Data::updateMesh(const mapPolyMesh& map)
void Foam::hexRef8Data::distribute(const mapDistributePolyMesh& map)
{
if (cellLevelPtr_.valid())
if (cellLevelPtr_)
{
map.cellMap().distribute(cellLevelPtr_());
map.cellMap().distribute(*cellLevelPtr_);
}
if (pointLevelPtr_.valid())
if (pointLevelPtr_)
{
map.pointMap().distribute(pointLevelPtr_());
map.pointMap().distribute(*pointLevelPtr_);
}
// No need to distribute the level0Edge
if (refHistoryPtr_.valid() && refHistoryPtr_().active())
if (refHistoryPtr_ && refHistoryPtr_().active())
{
refHistoryPtr_().distribute(map);
}
@ -409,19 +378,19 @@ void Foam::hexRef8Data::distribute(const mapDistributePolyMesh& map)
bool Foam::hexRef8Data::write() const
{
bool ok = true;
if (cellLevelPtr_.valid())
if (cellLevelPtr_)
{
ok = ok && cellLevelPtr_().write();
}
if (pointLevelPtr_.valid())
if (pointLevelPtr_)
{
ok = ok && pointLevelPtr_().write();
}
if (level0EdgePtr_.valid())
if (level0EdgePtr_)
{
ok = ok && level0EdgePtr_().write();
}
if (refHistoryPtr_.valid())
if (refHistoryPtr_)
{
ok = ok && refHistoryPtr_().write();
}

View File

@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2015-2016 OpenFOAM Foundation
Copyright (C) 2017 OpenCFD Ltd.
Copyright (C) 2017-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -48,7 +48,7 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class mapPolyMesh;
class mapDistributePolyMesh;
class refinementHistory;
@ -60,10 +60,7 @@ class fvMesh;
class hexRef8Data
{
private:
// Private data
// Private Data
autoPtr<labelIOList> cellLevelPtr_;
@ -88,8 +85,8 @@ public:
// Constructors
//- Construct read. Has special provision for only some processors
// having the files so can be used in redistribution.
hexRef8Data(const IOobject& io);
//- having the files so can be used in redistribution.
explicit hexRef8Data(const IOobject& io);
//- Construct as subset
hexRef8Data
@ -111,7 +108,7 @@ public:
//- Destructor
~hexRef8Data();
~hexRef8Data() = default;
// Member Functions

View File

@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2017 OpenFOAM Foundation
Copyright (C) 2015-2019 OpenCFD Ltd.
Copyright (C) 2015-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -50,7 +50,7 @@ void Foam::refinementHistory::writeEntry
)
{
// Write me:
if (split.addedCellsPtr_.valid())
if (split.addedCellsPtr_)
{
Pout<< "parent:" << split.parent_
<< " subCells:" << split.addedCellsPtr_()
@ -124,67 +124,65 @@ Foam::refinementHistory::splitCell8::splitCell8(const label parent)
Foam::refinementHistory::splitCell8::splitCell8(Istream& is)
:
splitCell8()
{
is >> *this;
}
Foam::refinementHistory::splitCell8::splitCell8(const splitCell8& sc)
Foam::refinementHistory::splitCell8::splitCell8(const splitCell8& rhs)
:
parent_(sc.parent_),
addedCellsPtr_
(
sc.addedCellsPtr_.valid()
? new FixedList<label, 8>(sc.addedCellsPtr_())
: nullptr
)
parent_(rhs.parent_),
addedCellsPtr_(rhs.addedCellsPtr_.clone()) // Copy, not steal
{}
// * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * * //
void Foam::refinementHistory::splitCell8::operator=(const splitCell8& s)
void Foam::refinementHistory::splitCell8::operator=(const splitCell8& rhs)
{
// Assignment operator since autoPtr otherwise 'steals' storage.
if (this == &s)
if (this == &rhs)
{
return; // Self-assignment is a no-op
}
parent_ = s.parent_;
addedCellsPtr_.reset
(
s.addedCellsPtr_.valid()
? new FixedList<label, 8>(s.addedCellsPtr_())
: nullptr
);
parent_ = rhs.parent_;
addedCellsPtr_.reset(rhs.addedCellsPtr_.clone()); // Copy, not steal
}
bool Foam::refinementHistory::splitCell8::operator==(const splitCell8& s) const
bool Foam::refinementHistory::splitCell8::operator==
(
const splitCell8& rhs
)
const
{
if (addedCellsPtr_.valid() != s.addedCellsPtr_.valid())
if (parent_ != rhs.parent_)
{
return false;
}
else if (parent_ != s.parent_)
if (bool(addedCellsPtr_) != bool(rhs.addedCellsPtr_))
{
return false;
}
else if (addedCellsPtr_.valid())
else if (addedCellsPtr_) // With previous test, means rhs is also defined
{
return addedCellsPtr_() == s.addedCellsPtr_();
return addedCellsPtr_() == rhs.addedCellsPtr_();
}
return true;
}
bool Foam::refinementHistory::splitCell8::operator!=(const splitCell8& s) const
bool Foam::refinementHistory::splitCell8::operator!=
(
const splitCell8& rhs
) const
{
return !operator==(s);
return !operator==(rhs);
}
@ -219,17 +217,14 @@ Foam::Ostream& Foam::operator<<
// output as fixedlist with e.g. -1 elements and check for this upon
// reading. However would cause much more data to be transferred.
if (sc.addedCellsPtr_.valid())
labelList labels;
if (sc.addedCellsPtr_)
{
return os
<< sc.parent_
<< token::SPACE
<< labelList(sc.addedCellsPtr_());
}
else
{
return os << sc.parent_ << token::SPACE << labelList(0);
labels = sc.addedCellsPtr_();
}
return os << sc.parent_ << token::SPACE << labels;
}
@ -280,7 +275,7 @@ Foam::label Foam::refinementHistory::allocateSplitCell
{
splitCell8& parentSplit = splitCells_[parent];
if (parentSplit.addedCellsPtr_.empty())
if (!parentSplit.addedCellsPtr_)
{
// Allocate storage on parent for the 8 subcells.
parentSplit.addedCellsPtr_.reset(new FixedList<label, 8>(-1));
@ -307,7 +302,7 @@ void Foam::refinementHistory::freeSplitCell(const label index)
autoPtr<FixedList<label, 8>>& subCellsPtr =
splitCells_[split.parent_].addedCellsPtr_;
if (subCellsPtr.valid())
if (subCellsPtr)
{
FixedList<label, 8>& subCells = subCellsPtr();
@ -354,7 +349,7 @@ void Foam::refinementHistory::markSplit
{
markSplit(split.parent_, oldToNew, newSplitCells);
}
if (split.addedCellsPtr_.valid())
if (split.addedCellsPtr_)
{
const FixedList<label, 8>& splits = split.addedCellsPtr_();
@ -381,7 +376,7 @@ void Foam::refinementHistory::mark
const splitCell8& split = splitCells_[index];
if (split.addedCellsPtr_.valid())
if (split.addedCellsPtr_)
{
const FixedList<label, 8>& splits = split.addedCellsPtr_();
@ -809,7 +804,7 @@ Foam::refinementHistory::refinementHistory
newSplit.parent_ += offsets[refI];
}
if (newSplit.addedCellsPtr_.valid())
if (newSplit.addedCellsPtr_)
{
FixedList<label, 8>& splits = newSplit.addedCellsPtr_();
@ -963,7 +958,7 @@ Foam::autoPtr<Foam::refinementHistory> Foam::refinementHistory::clone
{
split.parent_ = oldToNewSplit[split.parent_];
}
if (split.addedCellsPtr_.valid())
if (split.addedCellsPtr_)
{
FixedList<label, 8>& splits = split.addedCellsPtr_();
@ -1119,7 +1114,7 @@ void Foam::refinementHistory::updateMesh(const mapPolyMesh& map)
label index = visibleCells_[celli];
// Check not already set
if (splitCells_[index].addedCellsPtr_.valid())
if (splitCells_[index].addedCellsPtr_)
{
FatalErrorInFunction
<< "Problem" << abort(FatalError);
@ -1165,7 +1160,7 @@ void Foam::refinementHistory::subset
label index = visibleCells_[oldCelli];
// Check that cell is live (so its parent has no refinement)
if (index >= 0 && splitCells_[index].addedCellsPtr_.valid())
if (index >= 0 && splitCells_[index].addedCellsPtr_)
{
FatalErrorInFunction
<< "Problem" << abort(FatalError);
@ -1363,7 +1358,7 @@ void Foam::refinementHistory::distribute(const mapDistributePolyMesh& map)
{
split.parent_ = oldToNew[split.parent_];
}
if (split.addedCellsPtr_.valid())
if (split.addedCellsPtr_)
{
FixedList<label, 8>& splits = split.addedCellsPtr_();
@ -1443,7 +1438,7 @@ void Foam::refinementHistory::distribute(const mapDistributePolyMesh& map)
{
split.parent_ += offset;
}
if (split.addedCellsPtr_.valid())
if (split.addedCellsPtr_)
{
FixedList<label, 8>& splits = split.addedCellsPtr_();
@ -1538,7 +1533,7 @@ void Foam::refinementHistory::compact()
if
(
splitCells_[index].parent_ != -1
|| splitCells_[index].addedCellsPtr_.valid()
|| splitCells_[index].addedCellsPtr_
)
{
markSplit(index, oldToNew, newSplitCells);
@ -1556,7 +1551,7 @@ void Foam::refinementHistory::compact()
else if
(
splitCells_[index].parent_ == -1
&& splitCells_[index].addedCellsPtr_.empty()
&& !splitCells_[index].addedCellsPtr_
)
{
// recombined cell. No need to keep since no parent and no subsplits
@ -1581,7 +1576,7 @@ void Foam::refinementHistory::compact()
{
split.parent_ = oldToNew[split.parent_];
}
if (split.addedCellsPtr_.valid())
if (split.addedCellsPtr_)
{
FixedList<label, 8>& splits = split.addedCellsPtr_();

View File

@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2015-2016 OpenCFD Ltd.
Copyright (C) 2015-2020 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -65,7 +65,6 @@ Description
The parent 0 refers back to the splitcell entries.
SourceFiles
refinementHistory.C
@ -87,13 +86,10 @@ SourceFiles
namespace Foam
{
// Forward declaration of classes
// Forward Declarations
class mapPolyMesh;
class mapDistributePolyMesh;
class polyMesh;
// Forward declaration of friend functions and operators
class refinementHistory;
Istream& operator>>(Istream&, refinementHistory&);
@ -122,7 +118,7 @@ public:
//- Cells this cell was refined into
autoPtr<FixedList<label, 8>> addedCellsPtr_;
//- Construct null (parent = -1)
//- Default construct (parent = -1)
splitCell8();
//- Construct from parent
@ -132,14 +128,14 @@ public:
splitCell8(Istream& is);
//- Construct as deep copy
splitCell8(const splitCell8&);
splitCell8(const splitCell8& rhs);
//- Copy operator since autoPtr otherwise 'steals' storage.
void operator=(const splitCell8& s);
//- Copy assignment (no autoPtr stealing)
void operator=(const splitCell8& rhs);
bool operator==(const splitCell8& s) const;
bool operator==(const splitCell8& rhs) const;
bool operator!=(const splitCell8& s) const;
bool operator!=(const splitCell8& rhs) const;
friend Istream& operator>>(Istream&, splitCell8&);
friend Ostream& operator<<(Ostream&, const splitCell8&);
@ -148,7 +144,7 @@ public:
private:
// Private data
// Private Data
//- Is active?
bool active_;
@ -221,9 +217,9 @@ public:
// Constructors
//- Construct (read) given an IOobject. If global number of visible
// cells > 0 becomes active
refinementHistory(const IOobject&);
//- Construct (read) given an IOobject.
// If global number of visible cells > 0 becomes active
explicit refinementHistory(const IOobject&);
//- Construct (read) or construct from components
refinementHistory
@ -235,12 +231,12 @@ public:
);
//- Construct (read) or construct from initial number of cells
// (all visible). If global number of visible
// cells > 0 becomes active
//- (all visible).
// If global number of visible cells > 0 becomes active
refinementHistory(const IOobject&, const label nCells);
//- Construct (read) or construct from initial number of cells
// (all visible) and active flag
//- (all visible) and active flag
refinementHistory
(
const IOobject&,
@ -251,8 +247,8 @@ public:
//- Construct as copy
refinementHistory(const IOobject&, const refinementHistory&);
//- Construct from multiple refinement histories. If global number of
// visible cells > 0 becomes active
//- Construct from multiple refinement histories.
// If global number of visible cells > 0 becomes active
refinementHistory
(
const IOobject&,
@ -260,22 +256,22 @@ public:
const UPtrList<const refinementHistory>&
);
//- Construct from Istream. If global number of
// visible cells > 0 becomes active
refinementHistory(const IOobject&, Istream&);
//- Construct from Istream.
// If global number of visible cells > 0 becomes active
explicit refinementHistory(const IOobject&, Istream&);
// Member Functions
//- Per cell in the current mesh (i.e. visible) either -1 (unrefined)
// or an index into splitCells.
//- or an index into splitCells.
const labelList& visibleCells() const
{
return visibleCells_;
}
//- Storage for splitCell8s.
//- Storage for splitCell8s
const DynamicList<splitCell8>& splitCells() const
{
return splitCells_;

View File

@ -51,7 +51,7 @@ SourceFiles
namespace Foam
{
// Forward declarations
// Forward Declarations
class bitSet;
class polyMesh;
class polyTopoChange;

Some files were not shown because too many files have changed in this diff Show More