From b26d8d5fb01ad7e3e89a5bc1e1d994c57f54cec4 Mon Sep 17 00:00:00 2001 From: Matthias Hochsteger Date: Mon, 18 Dec 2023 20:22:12 +0100 Subject: [PATCH] Medit 3d fixes --- libsrc/interface/rw_medit.cpp | 66 +++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/libsrc/interface/rw_medit.cpp b/libsrc/interface/rw_medit.cpp index 20d113c5..ba8d1d95 100644 --- a/libsrc/interface/rw_medit.cpp +++ b/libsrc/interface/rw_medit.cpp @@ -32,6 +32,7 @@ void ReadMeditFormat (Mesh & mesh, const filesystem::path & filename, map> token; int index; + // cout << "token: " << token << endl; if(token == "End") { break; } @@ -94,7 +95,72 @@ void ReadMeditFormat (Mesh & mesh, const filesystem::path & filename, map> ncorners; + Element0d el; + for(auto k : Range(ncorners)) { + fin >> el.pnum; + } + } + else if(token == "RequiredVertices") { + int nverts; + fin >> nverts; + int vert; + for(auto k : Range(nverts)) { + fin >> vert; + } + } + else if(token == "Normals") { + int nnormals; + fin >> nnormals; + Vec<3> normal; + for(auto k : Range(nnormals)) { + fin >> normal[0]; + fin >> normal[1]; + fin >> normal[2]; + } + } + else if(token == "NormalAtVertices") { + int nnormals; + fin >> nnormals; + int vert; + int normal; + for(auto k : Range(nnormals)) { + fin >> normal; + fin >> vert; + } + } + else if(token == "Tangents") { + int ntangents; + fin >> ntangents; + Vec<3> tangent; + for(auto k : Range(ntangents)) { + fin >> tangent[0]; + fin >> tangent[1]; + fin >> tangent[2]; + } + } + else if(token == "TangentAtVertices") { + int ntangents; + fin >> ntangents; + int vert; + int tangent; + for(auto k : Range(ntangents)) { + fin >> tangent; + fin >> vert; + } + } + else if(token == "Ridges") { + int nridges; + fin >> nridges; + int ridge; + for(auto k : Range(nridges)) { + fin >> ridge; + } + } else { + cout << "unknown token " << token << endl; int nitems; fin >> nitems; string s;