mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
COMP: missing files
This commit is contained in:
90
src/meshTools/sets/topoSets/pointBitSet.C
Normal file
90
src/meshTools/sets/topoSets/pointBitSet.C
Normal file
@ -0,0 +1,90 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2018 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "pointBitSet.H"
|
||||
#include "polyMesh.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
defineTypeNameAndDebug(pointBitSet, 0);
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||
|
||||
Foam::pointBitSet::pointBitSet(const polyMesh& mesh)
|
||||
:
|
||||
pointBitSet(mesh, false)
|
||||
{}
|
||||
|
||||
|
||||
Foam::pointBitSet::pointBitSet(const polyMesh& mesh, const bool val)
|
||||
:
|
||||
topoBitSet(mesh, "pointBitSet", mesh.nPoints(), val)
|
||||
{}
|
||||
|
||||
|
||||
Foam::pointBitSet::pointBitSet
|
||||
(
|
||||
const polyMesh& mesh,
|
||||
const bitSet& bits
|
||||
)
|
||||
:
|
||||
topoBitSet(mesh, "pointBitSet", mesh.nPoints(), bits)
|
||||
{}
|
||||
|
||||
|
||||
Foam::pointBitSet::pointBitSet
|
||||
(
|
||||
const polyMesh& mesh,
|
||||
bitSet&& bits
|
||||
)
|
||||
:
|
||||
topoBitSet(mesh, "pointBitSet", mesh.nPoints(), std::move(bits))
|
||||
{}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||
|
||||
Foam::label Foam::pointBitSet::maxSize(const polyMesh& mesh) const
|
||||
{
|
||||
return mesh.nPoints();
|
||||
}
|
||||
|
||||
|
||||
void Foam::pointBitSet::writeDebug
|
||||
(
|
||||
Ostream& os,
|
||||
const primitiveMesh& mesh,
|
||||
const label maxLen
|
||||
) const
|
||||
{
|
||||
topoSet::writeDebug(os, mesh.points(), maxLen);
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
115
src/meshTools/sets/topoSets/pointBitSet.H
Normal file
115
src/meshTools/sets/topoSets/pointBitSet.H
Normal file
@ -0,0 +1,115 @@
|
||||
/*---------------------------------------------------------------------------*\
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2018 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
|
||||
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Class
|
||||
Foam::pointBitSet
|
||||
|
||||
Description
|
||||
A special purpose topoSet with the point labels stored as a bitSet.
|
||||
It does not correspond to a pointSet either (no associated IOobject).
|
||||
|
||||
SourceFiles
|
||||
pointBitSet.C
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef pointBitSet_H
|
||||
#define pointBitSet_H
|
||||
|
||||
#include "topoBitSet.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
/*---------------------------------------------------------------------------*\
|
||||
Class pointBitSet Declaration
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
class pointBitSet
|
||||
:
|
||||
public topoBitSet
|
||||
{
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
TypeName("pointBitSet");
|
||||
|
||||
|
||||
// Constructors
|
||||
|
||||
//- Construct with nPoints elements, all elements unset
|
||||
explicit pointBitSet(const polyMesh& mesh);
|
||||
|
||||
//- Construct with nPoints elements, using initial val
|
||||
pointBitSet(const polyMesh& mesh, const bool val);
|
||||
|
||||
//- Copy construct from bitset, resizing to nPoints elements as required
|
||||
pointBitSet(const polyMesh& mesh, const bitSet& bits);
|
||||
|
||||
//- Move construct from bitset, resizing to nPoints elements as required
|
||||
pointBitSet(const polyMesh& mesh, bitSet&& bits);
|
||||
|
||||
|
||||
//- Destructor
|
||||
virtual ~pointBitSet() = default;
|
||||
|
||||
|
||||
// Member Functions
|
||||
|
||||
//- Sync pointBitSet across coupled patches.
|
||||
virtual void sync(const polyMesh& mesh)
|
||||
{}
|
||||
|
||||
//- Return max index+1.
|
||||
virtual label maxSize(const polyMesh& mesh) const;
|
||||
|
||||
//- Update any stored data for new labels.
|
||||
virtual void updateMesh(const mapPolyMesh& morphMap)
|
||||
{}
|
||||
|
||||
//- Update any stored data for mesh redistribution.
|
||||
virtual void distribute(const mapDistributePolyMesh& map)
|
||||
{}
|
||||
|
||||
//- Write maxLen items with label and coordinates.
|
||||
virtual void writeDebug
|
||||
(
|
||||
Ostream& os,
|
||||
const primitiveMesh& mesh,
|
||||
const label maxLen
|
||||
) const;
|
||||
|
||||
};
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
#endif
|
||||
|
||||
// ************************************************************************* //
|
||||
Reference in New Issue
Block a user