mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: Better handling for regExp usage in sampledSurfaces
This commit is contained in:
@ -168,18 +168,32 @@ void Foam::sampledSurfaces::sampleAndWrite
|
|||||||
template<class GeoField>
|
template<class GeoField>
|
||||||
void Foam::sampledSurfaces::sampleAndWrite(const IOobjectList& objects)
|
void Foam::sampledSurfaces::sampleAndWrite(const IOobjectList& objects)
|
||||||
{
|
{
|
||||||
|
wordList names;
|
||||||
if (loadFromFiles_)
|
if (loadFromFiles_)
|
||||||
{
|
{
|
||||||
IOobjectList fieldObjects(objects.lookupClass(GeoField::typeName));
|
IOobjectList fieldObjects(objects.lookupClass(GeoField::typeName));
|
||||||
|
names = fieldObjects.names();
|
||||||
wordList names(fieldObjects.names());
|
}
|
||||||
|
else
|
||||||
labelList fieldNames(findStrings(fieldSelection_, names));
|
|
||||||
|
|
||||||
forAll(fieldNames, fieldI)
|
|
||||||
{
|
{
|
||||||
const word& fieldName = names[fieldNames[fieldI]];
|
names = mesh_.thisDb().names<GeoField>();
|
||||||
|
}
|
||||||
|
|
||||||
|
labelList nameIDs(findStrings(fieldSelection_, names));
|
||||||
|
|
||||||
|
wordHashSet fieldNames(wordList(names, nameIDs));
|
||||||
|
|
||||||
|
forAllConstIter(wordHashSet, fieldNames, iter)
|
||||||
|
{
|
||||||
|
const word& fieldName = iter.key();
|
||||||
|
|
||||||
|
if ((Pstream::master()) && verbose_)
|
||||||
|
{
|
||||||
|
Pout<< "sampleAndWrite: " << fieldName << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (loadFromFiles_)
|
||||||
|
{
|
||||||
const GeoField fld
|
const GeoField fld
|
||||||
(
|
(
|
||||||
IOobject
|
IOobject
|
||||||
@ -192,30 +206,10 @@ void Foam::sampledSurfaces::sampleAndWrite(const IOobjectList& objects)
|
|||||||
mesh_
|
mesh_
|
||||||
);
|
);
|
||||||
|
|
||||||
if ((Pstream::master()) && verbose_)
|
|
||||||
{
|
|
||||||
Pout<< "sampleAndWrite: " << fieldName << endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
sampleAndWrite(fld);
|
sampleAndWrite(fld);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const wordList fieldNames
|
|
||||||
(
|
|
||||||
mesh_.thisDb().names<GeoField>(fieldSelection_)
|
|
||||||
);
|
|
||||||
|
|
||||||
forAll(fieldNames, i)
|
|
||||||
{
|
|
||||||
const word& fieldName = fieldNames[i];
|
|
||||||
|
|
||||||
if ((Pstream::master()) && verbose_)
|
|
||||||
{
|
|
||||||
Pout<< "sampleAndWrite: " << fieldName << endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
sampleAndWrite
|
sampleAndWrite
|
||||||
(
|
(
|
||||||
mesh_.thisDb().lookupObject<GeoField>(fieldName)
|
mesh_.thisDb().lookupObject<GeoField>(fieldName)
|
||||||
|
|||||||
Reference in New Issue
Block a user