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);
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
159 const surfZone& zone = zones[zoneI];
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);
Various functions to operate on Lists.
#define forAll(list, i)
Loop across all elements in list.
bool good() const
Return true if next operation might succeed.
void size(const label)
Override size to be inconsistent with allocated storage.
void clear()
Clear the list, i.e. set size to zero.
A proxy for writing MeshedSurface, UnsortedMeshedSurface and surfMesh to various file formats.
const List< surfZone > & surfZones() const
Const access to the surface zones.
const List< Face > & faces() const
Return const access to the faces.
bool useFaceMap() const
Use faceMap?
const List< label > & faceMap() const
Const access to the faceMap, zero-sized when unused.
const pointField & points() const
Return const access to the points.
const List< Face > & faces() const
Return const access to the faces.
const Field< PointType > & points() const
Return reference to global points.
A surface geometry mesh, in which the surface zone information is conveyed by the 'zoneId' associated...
const List< label > & zoneIds() const
Return const access to the zone ids.
surfZoneList sortedZones(labelList &faceMap) const
Sort faces according to zoneIds.
const List< surfZoneIdentifier > & zoneToc() const
Return const access to the zone table-of-contents.
A class for handling file names.
A surface zone on a MeshedSurface.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
errorManipArg< error, int > exit(error &err, const int errNo=1)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Ostream & endl(Ostream &os)
Add newline and flush stream.
IOstream & dec(IOstream &io)
IOstream & hex(IOstream &io)
vectorField pointField
pointField is a vectorField.
vector point
Point is a vector.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
void sortedOrder(const UList< T > &, labelList &order)
Generate the (stable) sort order for the list.