#include "tin.h" #include "iostream" #include "fstream" #include "iomanip" int main(int argc, char const *argv[]) { // read dem grid std::vector topo(1002001); std::ifstream infile("topo2.txt"); for (int i = 0; i < 1002001; ++i) { infile >> topo[i]; } infile.close(); std::vector err_records; std::vector tin_vert; std::vector tin_ele; dem2tin(topo, 0, 1000, 0, 1000, 1, 1, tin_vert, tin_ele, 10.0, &err_records); // Write a log file std::ofstream logfile("topo2_TIN.log"); logfile << "# Insertion Maxi-Error\n"; for (int i = 0; i < err_records.size(); ++i) { logfile << i+1 << " " << err_records[i] << std::endl; } logfile.close(); // Write a Gmsh's .msh file std::ofstream outfile("topo2_TIN.msh"); outfile << "$MeshFormat" << std::endl << "2.2 0 8" << std::endl << "$EndMeshFormat "<id + 1 << " " << std::setprecision(16) << tin_vert[i]->x << " " << tin_vert[i]->y << " " << tin_vert[i]->elev << std::endl; } outfile<<"$EndNodes"<vert[j]->id + 1; } outfile << std::endl; } outfile << "$EndElements"<< std::endl; outfile<<"$NodeData"<id + 1 << " " << std::setprecision(16) << tin_vert[i]->elev << std::endl; } outfile << "$EndNodeData" << std::endl; outfile.close(); // Destroy memories allocated by the dem2tin function for (int i = 0; i < tin_vert.size(); ++i) { delete tin_vert[i]; } for (int i = 0; i < tin_ele.size(); ++i) { delete tin_ele[i]; } return 0; }