63 const dictionary&
dict
67 setName_(
dict.lookupBackwardsCompatible<word>({
"set",
"faceSet"})),
86 if (!isA<faceZoneSet>(set))
89 <<
"Operation only allowed on a faceZoneSet." <<
endl;
93 faceZoneSet& fzSet = refCast<faceZoneSet>(set);
97 Info<<
" Adding all faces from faceSet " << setName_
101 faceSet fSet(mesh_, setName_);
104 DynamicList<label> newAddressing(fzSet.addressing());
105 DynamicList<bool> newFlipMap(fzSet.flipMap());
107 const faceList& faces = mesh_.faces();
112 label facei = iter.key();
114 if (!fzSet.found(facei))
116 newAddressing.append(facei);
119 if ((a & normal_) > 0)
121 newFlipMap.append(
false);
125 newFlipMap.append(
true);
130 fzSet.addressing().transfer(newAddressing);
131 fzSet.flipMap().transfer(newFlipMap);
136 Info<<
" Removing all faces from faceSet " << setName_
140 faceSet loadedSet(mesh_, setName_);
143 DynamicList<label> newAddressing(fzSet.addressing().size());
144 DynamicList<bool> newFlipMap(fzSet.flipMap().size());
146 forAll(fzSet.addressing(), i)
148 if (!loadedSet.found(fzSet.addressing()[i]))
150 newAddressing.append(fzSet.addressing()[i]);
151 newFlipMap.append(fzSet.flipMap()[i]);
154 fzSet.addressing().transfer(newAddressing);
155 fzSet.flipMap().transfer(newFlipMap);
#define forAll(list, i)
Loop across all elements in list.
#define forAllConstIter(Container, container, iter)
Iterate across all elements in the container object of type.
Macros for easy insertion into run-time selection tables.
virtual ~setAndNormalToFaceZone()
Destructor.
setAndNormalToFaceZone(const polyMesh &mesh, const word &setName, const vector &normal)
Construct from components.
virtual void applyToSet(const topoSetSource::setAction action, topoSet &) const
setAction
Enumeration defining the valid actions.
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
#define WarningInFunction
Report a warning using Foam::Warning.
const dimensionSet dimless
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
addToRunTimeSelectionTable(polyPatch, mergedCyclicPolyPatch, word)
Ostream & endl(Ostream &os)
Add newline and flush stream.
vectorField pointField
pointField is a vectorField.
Vector< scalar > vector
A scalar version of the templated Vector.
defineTypeNameAndDebug(atmosphericBoundaryLayer, 0)