100 using namespace Foam;
106 os <<
"v " << pt.
x() <<
' ' << pt.
y() <<
' ' << pt.
z() <<
nl;
116 Info <<
"Writing mesh points and edges to " << pointFile <<
endl;
130 pointStream <<
"l " << e.
start() + 1 <<
' ' << e.
end() + 1 <<
nl;
145 Info <<
"Writing mesh points and edges to " << fName <<
endl;
157 label cellI = cellLabels[i];
163 const edge& e = mesh.
edges()[cEdges[cEdgeI]];
169 if (e0Fnd == pointToObj.
end())
173 pointToObj.insert(e[0], v0);
184 if (e1Fnd == pointToObj.
end())
188 pointToObj.insert(e[1], v1);
196 str <<
"l " << v0+1 <<
' ' << v1+1 <<
nl;
213 /
"meshPoints_" + timeName +
'_' +
name(cellI) +
".obj"
216 Info <<
"Writing mesh points and edges to " << fName <<
endl;
220 const cell& cFaces = mesh.
cells()[cellI];
233 /
"meshFaceCentres_" + timeName +
".obj"
236 Info <<
"Writing mesh face centres to " << faceFile <<
endl;
251 mesh.
time().
path()/
"meshCellCentres_" + timeName +
".obj"
254 Info <<
"Writing mesh cell centres to " << cellFile <<
endl;
265 void writePatchCentres
279 mesh.
time().
path()/
"patch_" + pp.
name() +
'_' + timeName +
".obj"
282 Info <<
"Writing patch face centres to " << faceFile <<
endl;
309 /
"patchFaces_" + pp.
name() +
'_' + timeName +
".obj"
312 Info <<
"Writing patch faces to " << faceFile <<
endl;
325 patchFaceStream<<
'f';
329 patchFaceStream <<
' ' << f[fp]+1;
331 patchFaceStream <<
nl;
337 void writePatchBoundaryEdges
352 /
"patchEdges_" + pp.
name() +
'_' + timeName +
".obj"
355 Info <<
"Writing patch edges to " << edgeFile <<
endl;
370 patchEdgeStream<<
"l " << e[0]+1 <<
' ' << e[1]+1 <<
nl;
394 allEdges.insert(cEdges[i]);
402 /
"pointEdges_" + timeName +
'_' +
name(pointI) +
".obj"
405 Info <<
"Writing pointEdges to " << pFile <<
endl;
414 iter != allEdges.end();
418 const edge& e = mesh.
edges()[iter.key()];
422 pointStream<<
"l " << vertI-1 <<
' ' << vertI <<
nl;
429 int main(
int argc,
char *argv[])
443 runTime.functionObjects().off();
454 Info<<
"Writing mesh objects as .obj files such that the object"
455 <<
" numbering" << endl
456 <<
"(for points, faces, cells) is consistent with"
457 <<
" Foam numbering (starting from 0)." << endl <<
endl;
465 runTime.setTime(timeDirs[timeI], timeI);
467 Info<<
"Time = " << runTime.timeName() <<
endl;
475 writePatchFaces(mesh, runTime.timeName());
479 writePatchBoundaryEdges(mesh, runTime.timeName());
485 writePoints(mesh, cellI, runTime.timeName());
491 writePointCells(mesh, pointI, runTime.timeName());
507 Info<<
"Writing mesh points and edges to " << fName <<
endl;
521 Info<<
"Read " <<
cells.
size() <<
" cells from set " << setName
524 writePoints(mesh,
cells.toc(), runTime.timeName());
533 Info<<
"Read " << faces.size() <<
" faces from set " << setName
546 Info <<
"Writing mesh points and edges to " << fName <<
endl;
570 writePoints(mesh, runTime.timeName());
573 writeFaceCentres(mesh, runTime.timeName());
576 writeCellCentres(mesh, runTime.timeName());
579 writePatchCentres(mesh, runTime.timeName());