| 763 | /// output of field data (coefficient values) |
| 764 | template <int D> |
| 765 | void VTKOutput<D>::PrintFieldData(int *offset, stringstream *appenddata) |
| 766 | { |
| 767 | string header = ""; |
| 768 | string content = ""; |
| 769 | stringstream data; |
| 770 | int32_t fieldsize = 0; |
| 771 | header += "<PointData>"; // \"" << field->Name() << "\">" << endl; |
| 772 | *fileout << header << endl; |
| 773 | for (auto field : value_field) |
| 774 | { |
| 775 | if (floatsize == "double") |
| 776 | { |
| 777 | *fileout << "<DataArray type=\"Float64\" Name=\"" << field->Name() << "\" NumberOfComponents=\"" << field->Dimension() << "\" format=\"appended\" offset=\"" << *offset << "\">" << endl; |
| 778 | // *fileout << "<DataArray type=\"Float64\" Name=\"" << field->Name() << "\" NumberOfComponents=\"" << field->Dimension() << "\" format=\"appended\" offset=\"0\">" << endl; |
| 779 | } |
| 780 | else |
| 781 | { |
| 782 | *fileout << "<DataArray type=\"Float32\" Name=\"" << field->Name() << "\" NumberOfComponents=\"" << field->Dimension() << "\" format=\"appended\" offset=\"" << *offset << "\">" << endl; |
| 783 | } |
| 784 | double temp = 0; |
| 785 | float temp2 = 0; |
| 786 | for (auto v : *field) |
| 787 | { |
| 788 | if (floatsize == "double") |
| 789 | { |
| 790 | temp = v; |
| 791 | //fileout->write((char *)&temp, sizeof(double)); |
| 792 | data.write((char *)&temp, sizeof(temp)); |
| 793 | fieldsize += sizeof(temp); |
| 794 | } |
| 795 | else |
| 796 | { |
| 797 | temp2 = v; |
| 798 | //fileout->write((char *)&temp, sizeof(double)); |
| 799 | data.write((char *)&temp2, sizeof(temp2)); |
| 800 | fieldsize += sizeof(temp2); |
| 801 | } |
| 802 | } |
| 803 | *offset += 4 + fieldsize; |
| 804 | appenddata->write((char *)&fieldsize, sizeof(int32_t)); |
| 805 | *appenddata << data.str(); |
| 806 | |
| 807 | data.str(""); |
| 808 | data.clear(); |
| 809 | fieldsize = 0; |
| 810 | *fileout << endl; |
| 811 | *fileout << "</DataArray>" << endl; |
| 812 | } |
| 813 | *fileout << "</PointData>" << endl; |
| 814 | } |
| 815 | template <int D> |
| 816 | void VTKOutput<D>::PrintAppended(stringstream *appended) |
| 817 | { |