MCPcopy Create free account
hub / github.com/NGSolve/ngsolve / PrintFieldData

Method PrintFieldData

comp/vtkoutput.cpp:765–814  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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 {

Callers

nothing calls this directly

Calls 2

NameMethod · 0.45
DimensionMethod · 0.45

Tested by

no test coverage detected