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)
153 "fileFormats::TRIsurfaceFormat::write" 154 "(const fileName&, const MeshedSurfaceProxy<Face>&)" 156 <<
"Cannot open file for writing " << filename
169 const Face& f = faceLst[faceMap[faceIndex++]];
170 writeShell(os, pointLst, f, zoneI);
177 const Face& f = faceLst[faceIndex++];
178 writeShell(os, pointLst, f, zoneI);
200 "fileFormats::TRIsurfaceFormat::write" 201 "(const fileName&, const UnsortedMeshedSurface<Face>&)" 203 <<
"Cannot open file for writing " << filename
209 if (surf.
zoneToc().size() == 1)
215 writeShell(os, pointLst, faceLst[faceI], zoneIds[faceI]);
226 forAll(zoneLst[zoneI], localFaceI)
228 const Face& f = faceLst[faceMap[faceIndex++]];
229 writeShell(os, pointLst, f, zoneI);
const List< surfZoneIdentifier > & zoneToc() const
Return const access to the zone table-of-contents.
static void write(const fileName &, const MeshedSurfaceProxy< Face > &)
Write surface mesh components by proxy.
vector point
Point is a vector.
List< label > & zoneIds()
Return full access to the zones.
bool sorted() const
File read was already sorted.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
bool useFaceMap() const
Use faceMap?
Xfer< List< T > > xfer()
Transfer contents to the Xfer container.
void sortedOrder(const UList< T > &, labelList &order)
Generate the (stable) sort order for the list.
A proxy for writing MeshedSurface, UnsortedMeshedSurface and surfMesh to various file formats...
List< label > & sizes()
The list of zone sizes in the order of their first appearance.
const List< label > & zoneIds() const
Return const access to the zone ids.
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 size(const label)
Override size to be inconsistent with allocated storage.
errorManipArg< error, int > exit(error &err, const int errNo=1)
Various functions to operate on Lists.
const pointField & points() const
Return const access to the points.
vectorField pointField
pointField is a vectorField.
const List< Face > & faces() const
Return const access to the faces.
Ostream & endl(Ostream &os)
Add newline and flush stream.
const List< Face > & faces() const
Return const access to the faces.
const List< surfZone > & surfZones() const
Const access to the surface zones.
Internal class used by the TRIsurfaceFormat.
bool good() const
Return true if next operation might succeed.
virtual bool read(const fileName &)
Read from file.
IOstream & dec(IOstream &io)
A surface zone on a MeshedSurface.
#define FatalErrorIn(functionName)
Report an error message using Foam::FatalError.
IOstream & hex(IOstream &io)
A surface geometry mesh, in which the surface zone information is conveyed by the 'zoneId' associated...
A class for handling file names.
const List< label > & faceMap() const
Const access to the faceMap, zero-sized when unused.
bool read(const char *, int32_t &)
Provide a means of reading/writing .tri format.
pointField & points()
Return full access to the points.
surfZoneList sortedZones(labelList &faceMap) const
Sort faces according to zoneIds.
const Field< point > & points() const
Return reference to global points.