42 const point& p0 = pointLst[f[0]];
43 for (
label fp1 = 1; fp1 < f.size() - 1; ++fp1)
45 label fp2 = f.fcIndex(fp1);
47 const point& p1 = pointLst[f[fp1]];
48 const point& p2 = pointLst[f[fp2]];
50 os << p0.
x() <<
' ' << p0.y() <<
' ' << p0.z() <<
' ' 51 << p1.x() <<
' ' << p1.y() <<
' ' << p1.z() <<
' ' 52 << p2.x() <<
' ' << p2.y() <<
' ' << p2.z() <<
' ' 85 this->storedPoints().transfer(reader.
points());
99 const label startPt = 3*facei;
100 faceLst[facei] =
triFace(startPt, startPt+1, startPt+2);
113 const label startPt = 3*faceMap[facei];
114 faceLst[facei] =
triFace(startPt, startPt+1, startPt+2);
120 this->storedFaces().transfer(faceLst);
122 this->addZones(sizes);
123 this->stitchFaces(SMALL);
142 ? surfaceFormatsCore::oneZone(faceLst)
152 <<
"Cannot open file for writing " << filename
165 const Face& f = faceLst[faceMap[faceIndex++]];
166 writeShell(os, pointLst, f, zoneI);
173 const Face& f = faceLst[faceIndex++];
174 writeShell(os, pointLst, f, zoneI);
195 <<
"Cannot open file for writing " << filename
201 if (surf.
zoneToc().size() == 1)
207 writeShell(os, pointLst, faceLst[facei], zoneIds[facei]);
218 forAll(zoneLst[zoneI], localFacei)
220 const Face& f = faceLst[faceMap[faceIndex++]];
221 writeShell(os, pointLst, f, zoneI);
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.
void sortedOrder(const UList< T > &, labelList &order)
Generate the (stable) sort order for the list.
A class for handling file names.
errorManipArg< error, int > exit(error &err, const int errNo=1)
const List< label > & faceMap() const
Const access to the faceMap, zero-sized when unused.
IOstream & hex(IOstream &io)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Xfer< List< T > > xfer()
Transfer contents to the Xfer container.
A surface zone on a MeshedSurface.
void size(const label)
Override size to be inconsistent with allocated storage.
const List< Face > & faces() const
Return const access to the faces.
bool good() const
Return true if next operation might succeed.
Ostream & endl(Ostream &os)
Add newline and flush stream.
const Field< point > & points() const
Return reference to global points.
const List< Face > & faces() const
Return const access to the faces.
const List< surfZone > & surfZones() const
Const access to the surface zones.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
Various functions to operate on Lists.
const pointField & points() const
Return const access to the points.
bool read(const char *, int32_t &)
vectorField pointField
pointField is a vectorField.
bool useFaceMap() const
Use faceMap?
A proxy for writing MeshedSurface, UnsortedMeshedSurface and surfMesh to various file formats...
const List< surfZoneIdentifier > & zoneToc() const
Return const access to the zone table-of-contents.
vector point
Point is a vector.
IOstream & dec(IOstream &io)
const List< label > & zoneIds() const
Return const access to the zone ids.
surfZoneList sortedZones(labelList &faceMap) const
Sort faces according to zoneIds.