mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: enumerations for known cell models in cellModel, ptr/ref lookups
- this provides a better typesafe means of locating predefined cell models than relying on strings. The lookup is now ptr() or ref() directly. The lookup functions behave like on-demand singletons when loading "etc/cellModels". Functionality is now located entirely in cellModel but a forwarding version of cellModeller is provided for API (but not ABI) compatibility with older existing user code. STYLE: use constexpr for cellMatcher constants
This commit is contained in:
@ -26,7 +26,7 @@ License
|
||||
#include "ensightCells.H"
|
||||
#include "error.H"
|
||||
#include "polyMesh.H"
|
||||
#include "cellModeller.H"
|
||||
#include "cellModel.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
@ -162,10 +162,10 @@ void Foam::ensightCells::classify
|
||||
)
|
||||
{
|
||||
// References to cell shape models
|
||||
const cellModel& tet = *(cellModeller::lookup("tet"));
|
||||
const cellModel& pyr = *(cellModeller::lookup("pyr"));
|
||||
const cellModel& prism = *(cellModeller::lookup("prism"));
|
||||
const cellModel& hex = *(cellModeller::lookup("hex"));
|
||||
const cellModel& tet = cellModel::ref(cellModel::TET);
|
||||
const cellModel& pyr = cellModel::ref(cellModel::PYR);
|
||||
const cellModel& prism = cellModel::ref(cellModel::PRISM);
|
||||
const cellModel& hex = cellModel::ref(cellModel::HEX);
|
||||
|
||||
const cellShapeList& shapes = mesh.cellShapes();
|
||||
|
||||
|
||||
@ -25,7 +25,7 @@ Class
|
||||
Foam::fileFormats::STARCDCore
|
||||
|
||||
Description
|
||||
Core routines used when reading/writing pro-STAR vrt/cel/bnd files.
|
||||
Core routines used when reading/writing PROSTAR vrt/cel/bnd files.
|
||||
|
||||
SourceFiles
|
||||
STARCDCore.C
|
||||
@ -121,11 +121,11 @@ protected:
|
||||
|
||||
// Protected Member Functions
|
||||
|
||||
//- Face addressing from pro-STAR faces to OpenFOAM faces.
|
||||
//- Face addressing from PROSTAR faces to OpenFOAM faces.
|
||||
// For hex, prism, tet, pyr primitive shapes.
|
||||
static const Map<FixedList<int, 6>> starToFoamFaceAddr;
|
||||
|
||||
//- Face addressing from OpenFOAM faces to pro-STAR faces.
|
||||
//- Face addressing from OpenFOAM faces to PROSTAR faces.
|
||||
// For hex, prism, tet, pyr primitive shapes.
|
||||
static const Map<FixedList<int, 6>> foamToStarFaceAddr;
|
||||
|
||||
|
||||
@ -81,7 +81,7 @@ bool Foam::fileFormats::STLCore::isBinaryName
|
||||
// this seems to work better than the old token-based method
|
||||
// - using wordToken can cause an abort if non-word (binary) content
|
||||
// is detected ... this is not exactly what we want.
|
||||
// - some programs (eg, pro-STAR) have 'solid' as the first word in
|
||||
// - some programs (eg, PROSTAR) have 'solid' as the first word in
|
||||
// the binary header. This is just wrong and not our fault.
|
||||
int Foam::fileFormats::STLCore::detectBinaryHeader
|
||||
(
|
||||
|
||||
@ -27,7 +27,7 @@ License
|
||||
#include "labelIOField.H"
|
||||
#include "scalarIOField.H"
|
||||
#include "stringIOList.H"
|
||||
#include "cellModeller.H"
|
||||
#include "cellModel.H"
|
||||
#include "vectorIOField.H"
|
||||
|
||||
/* * * * * * * * * * * * * * * Static Member Data * * * * * * * * * * * * * */
|
||||
@ -104,10 +104,10 @@ void Foam::vtkUnstructuredReader::extractCells
|
||||
const labelList& cellVertData
|
||||
)
|
||||
{
|
||||
const cellModel& hex = *(cellModeller::lookup("hex"));
|
||||
const cellModel& prism = *(cellModeller::lookup("prism"));
|
||||
const cellModel& pyr = *(cellModeller::lookup("pyr"));
|
||||
const cellModel& tet = *(cellModeller::lookup("tet"));
|
||||
const cellModel& hex = cellModel::ref(cellModel::HEX);
|
||||
const cellModel& prism = cellModel::ref(cellModel::PRISM);
|
||||
const cellModel& pyr = cellModel::ref(cellModel::PYR);
|
||||
const cellModel& tet = cellModel::ref(cellModel::TET);
|
||||
|
||||
labelList tetPoints(4);
|
||||
labelList pyrPoints(5);
|
||||
|
||||
@ -27,7 +27,7 @@ License
|
||||
#include "labelIOField.H"
|
||||
#include "scalarIOField.H"
|
||||
#include "stringIOList.H"
|
||||
#include "cellModeller.H"
|
||||
#include "cellModel.H"
|
||||
#include "vectorIOField.H"
|
||||
|
||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||
|
||||
Reference in New Issue
Block a user