67 int group = 0, part = 0;
79 return " </Collection>\n</VTKFile>";
131 out <<
" <DataSet timestep=\"" << timeStep <<
"\" group=\"" <<
group <<
"\" part=\"" <<
i <<
"\" file=\""
150 out <<
"<?xml version=\"1.0\"?>\n";
151 out <<
"<VTKFile type=\"PUnstructuredGrid\" version=\"0.1\" byte_order=\"LittleEndian\">"
153 out <<
" <PUnstructuredGrid GhostLevel=\"1\">"
155 out <<
" <PPointData>\n";
158 out <<
" </PPointData>\n";
159 if (cellDataNames.size() > 0) {
160 out <<
" <PCellData>\n";
161 for (
size_t s = 0;
s < cellDataNames.size();
s++)
162 out <<
" <PDataArray type=\"Float64\" Name=\"" << cellDataNames[
s] <<
"\"/>\n";
163 out <<
" </PCellData>\n";
165 out <<
" <PPoints>\n";
166 out <<
" <PDataArray type=\"Float32\" NumberOfComponents=\"3\"/>\n";
167 out <<
" </PPoints>\n";
171 out <<
" </PUnstructuredGrid>\n";
184 out <<
"<?xml version=\"1.0\"?>\n";
185 out <<
"<VTKFile type=\"UnstructuredGrid\" version=\"0.1\" byte_order=\"LittleEndian\" >"
187 out <<
" <UnstructuredGrid>"
189 out <<
" <Piece NumberOfPoints=\"" << numberOfNodes <<
"\" NumberOfCells=\"" << numberOfCells <<
"\">\n";
194 out <<
" <Points>\n";
195 out <<
" <DataArray type=\"Float32\" NumberOfComponents=\"3\" format=\"appended\" offset=\"" << offset
197 out <<
" </Points>\n";
206 out <<
" <DataArray type=\"Int32\" Name=\"connectivity\" format=\"appended\" offset=\"" << offset
209 out <<
" <DataArray type=\"Int32\" Name=\"offsets\" format=\"appended\" offset=\"" << offset
212 out <<
" <DataArray type=\"UInt8\" Name=\"types\" format=\"appended\" offset=\"" << offset <<
"\" />\n ";
214 out <<
" </Cells>\n";
220 out <<
" <CellData>\n";
221 for (
size_t s = 0;
s < datanames.size(); ++
s) {
222 out <<
" <DataArray type=\"Float32\" Name=\"" << datanames[
s] <<
"\" format=\"appended\" offset=\""
223 << offset <<
"\" /> \n";
226 out <<
" </CellData>\n";
232 out <<
" </Piece>\n";
233 out <<
" </UnstructuredGrid>\n";
234 out <<
" <AppendedData encoding=\"raw\">\n";
241 for (
int n = 0;
n < (
int)nodes.size();
n++) {
251 for (
int c = 0;
c < (
int)cells.size();
c++) {
261 for (
int c = 1;
c <= numberOfCells;
c++) {
263 out.write((
char *)&
itmp,
sizeof(
int));
271 for (
int c = 0;
c < numberOfCells;
c++) {
279 for (
size_t s = 0;
s < datanames.size(); ++
s) {
281 for (
size_t d = 0; d <
celldata[
s].size(); ++d) {
291 out <<
"\n</AppendedData>\n";
334 real *coordinatesX,
real *coordinatesY,
real *coordinatesZ,
337 std::vector<UbTupleFloat3> nodes;
338 std::vector<UbTupleInt2> lines;
343 nodes.push_back(
makeUbTuple(
float(coordinatesX[
i]),
float(coordinatesY[
i]),
float(coordinatesZ[
i])));
344 nodes.push_back(
makeUbTuple(
float(coordinatesX[
i + 1]),
float(coordinatesY[
i + 1]),
float(coordinatesZ[
i + 1])));
352 std::vector<real>& coordinatesY, std::vector<real>& coordinatesZ)
354 return this->
writePolyLines(filename, coordinatesX.data(), coordinatesY.data(), coordinatesZ.data(),
355 (
uint)coordinatesX.size());
536 out <<
"<?xml version=\"1.0\"?>\n";
537 out <<
"<VTKFile type=\"UnstructuredGrid\" version=\"0.1\" byte_order=\"LittleEndian\" >"
539 out <<
" <UnstructuredGrid>"
541 out <<
" <Piece NumberOfPoints=\"" <<
nofNodes <<
"\" NumberOfCells=\"" <<
nofCells <<
"\">\n";
544 out <<
" <Points>\n";
545 out <<
" <DataArray type=\"Float32\" NumberOfComponents=\"3\" format=\"appended\" offset=\"" << offset
547 out <<
" </Points>\n";
552 out <<
" <DataArray type=\"Int32\" Name=\"connectivity\" format=\"appended\" offset=\"" << offset
555 out <<
" <DataArray type=\"Int32\" Name=\"offsets\" format=\"appended\" offset=\"" << offset
558 out <<
" <DataArray type=\"UInt8\" Name=\"types\" format=\"appended\" offset=\"" << offset <<
"\" />\n ";
560 out <<
" </Cells>\n";
562 out <<
" </Piece>\n";
563 out <<
" </UnstructuredGrid>\n";
566 out <<
" <AppendedData encoding=\"raw\">\n";
601 out <<
"\n</AppendedData>\n";
632 out <<
"<?xml version=\"1.0\"?>\n";
633 out <<
"<VTKFile type=\"UnstructuredGrid\" version=\"0.1\" byte_order=\"LittleEndian\" >"
635 out <<
" <UnstructuredGrid>"
637 out <<
" <Piece NumberOfPoints=\"" <<
nofNodes <<
"\" NumberOfCells=\"" <<
nofCells <<
"\">\n";
640 out <<
" <Points>\n";
641 out <<
" <DataArray type=\"Float32\" NumberOfComponents=\"3\" format=\"appended\" offset=\"" << offset
643 out <<
" </Points>\n";
648 out <<
" <DataArray type=\"Int32\" Name=\"connectivity\" format=\"appended\" offset=\"" << offset
651 out <<
" <DataArray type=\"Int32\" Name=\"offsets\" format=\"appended\" offset=\"" << offset
654 out <<
" <DataArray type=\"UInt8\" Name=\"types\" format=\"appended\" offset=\"" << offset <<
"\" />\n ";
656 out <<
" </Cells>\n";
659 out <<
" <PointData>\n";
660 for (
size_t s = 0;
s < datanames.size(); ++
s) {
661 out <<
" <DataArray type=\"Float32\" Name=\"" << datanames[
s] <<
"\" format=\"appended\" offset=\""
662 << offset <<
"\" /> \n";
665 out <<
" </PointData>\n";
667 out <<
" </Piece>\n";
668 out <<
" </UnstructuredGrid>\n";
671 out <<
" <AppendedData encoding=\"raw\">\n";
708 for (
size_t s = 0;
s < datanames.size(); ++
s) {
710 for (
size_t d = 0; d <
nodedata[
s].size(); ++d) {
716 out <<
"\n</AppendedData>\n";
744 out <<
"<?xml version=\"1.0\"?>\n";
745 out <<
"<VTKFile type=\"UnstructuredGrid\" version=\"0.1\" byte_order=\"LittleEndian\" >"
747 out <<
" <UnstructuredGrid>"
749 out <<
" <Piece NumberOfPoints=\"" <<
nofNodes <<
"\" NumberOfCells=\"" <<
nofCells <<
"\">\n";
752 out <<
" <Points>\n";
753 out <<
" <DataArray type=\"Float32\" NumberOfComponents=\"3\" format=\"appended\" offset=\"" << offset
755 out <<
" </Points>\n";
760 out <<
" <DataArray type=\"Int32\" Name=\"connectivity\" format=\"appended\" offset=\"" << offset
763 out <<
" <DataArray type=\"Int32\" Name=\"offsets\" format=\"appended\" offset=\"" << offset
766 out <<
" <DataArray type=\"UInt8\" Name=\"types\" format=\"appended\" offset=\"" << offset <<
"\" />\n ";
768 out <<
" </Cells>\n";
770 out <<
" </Piece>\n";
771 out <<
" </UnstructuredGrid>\n";
774 out <<
" <AppendedData encoding=\"raw\">\n";
809 out <<
"\n</AppendedData>\n";
840 out <<
"<?xml version=\"1.0\"?>\n";
841 out <<
"<VTKFile type=\"UnstructuredGrid\" version=\"0.1\" byte_order=\"LittleEndian\" >"
843 out <<
" <UnstructuredGrid>"
845 out <<
" <Piece NumberOfPoints=\"" <<
nofNodes <<
"\" NumberOfCells=\"" <<
nofCells <<
"\">\n";
848 out <<
" <Points>\n";
849 out <<
" <DataArray type=\"Float32\" NumberOfComponents=\"3\" format=\"appended\" offset=\"" << offset
851 out <<
" </Points>\n";
856 out <<
" <DataArray type=\"Int32\" Name=\"connectivity\" format=\"appended\" offset=\"" << offset
859 out <<
" <DataArray type=\"Int32\" Name=\"offsets\" format=\"appended\" offset=\"" << offset
862 out <<
" <DataArray type=\"UInt8\" Name=\"types\" format=\"appended\" offset=\"" << offset <<
"\" />\n ";
864 out <<
" </Cells>\n";
867 out <<
" <PointData>\n";
868 for (
size_t s = 0;
s < datanames.size(); ++
s) {
869 out <<
" <DataArray type=\"Float64\" Name=\"" << datanames[
s] <<
"\" format=\"appended\" offset=\""
870 << offset <<
"\" /> \n";
873 out <<
" </PointData>\n";
875 out <<
" </Piece>\n";
876 out <<
" </UnstructuredGrid>\n";
879 out <<
" <AppendedData encoding=\"raw\">\n";
917 for (
size_t s = 0;
s < datanames.size(); ++
s) {
919 for (
size_t d = 0; d <
nodedata[
s].size(); ++d) {
925 out <<
"\n</AppendedData>\n";
955 out <<
"<?xml version=\"1.0\"?>\n";
956 out <<
"<VTKFile type=\"UnstructuredGrid\" version=\"0.1\" byte_order=\"LittleEndian\" >"
958 out <<
" <UnstructuredGrid>"
960 out <<
" <Piece NumberOfPoints=\"" <<
nofNodes <<
"\" NumberOfCells=\"" <<
nofCells <<
"\">\n";
963 out <<
" <Points>\n";
964 out <<
" <DataArray type=\"Float32\" NumberOfComponents=\"3\" format=\"appended\" offset=\"" << offset
966 out <<
" </Points>\n";
971 out <<
" <DataArray type=\"Int32\" Name=\"connectivity\" format=\"appended\" offset=\"" << offset
974 out <<
" <DataArray type=\"Int32\" Name=\"offsets\" format=\"appended\" offset=\"" << offset
977 out <<
" <DataArray type=\"UInt8\" Name=\"types\" format=\"appended\" offset=\"" << offset <<
"\" />\n ";
979 out <<
" </Cells>\n";
982 out <<
" <CellData>\n";
983 for (
size_t s = 0;
s < datanames.size(); ++
s) {
984 out <<
" <DataArray type=\"Float32\" Name=\"" << datanames[
s] <<
"\" format=\"appended\" offset=\""
985 << offset <<
"\" /> \n";
988 out <<
" </CellData>\n";
990 out <<
" </Piece>\n";
991 out <<
" </UnstructuredGrid>\n";
994 out <<
" <AppendedData encoding=\"raw\">\n";
1032 for (
size_t s = 0;
s < datanames.size(); ++
s) {
1034 for (
size_t d = 0; d <
celldata[
s].size(); ++d) {
1041 out <<
"\n</AppendedData>\n";
1043 out <<
"</VTKFile>";
1075 out <<
"<?xml version=\"1.0\"?>\n";
1076 out <<
"<VTKFile type=\"UnstructuredGrid\" version=\"0.1\" byte_order=\"LittleEndian\" >"
1078 out <<
" <UnstructuredGrid>"
1080 out <<
" <Piece NumberOfPoints=\"" <<
nofNodes <<
"\" NumberOfCells=\"" <<
nofCells <<
"\">\n";
1083 out <<
" <Points>\n";
1084 out <<
" <DataArray type=\"Float32\" NumberOfComponents=\"3\" format=\"appended\" offset=\"" << offset
1086 out <<
" </Points>\n";
1090 out <<
" <Cells>\n";
1091 out <<
" <DataArray type=\"Int32\" Name=\"connectivity\" format=\"appended\" offset=\"" << offset
1094 out <<
" <DataArray type=\"Int32\" Name=\"offsets\" format=\"appended\" offset=\"" << offset
1097 out <<
" <DataArray type=\"UInt8\" Name=\"types\" format=\"appended\" offset=\"" << offset <<
"\" />\n ";
1099 out <<
" </Cells>\n";
1102 out <<
" <PointData>\n";
1105 <<
"\" format=\"appended\" offset=\"" << offset <<
"\" /> \n";
1108 out <<
" </PointData>\n";
1111 out <<
" <CellData>\n";
1114 <<
"\" format=\"appended\" offset=\"" << offset <<
"\" /> \n";
1117 out <<
" </CellData>\n";
1118 out <<
" </Piece>\n";
1119 out <<
" </UnstructuredGrid>\n";
1122 out <<
" <AppendedData encoding=\"raw\">\n";
1162 for (
size_t d = 0; d <
nodedata[
s].size(); ++d) {
1172 for (
size_t d = 0; d <
celldata[
s].size(); ++d) {
1178 out <<
"\n</AppendedData>\n";
1179 out <<
"</VTKFile>";
1208 out <<
"<?xml version=\"1.0\"?>\n";
1209 out <<
"<VTKFile type=\"UnstructuredGrid\" version=\"0.1\" byte_order=\"LittleEndian\" >"
1211 out <<
" <UnstructuredGrid>"
1213 out <<
" <Piece NumberOfPoints=\"" <<
nofNodes <<
"\" NumberOfCells=\"" <<
nofCells <<
"\">\n";
1216 out <<
" <Points>\n";
1217 out <<
" <DataArray type=\"Float32\" NumberOfComponents=\"3\" format=\"appended\" offset=\"" << offset
1219 out <<
" </Points>\n";
1223 out <<
" <Cells>\n";
1224 out <<
" <DataArray type=\"Int32\" Name=\"connectivity\" format=\"appended\" offset=\"" << offset
1227 out <<
" <DataArray type=\"Int32\" Name=\"offsets\" format=\"appended\" offset=\"" << offset
1230 out <<
" <DataArray type=\"UInt8\" Name=\"types\" format=\"appended\" offset=\"" << offset <<
"\" />\n ";
1232 out <<
" </Cells>\n";
1235 out <<
" <CellData>\n";
1236 for (
size_t s = 0;
s < datanames.size(); ++
s) {
1237 out <<
" <DataArray type=\"Float32\" Name=\"" << datanames[
s] <<
"\" format=\"appended\" offset=\""
1238 << offset <<
"\" /> \n";
1241 out <<
" </CellData>\n";
1243 out <<
" </Piece>\n";
1244 out <<
" </UnstructuredGrid>\n";
1247 out <<
" <AppendedData encoding=\"raw\">\n";
1289 for (
size_t s = 0;
s < datanames.size(); ++
s) {
1291 for (
size_t d = 0; d <
celldata[
s].size(); ++d) {
1297 out <<
"\n</AppendedData>\n";
1298 out <<
"</VTKFile>";
1325 unsigned long long offset = 0;
1327 out <<
"<?xml version=\"2.0\"?>\n";
1328 out <<
"<VTKFile type=\"UnstructuredGrid\" version=\"0.1\" byte_order=\"LittleEndian\" >"
1330 out <<
" <UnstructuredGrid>"
1332 out <<
" <Piece NumberOfPoints=\"" <<
nofNodes <<
"\" NumberOfCells=\"" <<
nofCells <<
"\">\n";
1335 out <<
" <Points>\n";
1336 out <<
" <DataArray type=\"Float32\" NumberOfComponents=\"3\" format=\"appended\" offset=\"" << offset
1338 out <<
" </Points>\n";
1342 out <<
" <Cells>\n";
1343 out <<
" <DataArray type=\"Int32\" Name=\"connectivity\" format=\"appended\" offset=\"" << offset
1346 out <<
" <DataArray type=\"Int32\" Name=\"offsets\" format=\"appended\" offset=\"" << offset
1349 out <<
" <DataArray type=\"UInt8\" Name=\"types\" format=\"appended\" offset=\"" << offset <<
"\" />\n ";
1351 out <<
" </Cells>\n";
1354 out <<
" <PointData>\n";
1355 for (
size_t s = 0;
s < datanames.size(); ++
s) {
1356 out <<
" <DataArray type=\"Float64\" Name=\"" << datanames[
s] <<
"\" format=\"appended\" offset=\""
1357 << offset <<
"\" /> \n";
1360 out <<
" </PointData>\n";
1362 out <<
" </Piece>\n";
1363 out <<
" </UnstructuredGrid>\n";
1366 out <<
" <AppendedData encoding=\"raw\">\n";
1408 for (
size_t s = 0;
s < datanames.size(); ++
s) {
1410 for (
size_t d = 0; d <
nodedata[
s].size(); ++d) {
1418 out <<
"\n</AppendedData>\n";
1419 out <<
"</VTKFile>";
1446 out <<
"<?xml version=\"1.0\"?>\n";
1447 out <<
"<VTKFile type=\"UnstructuredGrid\" version=\"0.1\" byte_order=\"LittleEndian\" >"
1449 out <<
" <UnstructuredGrid>"
1451 out <<
" <Piece NumberOfPoints=\"" <<
nofNodes <<
"\" NumberOfCells=\"" <<
nofCells <<
"\">\n";
1454 out <<
" <Points>\n";
1455 out <<
" <DataArray type=\"Float32\" NumberOfComponents=\"3\" format=\"appended\" offset=\"" << offset
1457 out <<
" </Points>\n";
1461 out <<
" <Cells>\n";
1462 out <<
" <DataArray type=\"Int32\" Name=\"connectivity\" format=\"appended\" offset=\"" << offset
1465 out <<
" <DataArray type=\"Int32\" Name=\"offsets\" format=\"appended\" offset=\"" << offset
1468 out <<
" <DataArray type=\"UInt8\" Name=\"types\" format=\"appended\" offset=\"" << offset <<
"\" />\n ";
1470 out <<
" </Cells>\n";
1472 out <<
" </Piece>\n";
1473 out <<
" </UnstructuredGrid>\n";
1476 out <<
" <AppendedData encoding=\"raw\">\n";
1515 out <<
"\n</AppendedData>\n";
1516 out <<
"</VTKFile>";
1540 out <<
"<?xml version=\"1.0\"?>\n";
1541 out <<
"<VTKFile type=\"UnstructuredGrid\" version=\"0.1\" byte_order=\"LittleEndian\" >"
1543 out <<
" <UnstructuredGrid>"
1545 out <<
" <Piece NumberOfPoints=\"" <<
nofNodes <<
"\" NumberOfCells=\"" <<
nofNodes <<
"\">\n";
1548 out <<
" <Points>\n";
1549 out <<
" <DataArray type=\"Float32\" NumberOfComponents=\"3\" format=\"appended\" offset=\"" << offset
1551 out <<
" </Points>\n";
1555 out <<
" <Cells>\n";
1556 out <<
" <DataArray type=\"Int32\" Name=\"connectivity\" format=\"appended\" offset=\"" << offset
1559 out <<
" <DataArray type=\"Int32\" Name=\"offsets\" format=\"appended\" offset=\"" << offset
1562 out <<
" <DataArray type=\"UInt8\" Name=\"types\" format=\"appended\" offset=\"" << offset <<
"\" />\n ";
1564 out <<
" </Cells>\n";
1566 out <<
" </Piece>\n";
1567 out <<
" </UnstructuredGrid>\n";
1570 out <<
" <AppendedData encoding=\"raw\">\n";
1585 out.write((
char *)&
c,
sizeof(
int));
1590 out.write((
char *)&
c,
sizeof(
int));
1598 out <<
"\n</AppendedData>\n";
1599 out <<
"</VTKFile>";
1607 std::vector<std::string> &datanames,
1608 std::vector<std::vector<double>> &
nodedata)
1626 out <<
"<?xml version=\"1.0\"?>\n";
1627 out <<
"<VTKFile type=\"UnstructuredGrid\" version=\"0.1\" byte_order=\"LittleEndian\" >"
1629 out <<
" <UnstructuredGrid>"
1631 out <<
" <Piece NumberOfPoints=\"" <<
nofNodes <<
"\" NumberOfCells=\"" <<
nofNodes <<
"\">\n";
1634 out <<
" <Points>\n";
1635 out <<
" <DataArray type=\"Float32\" NumberOfComponents=\"3\" format=\"appended\" offset=\"" << offset
1637 out <<
" </Points>\n";
1641 out <<
" <Cells>\n";
1642 out <<
" <DataArray type=\"Int32\" Name=\"connectivity\" format=\"appended\" offset=\"" << offset
1645 out <<
" <DataArray type=\"Int32\" Name=\"offsets\" format=\"appended\" offset=\"" << offset
1648 out <<
" <DataArray type=\"UInt8\" Name=\"types\" format=\"appended\" offset=\"" << offset <<
"\" />\n ";
1650 out <<
" </Cells>\n";
1653 out <<
" <PointData>\n";
1654 for (
size_t s = 0;
s < datanames.size(); ++
s) {
1655 out <<
" <DataArray type=\"Float64\" Name=\"" << datanames[
s] <<
"\" format=\"appended\" offset=\""
1656 << offset <<
"\" /> \n";
1659 out <<
" </PointData>\n";
1661 out <<
" </Piece>\n";
1662 out <<
" </UnstructuredGrid>\n";
1665 out <<
" <AppendedData encoding=\"raw\">\n";
1680 out.write((
char *)&
c,
sizeof(
int));
1685 out.write((
char *)&
c,
sizeof(
int));
1695 for (
size_t s = 0;
s < datanames.size(); ++
s) {
1697 for (
size_t d = 0; d <
nodedata[
s].size(); ++d) {
1705 out <<
"\n</AppendedData>\n";
1706 out <<
"</VTKFile>";
std::string getFileExtension() override
std::shared_ptr< T > SPtr
#define UBLOG(level, logtext)
UbTuple< T1 > makeUbTuple(T1 const &a1)
std::string getCollectionEndString()
std::string writeOcts(const std::string &filename, std::vector< UbTupleFloat3 > &nodes, std::vector< UbTupleInt8 > &cells) override
std::string writeOctsWithNodeData(const std::string &filename, std::vector< UbTupleFloat3 > &nodes, std::vector< UbTupleUInt8 > &cells, std::vector< std::string > &datanames, std::vector< std::vector< double > > &nodedata) override
std::string addFilesToCollection(const std::string &filename, const std::vector< std::string > &filenames, const double &timeStep, const bool &separateGroups) const
void writeCellConnectivity(ofstream &out, int bytesPerByteVal, int bytesCellConnectivity, vector< UbTupleInt2 > &cells)
std::string writeTrianglesWithNodeData(const std::string &filename, std::vector< UbTupleFloat3 > &nodes, std::vector< UbTupleInt3 > &cells, std::vector< std::string > &datanames, std::vector< std::vector< double > > &nodedata) override
std::string writeNodes(const std::string &filename, std::vector< UbTupleFloat3 > &nodes) override
void writeVtkHeader(ofstream &out, int numberOfNodes, int numberOfCells)
void finalizeCollectionFile(std::ofstream &outputFileStream)
std::string writeParallelFile(const std::string &filename, std::vector< std::string > &pieceSources, std::vector< std::string > &pointDataNames, std::vector< std::string > &cellDataNames) const
std::string writeTriangles(const std::string &filename, std::vector< UbTupleFloat3 > &nodes, std::vector< UbTupleInt3 > &triangles) override
void writeCellTypes(ofstream &out, int bytesPerByteVal, int bytesCellTypes, int numberOfCells)
void writeAppendDataHeader(ofstream &out)
ofstream createFileStream(const std::string &vtkFilename)
int writePointHeader(ofstream &out, int offset, int bytesPerByteVal, int bytesPoints)
std::string writeNodesWithNodeData(const std::string &filename, std::vector< UbTupleFloat3 > &nodes, std::vector< std::string > &datanames, std::vector< std::vector< double > > &nodedata) override
void writePoints(ofstream &out, int bytesPerByteVal, int bytesPoints, vector< UbTupleFloat3 > &nodes)
int writeDataHeader(ofstream &out, vector< string > &datanames, int offset, int bytesPerByteVal, int bytesScalarData)
std::string writeQuadsWithNodeData(const std::string &filename, std::vector< UbTupleFloat3 > &nodes, std::vector< UbTupleInt4 > &cells, std::vector< std::string > &datanames, std::vector< std::vector< double > > &nodedata) override
std::string writeOctsWithCellData(const std::string &filename, std::vector< UbTupleFloat3 > &nodes, std::vector< UbTupleInt8 > &cells, std::vector< std::string > &datanames, std::vector< std::vector< double > > &celldata) override
void addCollectionDatasetsForTimeStep(std::ofstream &outputFileStream, const vector< string > &filenames, double timeStep, bool separateGroups)
std::string writeQuadsWithNodeAndCellData(const std::string &filename, std::vector< UbTupleFloat3 > &nodes, std::vector< UbTupleInt4 > &cells, std::vector< std::string > &nodedatanames, std::vector< std::vector< double > > &nodedata, std::vector< std::string > &celldatanames, std::vector< std::vector< double > > &celldata) override
void writeEndOfVtkFile(ofstream &out)
std::string writeLines(const std::string &filename, std::vector< UbTupleFloat3 > &nodes, std::vector< UbTupleInt2 > &lines) override
void writeCellOffsets(ofstream &out, int bytesPerByteVal, int bytesCellOffsets, int numberOfCells)
void addCollectionHeader(std::ofstream &outputFileStream)
std::string writeLinesWithLineData(const std::string &filename, std::vector< UbTupleFloat3 > &nodes, std::vector< UbTupleInt2 > &lines, std::vector< std::string > &datanames, std::vector< std::vector< float > > &celldata) override
std::string writeQuads(const std::string &filename, std::vector< UbTupleFloat3 > &nodes, std::vector< UbTupleInt4 > &cells) override
std::string writePolyLines(const std::string &filename, real *coordinatesX, real *coordinatesY, real *coordinatesZ, uint numberOfCoordinates) override
std::string writeQuadsWithCellData(const std::string &filename, std::vector< UbTupleFloat3 > &nodes, std::vector< UbTupleInt4 > &cells, std::vector< std::string > &datanames, std::vector< std::vector< double > > &celldata) override
int writeCellHeader(ofstream &out, int offset, int bytesPerByteVal, int bytesCellConnectivity, int bytesCellOffsets, int bytesCellTypes)
void writeCellData(ofstream &out, int bytesPerByteVal, int bytesScalarData, vector< string > &datanames, vector< vector< float > > &celldata)
std::string writeCollection(const std::string &filename, const std::vector< std::string > &filenames, const double &timeStep, const bool &separateGroups) const
std::string writeCollectionForTimeSeries(const std::string &filename, const std::map< uint, std::vector< std::string > > &filesNamesForTimeSteps, bool separateGroups) const
bool makeDirectory(const std::string &dir)
std::string getPathFromString(const std::string &fileStringWithPath)