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)
260 os.write(
f[pti] + 1);
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())
316 os.writeLabels(send);
319 for (
const int proci : senders)
321 IPstream fromOther(Pstream::commsTypes::scheduled, proci);
324 os.writeLabels(recv);
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())
408 os.writeLabels(send);
411 for (
const int proci : senders)
413 IPstream fromOther(Pstream::commsTypes::scheduled, proci);
416 os.writeLabels(recv);
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)
const labelList & faceIds() const noexcept
Processor-local face ids of all elements.
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.
auto key(const Type &t) -> typename std::enable_if< std::is_enum< Type >::value, typename std::underlying_type< Type >::type >::type
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 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.
OBJstream os(runTime.globalPath()/outputName)
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...
labelList getFaceSizes(const UList< face > &faces)
Return sizes of faces in the list.
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 size(const label n)
Older name for setAddressableSize.
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.