36 const UList<Face>& faceLst
43 nNodes += faceLst[facei].size();
47 <<
"POLYGONS " << faceLst.size() <<
' ' 48 << faceLst.size() + nNodes <<
nl;
72 const bool mustTriangulate = this->isTri();
79 <<
"Cannot read file " << filename
126 zones[i] =
label(region[i]);
138 zones[i] =
label(region[i]);
157 nTri += faces[facei].
size()-2;
167 const face&
f = faces[facei];
168 for (
label fp1 = 1; fp1 < f.
size() - 1; fp1++)
173 dynZones.
append(zones[facei]);
181 zoneSizes[dynZones[triI]]++;
184 this->sortFacesAndStore(move(dynFaces), move(dynZones), sorted);
187 this->addZones(zoneSizes, zoneNames,
true);
194 const face&
f = faces[facei];
202 zoneSizes[zones[facei]]++;
205 this->sortFacesAndStore(move(dynFaces), move(zones), sorted);
208 this->addZones(zoneSizes, zoneNames,
true);
212 this->storedPoints().transfer(reader.
points());
232 ? surfaceFormatsCore::oneZone(faceLst)
242 <<
"Cannot open file for writing " << filename
248 writeHeaderPolygons(os, faceLst);
259 const Face&
f = faceLst[faceMap[faceIndex++]];
273 const Face&
f = faceLst[faceIndex++];
285 writeTail(os, zones);
300 <<
"Cannot open file for writing " << filename
308 writeHeaderPolygons(os, faceLst);
312 const Face&
f = faceLst[facei];
A surface geometry mesh, in which the surface zone information is conveyed by the 'zoneId' associated...
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
A class for handling file names.
errorManipArg< error, int > exit(error &err, const int errNo=1)
A face is a list of labels corresponding to mesh vertices.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
const faceList & faces() const
2D cells (=faces)
A surface zone on a MeshedSurface.
void size(const label)
Override size to be inconsistent with allocated storage.
label fcIndex(const label i) const
Return the forward circular index, i.e. the next index.
const List< label > & zoneIds() const
Return const access to the zone ids.
bool foundObject(const word &name) const
Is the named Type found?
Reader for vtk unstructured_grid legacy files. Supports single CELLS, POINTS etc. entry only...
const Type & lookupObject(const word &name) const
Lookup and return the object of the given Type.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
bool good() const
Return true if next operation might succeed.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
bool useFaceMap() const
Use faceMap?
void writeHeader(std::ostream &, const bool isBinary, const std::string &title)
Write header.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects...
const List< Face > & faces() const
Return const access to the faces.
const objectRegistry & cellData() const
Cell based fields.
void append(const T &)
Append an element at the end of the list.
DynamicList< T, SizeInc, SizeMult, SizeDiv > & append(const T &)
Append an element at the end of the list.
const Field< PointType > & points() const
Return reference to global points.
const List< surfZone > & surfZones() const
Const access to the surface zones.
A proxy for writing MeshedSurface, UnsortedMeshedSurface and surfMesh to various file formats...
word name(const complex &)
Return a string representation of a complex.
const List< Face > & faces() const
Return const access to the faces.
const pointField & points() const
Return const access to the points.
const List< label > & faceMap() const
Const access to the faceMap, zero-sized when unused.
Registry of regIOobjects.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
A primitive field of type <T> with automated input and output.
const pointField & points() const
Points.