Go to the documentation of this file.
47 auto outIter = list.begin();
49 for (
const face&
f : faces)
66 auto outIter = list.begin();
68 for (
const face&
f : faces)
88 auto outIter = list.begin();
91 for (
const label
cellId : addr)
93 *outIter = meshCells[
cellId].size();
113 for (
const label
cellId : addr)
115 nTotFaces += meshCells[
cellId].size();
120 auto outIter = list.begin();
123 for (
const label
cellId : addr)
125 for (
const label facei : meshCells[
cellId])
127 *outIter = meshFaces[facei].size();
142 for (
const face&
f : faces)
144 for (
const label labi :
f)
160 for (
const face&
f : faces)
162 for (
const label labi :
f)
178 for (
const cellShape& cellPoints : shapes)
184 for (
const label pointi : cellPoints)
186 os.
write(pointi + 1);
206 for (
const label
cellId : addr)
217 os.
write(pointMap[
f[0]] + 1);
218 for (label pti =
f.size()-1; pti > 0; --pti)
220 os.
write(pointMap[
f[pti]] + 1);
225 for (
const label pointi :
f)
227 os.
write(pointMap[pointi] + 1);
246 for (
const label
cellId : addr)
258 for (label pti =
f.size()-1; pti > 0; --pti)
265 for (
const label pointi :
f)
267 os.
write(pointi + 1);
291 parallel = parallel && Pstream::parRun();
296 ? Pstream::subProcs()
300 if (Pstream::master())
307 if (etype == ensightFaces::NSIDED)
313 if (Pstream::master())
319 for (
const int proci : senders)
321 IPstream fromOther(Pstream::commsTypes::scheduled, proci);
331 Pstream::commsTypes::scheduled,
341 if (Pstream::master())
347 for (
const int proci : senders)
349 IPstream fromOther(Pstream::commsTypes::scheduled, proci);
359 Pstream::commsTypes::scheduled,
382 parallel = parallel && Pstream::parRun();
387 ? Pstream::subProcs()
392 if (Pstream::master())
399 if (etype == ensightFaces::NSIDED)
405 if (Pstream::master())
411 for (
const int proci : senders)
413 IPstream fromOther(Pstream::commsTypes::scheduled, proci);
423 Pstream::commsTypes::scheduled,
434 if (Pstream::master())
440 for (
const int proci : senders)
442 IPstream fromOther(Pstream::commsTypes::scheduled, proci);
452 Pstream::commsTypes::scheduled,
469 for (label typei=0; typei < ensightFaces::nTypes; ++typei)
493 for (label typei=0; typei < ensightFaces::nTypes; ++typei)
An interval of (signed) integers defined by a start and a size.
Output inter-processor communications stream.
A List obtained as a section of another List.
labelList getPolysNPointsPerFace(const polyMesh &mesh, const labelUList &addr)
The number of points for each face of the poly elements.
Sorting/classification of faces (2D) into corresponding ensight types.
Mesh consisting of general polyhedral cells.
labelRange range(const elemType etype) const
Processor-local offset/size of element type.
label total() const
The global size of all element types.
void writeFaceConnectivity(ensightGeoFile &os, const ensightFaces::elemType etype, const label nTotal, const UIndirectList< face > &faces, bool parallel)
void writeLabels(const UList< label > &list)
Write a list of integers.
void writeFaceConnectivityPresorted(ensightGeoFile &os, const ensightFaces &part, const faceUList &faces, bool parallel)
Write the presorted face connectivity for the part.
Specialized Ensight output with extra geometry file header.
void newline()
Add carriage return to ascii stream.
virtual bool write(const token &)
Writing token does not make sense.
const labelList & faceIds() const
Processor-local face ids of all elements.
An analytical geometric cellShape.
elemType
Supported ensight 'Face' element types.
labelList getPolysNFaces(const polyMesh &mesh, const labelUList &addr)
The number of faces per poly element.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
virtual Ostream & writeKeyword(const keyType &key)
Write keyword with trailing newline.
labelList getFaceSizes(const UList< face > &faces)
Return sizes of faces in the list.
void size(const label n) noexcept
Override size to be inconsistent with allocated storage.
A List with indirect addressing.
Input inter-processor communications stream.
A face is a list of labels corresponding to mesh vertices.
void writePolysPoints(ensightGeoFile &os, const cellUList &meshCells, const labelUList &addr, const faceUList &meshFaces, const labelUList &faceOwner)
Write the point ids per poly element.
Various functions to operate on Lists.
void writeFaceList(ensightGeoFile &os, const UList< face > &faces)
Write list of faces.
void writeCellShapes(ensightGeoFile &os, const UList< cellShape > &shapes)
Write cell connectivity via cell shapes.