diff --git a/libsrc/general/netgenout.hpp b/libsrc/general/netgenout.hpp index 2338445a..d58e43eb 100644 --- a/libsrc/general/netgenout.hpp +++ b/libsrc/general/netgenout.hpp @@ -9,7 +9,7 @@ extern int id; extern int ntasks; #endif -extern int printmessage_importance; +DLL_HEADER extern int printmessage_importance; diff --git a/libsrc/general/template.hpp b/libsrc/general/template.hpp index 9fb378a7..bb97e99b 100644 --- a/libsrc/general/template.hpp +++ b/libsrc/general/template.hpp @@ -20,7 +20,7 @@ // #include /** output stream for testing. testout is opened by main */ -extern ostream * testout; +DLL_HEADER extern ostream * testout; /** use instead of cout */ extern ostream * mycout; diff --git a/libsrc/include/mydefs.hpp b/libsrc/include/mydefs.hpp index fb01297b..43d61a9d 100644 --- a/libsrc/include/mydefs.hpp +++ b/libsrc/include/mydefs.hpp @@ -24,6 +24,15 @@ #endif +#ifdef WIN32 + #define DLL_HEADER __declspec(dllexport) +#else + #define DLL_HEADER +#endif + + + + #define noDEMOVERSION #define noDEVELOP #define noSTEP diff --git a/libsrc/meshing/classifyhpel.hpp b/libsrc/meshing/classifyhpel.hpp index 75ef84ca..7808d199 100644 --- a/libsrc/meshing/classifyhpel.hpp +++ b/libsrc/meshing/classifyhpel.hpp @@ -1,6 +1,6 @@ HPREF_ELEMENT_TYPE ClassifyTet(HPRefElement & el, INDEX_2_HASHTABLE & edges, INDEX_2_HASHTABLE & edgepoint_dom, - BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE & faces, INDEX_2_HASHTABLE & face_edges, - INDEX_2_HASHTABLE & surf_edges, Array & facepoint) + BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE & faces, INDEX_2_HASHTABLE & face_edges, + INDEX_2_HASHTABLE & surf_edges, Array & facepoint) { int ep1(0), ep2(0), ep3(0), ep4(0), cp1(0), cp2(0), cp3(0), cp4(0), fp1, fp2, fp3, fp4; int isedge1(0), isedge2(0), isedge3(0), isedge4(0), isedge5(0), isedge6(0); @@ -78,10 +78,10 @@ HPREF_ELEMENT_TYPE ClassifyTet(HPRefElement & el, INDEX_2_HASHTABLE & edges INDEX_3 i3(0,0,0); switch (l) { - case 0: i3.I1() = el.pnums[k]; i3.I1() = el.pnums[pi3]; i3.I1() = el.pnums[pi4]; break; - case 1: i3.I1() = el.pnums[j]; i3.I1() = el.pnums[pi3]; i3.I1() = el.pnums[pi4]; break; - case 2: i3.I1() = el.pnums[j]; i3.I1() = el.pnums[k]; i3.I1() = el.pnums[pi4]; break; - case 3: i3.I1() = el.pnums[j]; i3.I1() = el.pnums[k]; i3.I1() = el.pnums[pi3]; break; + case 0: i3.I1() = el.pnums[k]; i3.I1() = el.pnums[pi3]; i3.I1() = el.pnums[pi4]; break; + case 1: i3.I1() = el.pnums[j]; i3.I1() = el.pnums[pi3]; i3.I1() = el.pnums[pi4]; break; + case 2: i3.I1() = el.pnums[j]; i3.I1() = el.pnums[k]; i3.I1() = el.pnums[pi4]; break; + case 3: i3.I1() = el.pnums[j]; i3.I1() = el.pnums[k]; i3.I1() = el.pnums[pi3]; break; } i3.Sort(); if (faces.Used (i3)) @@ -112,12 +112,12 @@ HPREF_ELEMENT_TYPE ClassifyTet(HPRefElement & el, INDEX_2_HASHTABLE & edges INDEX_2 i2(0,0); switch (l) { - case 0: i2.I1() = el.pnums[j]; i2.I2() = el[k]; break; - case 1: i2.I1() = el.pnums[j]; i2.I2() = el.pnums[pi3]; break; - case 2: i2.I1() = el.pnums[j]; i2.I2() = el.pnums[pi4]; break; - case 3: i2.I1() = el.pnums[k]; i2.I2() = el.pnums[pi3]; break; - case 4: i2.I1() = el.pnums[k]; i2.I2() = el.pnums[pi4]; break; - case 5: i2.I1() = el.pnums[pi3]; i2.I2() = el.pnums[pi4]; break; + case 0: i2.I1() = el.pnums[j]; i2.I2() = el[k]; break; + case 1: i2.I1() = el.pnums[j]; i2.I2() = el.pnums[pi3]; break; + case 2: i2.I1() = el.pnums[j]; i2.I2() = el.pnums[pi4]; break; + case 3: i2.I1() = el.pnums[k]; i2.I2() = el.pnums[pi3]; break; + case 4: i2.I1() = el.pnums[k]; i2.I2() = el.pnums[pi4]; break; + case 5: i2.I1() = el.pnums[pi3]; i2.I2() = el.pnums[pi4]; break; } i2.Sort(); if (face_edges.Used (i2)) @@ -314,7 +314,7 @@ HPREF_ELEMENT_TYPE ClassifyTet(HPRefElement & el, INDEX_2_HASHTABLE & edges if (!cp3 && !cp4) type = HP_TET_3EB_0V; if (cp3 && !cp4) - type = HP_TET_3EB_1V; + type = HP_TET_3EB_1V; if (cp3 && cp4) type = HP_TET_3EB_2V; } @@ -423,8 +423,8 @@ HPREF_ELEMENT_TYPE ClassifyTet(HPRefElement & el, INDEX_2_HASHTABLE & edges HPREF_ELEMENT_TYPE ClassifyPrism(HPRefElement & el, INDEX_2_HASHTABLE & edges, INDEX_2_HASHTABLE & edgepoint_dom, - BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE & faces, INDEX_2_HASHTABLE & face_edges, - INDEX_2_HASHTABLE & surf_edges, Array & facepoint) + BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE & faces, INDEX_2_HASHTABLE & face_edges, + INDEX_2_HASHTABLE & surf_edges, Array & facepoint) { HPREF_ELEMENT_TYPE type = HP_NONE; @@ -649,16 +649,16 @@ HPREF_ELEMENT_TYPE ClassifyPrism(HPRefElement & el, INDEX_2_HASHTABLE & edg } /* *testout << " Classified Prism with pnums " << endl; - for(int j=0;j<6;j++) *testout << el.pnums[j] << "\t"; - *testout << endl; - */ + for(int j=0;j<6;j++) *testout << el.pnums[j] << "\t"; + *testout << endl; + */ return(type); } // #ifdef SABINE HPREF_ELEMENT_TYPE ClassifyTrig(HPRefElement & el, INDEX_2_HASHTABLE & edges, INDEX_2_HASHTABLE & edgepoint_dom, - BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE & faces, INDEX_2_HASHTABLE & face_edges, + BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE & faces, INDEX_2_HASHTABLE & face_edges, INDEX_2_HASHTABLE & surf_edges, Array & facepoint, int dim, const FaceDescriptor & fd) { @@ -704,8 +704,8 @@ HPREF_ELEMENT_TYPE ClassifyTrig(HPRefElement & el, INDEX_2_HASHTABLE & edge // if point is on face_edge in next step sing = 2 /* *testout << " pointsing NACH FACEPOints ... FALLS EDGEPOINT UMSETZEN" ; - for (int k=0;k<3;k++) *testout << "\t" << point_sing[p[k]-1] ; - *testout << endl; */ + for (int k=0;k<3;k++) *testout << "\t" << point_sing[p[k]-1] ; + *testout << endl; */ } const ELEMENT_EDGE * eledges = MeshTopology::GetEdges(TRIG); @@ -741,15 +741,15 @@ HPREF_ELEMENT_TYPE ClassifyTrig(HPRefElement & el, INDEX_2_HASHTABLE & edge } /* *testout << " pointsing NACH edges UND FACEEDGES UMSETZEN ... " ; - for (int k=0;k<3;k++) *testout << "\t" << point_sing[p[k]-1] ; - *testout << endl; - */ + for (int k=0;k<3;k++) *testout << "\t" << point_sing[p[k]-1] ; + *testout << endl; + */ } } /* - *testout << " dim " << dim << endl; - *testout << " edgepoint_dom " << edgepoint_dom << endl; - */ + *testout << " dim " << dim << endl; + *testout << " edgepoint_dom " << edgepoint_dom << endl; + */ if(dim==2) { for(int k=0;k<3;k++) @@ -793,77 +793,77 @@ HPREF_ELEMENT_TYPE ClassifyTrig(HPRefElement & el, INDEX_2_HASHTABLE & edge point_sing[p[k]-1] = 3; - if(edge_sing[0] + edge_sing[1] + edge_sing[2] == 0) - { - int ps = point_sing[0] + point_sing[1] + point_sing[2]; + if(edge_sing[0] + edge_sing[1] + edge_sing[2] == 0) + { + int ps = point_sing[0] + point_sing[1] + point_sing[2]; - if(ps==0) - type = HP_TRIG; - else if(point_sing[p[0]-1] && !point_sing[p[1]-1] && !point_sing[p[2]-1]) - type = HP_TRIG_SINGCORNER; - else if(point_sing[p[0]-1] && point_sing[p[1]-1] && !point_sing[p[2]-1]) - type = HP_TRIG_SINGCORNER12; - else if(point_sing[p[0]-1] && point_sing[p[1]-1] && point_sing[p[2]-1]) - { - if(dim==2) type = HP_TRIG_SINGCORNER123_2D; - else type = HP_TRIG_SINGCORNER123; - } - } - else - if (edge_sing[2] && !edge_sing[0] && !edge_sing[1]) //E[2]=(1,2) - { - int code = 0; - if(point_sing[p[0]-1] > edge_sing[2]) code+=1; - if(point_sing[p[1]-1] > edge_sing[2]) code+=2; - if(point_sing[p[2]-1]) code+=4; + if(ps==0) + type = HP_TRIG; + else if(point_sing[p[0]-1] && !point_sing[p[1]-1] && !point_sing[p[2]-1]) + type = HP_TRIG_SINGCORNER; + else if(point_sing[p[0]-1] && point_sing[p[1]-1] && !point_sing[p[2]-1]) + type = HP_TRIG_SINGCORNER12; + else if(point_sing[p[0]-1] && point_sing[p[1]-1] && point_sing[p[2]-1]) + { + if(dim==2) type = HP_TRIG_SINGCORNER123_2D; + else type = HP_TRIG_SINGCORNER123; + } + } + else + if (edge_sing[2] && !edge_sing[0] && !edge_sing[1]) //E[2]=(1,2) + { + int code = 0; + if(point_sing[p[0]-1] > edge_sing[2]) code+=1; + if(point_sing[p[1]-1] > edge_sing[2]) code+=2; + if(point_sing[p[2]-1]) code+=4; - HPREF_ELEMENT_TYPE types[] = - { - HP_TRIG_SINGEDGE, - HP_TRIG_SINGEDGECORNER1, - HP_TRIG_SINGEDGECORNER2, - HP_TRIG_SINGEDGECORNER12, - HP_TRIG_SINGEDGECORNER3, - HP_TRIG_SINGEDGECORNER13, - HP_TRIG_SINGEDGECORNER23, - HP_TRIG_SINGEDGECORNER123, - }; - type = types[code]; + HPREF_ELEMENT_TYPE types[] = + { + HP_TRIG_SINGEDGE, + HP_TRIG_SINGEDGECORNER1, + HP_TRIG_SINGEDGECORNER2, + HP_TRIG_SINGEDGECORNER12, + HP_TRIG_SINGEDGECORNER3, + HP_TRIG_SINGEDGECORNER13, + HP_TRIG_SINGEDGECORNER23, + HP_TRIG_SINGEDGECORNER123, + }; + type = types[code]; - } // E[0] = [0,2], E[1] =[1,2], E[2] = [0,1] - else - if(edge_sing[2] && !edge_sing[1] && edge_sing[0]) - { - if(point_sing[p[2]-1] <= edge_sing[0] ) - { - if(point_sing[p[1]-1]<= edge_sing[2]) type = HP_TRIG_SINGEDGES; - else type = HP_TRIG_SINGEDGES2; - } - else - { - if(point_sing[p[1]-1]<= edge_sing[2]) - type = HP_TRIG_SINGEDGES3; - else type = HP_TRIG_SINGEDGES23; - } - } - else if (edge_sing[2] && edge_sing[1] && edge_sing[0]) - type = HP_TRIG_3SINGEDGES; + } // E[0] = [0,2], E[1] =[1,2], E[2] = [0,1] + else + if(edge_sing[2] && !edge_sing[1] && edge_sing[0]) + { + if(point_sing[p[2]-1] <= edge_sing[0] ) + { + if(point_sing[p[1]-1]<= edge_sing[2]) type = HP_TRIG_SINGEDGES; + else type = HP_TRIG_SINGEDGES2; + } + else + { + if(point_sing[p[1]-1]<= edge_sing[2]) + type = HP_TRIG_SINGEDGES3; + else type = HP_TRIG_SINGEDGES23; + } + } + else if (edge_sing[2] && edge_sing[1] && edge_sing[0]) + type = HP_TRIG_3SINGEDGES; - // cout << " run for " << j << " gives type " << type << endl; - //*testout << " run for " << j << " gives type " << type << endl; - if(type!=HP_NONE) break; + // cout << " run for " << j << " gives type " << type << endl; + //*testout << " run for " << j << " gives type " << type << endl; + if(type!=HP_NONE) break; } for(int k=0;k<3;k++) el[k] = pnums[k]; /*if(type != HP_NONE) - { + { - cout << " TRIG with pnums " << pnums[0] << "\t" << - pnums[1] << "\t" << pnums[2] << endl; - cout << " type " << type << endl; - } + cout << " TRIG with pnums " << pnums[0] << "\t" << + pnums[1] << "\t" << pnums[2] << endl; + cout << " type " << type << endl; + } */ - return(type); + return(type); } #ifdef HPREF_OLD HPREF_ELEMENT_TYPE ClassifyTrig(HPRefElement & el, INDEX_2_HASHTABLE & edges, INDEX_2_HASHTABLE & edgepoint_dom, @@ -895,9 +895,9 @@ HPREF_ELEMENT_TYPE ClassifyTrig(HPRefElement & el, INDEX_2_HASHTABLE & edge ep3 = edgepoint_dom.Used (INDEX_2 (fd.SurfNr(), el.PNumMod(j+2))) || edgepoint_dom.Used (INDEX_2 (-1, el.PNumMod(j+2))); /* - ep1 = edgepoint_dom.Used (INDEX_2 (el.index, el.PNumMod(j))); - ep2 = edgepoint_dom.Used (INDEX_2 (el.index, el.PNumMod(j+1))); - ep3 = edgepoint_dom.Used (INDEX_2 (el.index, el.PNumMod(j+2))); + ep1 = edgepoint_dom.Used (INDEX_2 (el.index, el.PNumMod(j))); + ep2 = edgepoint_dom.Used (INDEX_2 (el.index, el.PNumMod(j+1))); + ep3 = edgepoint_dom.Used (INDEX_2 (el.index, el.PNumMod(j+2))); */ // ep3 = edgepoint_dom.Used (INDEX_2 (mesh.SurfaceElement(i).GetIndex(), el.PNumMod(j+2))); } @@ -975,21 +975,21 @@ HPREF_ELEMENT_TYPE ClassifyTrig(HPRefElement & el, INDEX_2_HASHTABLE & edge // cout << " isedge " << isedge1 << " \t " << isedge2 << " \t " << isedge3 << endl; if (!sing_face) - { - /* - if (!isedge1) { cp1 |= ep1; cp2 |= ep2; } - if (!isedge2) { cp2 |= ep2; cp3 |= ep3; } - if (!isedge3) { cp3 |= ep3; cp1 |= ep1; } - */ - ep1 |= facepoint [el.PNumMod(j)] != 0; - ep2 |= facepoint [el.PNumMod(j+1)] != 0; - ep3 |= facepoint [el.PNumMod(j+2)] != 0; + { + /* + if (!isedge1) { cp1 |= ep1; cp2 |= ep2; } + if (!isedge2) { cp2 |= ep2; cp3 |= ep3; } + if (!isedge3) { cp3 |= ep3; cp1 |= ep1; } + */ + ep1 |= facepoint [el.PNumMod(j)] != 0; + ep2 |= facepoint [el.PNumMod(j+1)] != 0; + ep3 |= facepoint [el.PNumMod(j+2)] != 0; - isedge1 |= face_edges.Used (INDEX_2::Sort (el.PNumMod(j), el.PNumMod(j+1))); - isedge2 |= face_edges.Used (INDEX_2::Sort (el.PNumMod(j+1), el.PNumMod(j+2))); - isedge3 |= face_edges.Used (INDEX_2::Sort (el.PNumMod(j+2), el.PNumMod(j+3))); - } + isedge1 |= face_edges.Used (INDEX_2::Sort (el.PNumMod(j), el.PNumMod(j+1))); + isedge2 |= face_edges.Used (INDEX_2::Sort (el.PNumMod(j+1), el.PNumMod(j+2))); + isedge3 |= face_edges.Used (INDEX_2::Sort (el.PNumMod(j+2), el.PNumMod(j+3))); + } } if(dim ==2) @@ -1022,13 +1022,13 @@ HPREF_ELEMENT_TYPE ClassifyTrig(HPRefElement & el, INDEX_2_HASHTABLE & edge } - /* - cout << " used " << face_edges.Used (INDEX_2::Sort (el.PNumMod(j), el.PNumMod(j+1))) << endl; + /* + cout << " used " << face_edges.Used (INDEX_2::Sort (el.PNumMod(j), el.PNumMod(j+1))) << endl; - cout << " isedge " << isedge1 << " \t " << isedge2 << " \t " << isedge3 << endl; - cout << " ep " << ep1 << "\t" << ep2 << " \t " << ep3 << endl; - cout << " cp " << cp1 << "\t" << cp2 << " \t " << cp3 << endl; - */ + cout << " isedge " << isedge1 << " \t " << isedge2 << " \t " << isedge3 << endl; + cout << " ep " << ep1 << "\t" << ep2 << " \t " << ep3 << endl; + cout << " cp " << cp1 << "\t" << cp2 << " \t " << cp3 << endl; + */ @@ -1046,7 +1046,7 @@ HPREF_ELEMENT_TYPE ClassifyTrig(HPRefElement & el, INDEX_2_HASHTABLE & edge if (ep1 && ep2 && ep3) { if (dim == 2) - type = HP_TRIG_SINGCORNER123_2D; + type = HP_TRIG_SINGCORNER123_2D; else type = HP_TRIG_SINGCORNER123; } @@ -1117,362 +1117,369 @@ HPREF_ELEMENT_TYPE ClassifyTrig(HPRefElement & el, INDEX_2_HASHTABLE & edge for(int k=0;k<3;k++) el[k] = pnums[k]; /*if(type != HP_NONE) - { + { - cout << " TRIG with pnums " << pnums[0] << "\t" << - pnums[1] << "\t" << pnums[2] << endl; - cout << " type " << type << endl; - } + cout << " TRIG with pnums " << pnums[0] << "\t" << + pnums[1] << "\t" << pnums[2] << endl; + cout << " type " << type << endl; + } */ return(type); } #endif HPREF_ELEMENT_TYPE ClassifyQuad(HPRefElement & el, INDEX_2_HASHTABLE & edges, INDEX_2_HASHTABLE & edgepoint_dom, - BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE & faces, INDEX_2_HASHTABLE & face_edges, + BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE & faces, INDEX_2_HASHTABLE & face_edges, INDEX_2_HASHTABLE & surf_edges, Array & facepoint, int dim, const FaceDescriptor & fd) { HPREF_ELEMENT_TYPE type = HP_NONE; int ep1(-1), ep2(-1), ep3(-1), ep4(-1), cp1(-1), cp2(-1), cp3(-1), cp4(-1); - int isedge1, isedge2, isedge3, isedge4; + int isedge1, isedge2, isedge3, isedge4; - for (int j = 1; j <= 4; j++) - { - ep1 = edgepoint.Test (el.PNumMod (j)); - ep2 = edgepoint.Test (el.PNumMod (j+1)); - ep3 = edgepoint.Test (el.PNumMod (j+2)); - ep4 = edgepoint.Test (el.PNumMod (j+3)); + *testout << "edges = " << edges << endl; + + for (int j = 1; j <= 4; j++) + { + ep1 = edgepoint.Test (el.PNumMod (j)); + ep2 = edgepoint.Test (el.PNumMod (j+1)); + ep3 = edgepoint.Test (el.PNumMod (j+2)); + ep4 = edgepoint.Test (el.PNumMod (j+3)); - if (dim == 2) - { - ep1 = edgepoint_dom.Used (INDEX_2 (el.GetIndex(), el.PNumMod(j))); - ep2 = edgepoint_dom.Used (INDEX_2 (el.GetIndex(), el.PNumMod(j+1))); - ep3 = edgepoint_dom.Used (INDEX_2 (el.GetIndex(), el.PNumMod(j+2))); - ep4 = edgepoint_dom.Used (INDEX_2 (el.GetIndex(), el.PNumMod(j+3))); - } + if (dim == 2) + { + ep1 = edgepoint_dom.Used (INDEX_2 (el.GetIndex(), el.PNumMod(j))); + ep2 = edgepoint_dom.Used (INDEX_2 (el.GetIndex(), el.PNumMod(j+1))); + ep3 = edgepoint_dom.Used (INDEX_2 (el.GetIndex(), el.PNumMod(j+2))); + ep4 = edgepoint_dom.Used (INDEX_2 (el.GetIndex(), el.PNumMod(j+3))); + } - cp1 = cornerpoint.Test (el.PNumMod (j)); - cp2 = cornerpoint.Test (el.PNumMod (j+1)); - cp3 = cornerpoint.Test (el.PNumMod (j+2)); - cp4 = cornerpoint.Test (el.PNumMod (j+3)); + cp1 = cornerpoint.Test (el.PNumMod (j)); + cp2 = cornerpoint.Test (el.PNumMod (j+1)); + cp3 = cornerpoint.Test (el.PNumMod (j+2)); + cp4 = cornerpoint.Test (el.PNumMod (j+3)); - ep1 |= cp1; - ep2 |= cp2; - ep3 |= cp3; - ep4 |= cp4; + ep1 |= cp1; + ep2 |= cp2; + ep3 |= cp3; + ep4 |= cp4; - int p[4] = { el.PNumMod (j), el.PNumMod (j+1), el.PNumMod (j+2), el.PNumMod(j+4)}; - //int epp[4] = { ep1, ep2, ep3, ep4}; - int cpp[4] = { cp1, cp2, cp3, cp4}; - for(int k=0;k<0;k++) - { - INDEX_2 i2a=INDEX_2::Sort(p[k], p[(k+1)%4]); - INDEX_2 i2b=INDEX_2::Sort(p[k], p[(k-1)%4]); - if(!edges.Used(i2a) && !edges.Used(i2b)) - cpp[k] = 1; - } - cp1= cpp[0]; cp2=cpp[1]; cp3=cpp[2]; cp4=cpp[3]; + int p[4] = { el.PNumMod (j), el.PNumMod (j+1), el.PNumMod (j+2), el.PNumMod(j+4)}; + //int epp[4] = { ep1, ep2, ep3, ep4}; + int cpp[4] = { cp1, cp2, cp3, cp4}; + for(int k=0;k<0;k++) + { + INDEX_2 i2a=INDEX_2::Sort(p[k], p[(k+1)%4]); + INDEX_2 i2b=INDEX_2::Sort(p[k], p[(k-1)%4]); + if(!edges.Used(i2a) && !edges.Used(i2b)) + cpp[k] = 1; + } + cp1= cpp[0]; cp2=cpp[1]; cp3=cpp[2]; cp4=cpp[3]; - if(dim ==3) - { - INDEX_2 i2; - i2 = INDEX_2(el.PNumMod (j), el.PNumMod (j+1)); - // i2.Sort(); - isedge1 = edges.Used (i2); - i2.Sort(); - if(surf_edges.Used(i2) && surf_edges.Get(i2) != fd.SurfNr()+1 && - (face_edges.Get(i2) == -1 || face_edges.Get(i2) == fd.DomainIn() || face_edges.Get(i2) == fd.DomainOut()) ) - { - isedge1=1; - ep1 = 1; ep2=1; - } - i2 = INDEX_2(el.PNumMod (j+1), el.PNumMod (j+2)); - // i2.Sort(); - isedge2 = edges.Used (i2); - i2.Sort(); - if(surf_edges.Used(i2) && surf_edges.Get(i2) != fd.SurfNr()+1 && - (face_edges.Get(i2) == -1 || face_edges.Get(i2) == fd.DomainIn() || face_edges.Get(i2) == fd.DomainOut()) ) - { - isedge2=1; - ep2=1; ep3=1; - } - i2 = INDEX_2(el.PNumMod (j+2), el.PNumMod (j+3)); - // i2.Sort(); - isedge3 = edges.Used (i2); - i2.Sort(); - if(surf_edges.Used(i2) && surf_edges.Get(i2) != fd.SurfNr()+1 && (face_edges.Get(i2) == -1 || face_edges.Get(i2) == fd.DomainIn() || face_edges.Get(i2) == fd.DomainOut()) ) - { - isedge3=1; - ep3=1; ep4=1; - } - i2 = INDEX_2(el.PNumMod (j+3), el.PNumMod (j+4)); - // i2.Sort(); - isedge4 = edges.Used (i2); - i2.Sort(); - if(surf_edges.Used(i2) && surf_edges.Get(i2) != fd.SurfNr()+1 && - (face_edges.Get(i2) == -1 || face_edges.Get(i2) == fd.DomainIn() || face_edges.Get(i2) == fd.DomainOut()) ) - { - isedge4=1; - ep4=1; ep1=1; - } + if(dim ==3) + { + INDEX_2 i2; + i2 = INDEX_2(el.PNumMod (j), el.PNumMod (j+1)); + // i2.Sort(); + isedge1 = edges.Used (i2); + i2.Sort(); + if(surf_edges.Used(i2) && surf_edges.Get(i2) != fd.SurfNr()+1 && + (face_edges.Get(i2) == -1 || face_edges.Get(i2) == fd.DomainIn() || face_edges.Get(i2) == fd.DomainOut()) ) + { + isedge1=1; + ep1 = 1; ep2=1; + } + i2 = INDEX_2(el.PNumMod (j+1), el.PNumMod (j+2)); + // i2.Sort(); + isedge2 = edges.Used (i2); + i2.Sort(); + if(surf_edges.Used(i2) && surf_edges.Get(i2) != fd.SurfNr()+1 && + (face_edges.Get(i2) == -1 || face_edges.Get(i2) == fd.DomainIn() || face_edges.Get(i2) == fd.DomainOut()) ) + { + isedge2=1; + ep2=1; ep3=1; + } + i2 = INDEX_2(el.PNumMod (j+2), el.PNumMod (j+3)); + // i2.Sort(); + isedge3 = edges.Used (i2); + i2.Sort(); + if(surf_edges.Used(i2) && surf_edges.Get(i2) != fd.SurfNr()+1 && (face_edges.Get(i2) == -1 || face_edges.Get(i2) == fd.DomainIn() || face_edges.Get(i2) == fd.DomainOut()) ) + { + isedge3=1; + ep3=1; ep4=1; + } + i2 = INDEX_2(el.PNumMod (j+3), el.PNumMod (j+4)); + // i2.Sort(); + isedge4 = edges.Used (i2); + i2.Sort(); + if(surf_edges.Used(i2) && surf_edges.Get(i2) != fd.SurfNr()+1 && + (face_edges.Get(i2) == -1 || face_edges.Get(i2) == fd.DomainIn() || face_edges.Get(i2) == fd.DomainOut()) ) + { + isedge4=1; + ep4=1; ep1=1; + } -//MH*********************************************************************************************************** - if(ep1) - if(edgepoint.Test(p[0])) - { - INDEX_2 i2a=INDEX_2::Sort(p[0], p[1]); - INDEX_2 i2b=INDEX_2::Sort(p[0], p[3]); - if(!edges.Used(i2a) && !edges.Used(i2b)) - cp1 = 1; - } - if(ep2) - if(edgepoint.Test(p[1])) - { - INDEX_2 i2a=INDEX_2::Sort(p[0], p[1]); - INDEX_2 i2b=INDEX_2::Sort(p[1], p[2]); - if(!edges.Used(i2a) && !edges.Used(i2b)) - cp2 = 1; - } - if(ep3) - if(edgepoint.Test(p[2])) - { - INDEX_2 i2a=INDEX_2::Sort(p[2], p[1]); - INDEX_2 i2b=INDEX_2::Sort(p[3], p[2]); - if(!edges.Used(i2a) && !edges.Used(i2b)) - cp3 = 1; - } - if(ep4) - if(edgepoint.Test(p[3])) - { - INDEX_2 i2a=INDEX_2::Sort(p[0], p[3]); - INDEX_2 i2b=INDEX_2::Sort(p[3], p[2]); - if(!edges.Used(i2a) && !edges.Used(i2b)) - cp4 = 1; - } -//MH***************************************************************************************************************************** - } - else - { - INDEX_2 i2; - i2 = INDEX_2(el.PNumMod (j), el.PNumMod (j+1)); - i2.Sort(); - isedge1 = edges.Used (i2); - if(isedge1) - { - ep1 = 1; ep2=1; - } - i2 = INDEX_2(el.PNumMod (j+1), el.PNumMod (j+2)); - i2.Sort(); - isedge2 = edges.Used (i2); - if(isedge2) - { - ep2=1; ep3=1; - } - i2 = INDEX_2(el.PNumMod (j+2), el.PNumMod (j+3)); - i2.Sort(); - isedge3 = edges.Used (i2); + //MH*********************************************************************************************************** + if(ep1) + if(edgepoint.Test(p[0])) + { + INDEX_2 i2a=INDEX_2::Sort(p[0], p[1]); + INDEX_2 i2b=INDEX_2::Sort(p[0], p[3]); + if(!edges.Used(i2a) && !edges.Used(i2b)) + cp1 = 1; + } + if(ep2) + if(edgepoint.Test(p[1])) + { + INDEX_2 i2a=INDEX_2::Sort(p[0], p[1]); + INDEX_2 i2b=INDEX_2::Sort(p[1], p[2]); + if(!edges.Used(i2a) && !edges.Used(i2b)) + cp2 = 1; + } + if(ep3) + if(edgepoint.Test(p[2])) + { + INDEX_2 i2a=INDEX_2::Sort(p[2], p[1]); + INDEX_2 i2b=INDEX_2::Sort(p[3], p[2]); + if(!edges.Used(i2a) && !edges.Used(i2b)) + cp3 = 1; + } + if(ep4) + if(edgepoint.Test(p[3])) + { + INDEX_2 i2a=INDEX_2::Sort(p[0], p[3]); + INDEX_2 i2b=INDEX_2::Sort(p[3], p[2]); + if(!edges.Used(i2a) && !edges.Used(i2b)) + cp4 = 1; + } + //MH***************************************************************************************************************************** + } + else + { + INDEX_2 i2; + i2 = INDEX_2(el.PNumMod (j), el.PNumMod (j+1)); + i2.Sort(); + isedge1 = edges.Used (i2); + if(isedge1) + { + ep1 = 1; ep2=1; + } + i2 = INDEX_2(el.PNumMod (j+1), el.PNumMod (j+2)); + i2.Sort(); + isedge2 = edges.Used (i2); + if(isedge2) + { + ep2=1; ep3=1; + } + i2 = INDEX_2(el.PNumMod (j+2), el.PNumMod (j+3)); + i2.Sort(); + isedge3 = edges.Used (i2); - if(isedge3) - { - ep3=1; ep4=1; - } - i2 = INDEX_2(el.PNumMod (j+3), el.PNumMod (j+4)); - i2.Sort(); - isedge4 = edges.Used (i2); - if(isedge4) - { - ep4=1; ep1=1; - } - } + if(isedge3) + { + ep3=1; ep4=1; + } + i2 = INDEX_2(el.PNumMod (j+3), el.PNumMod (j+4)); + i2.Sort(); + isedge4 = edges.Used (i2); + if(isedge4) + { + ep4=1; ep1=1; + } + } - int sumcp = cp1 + cp2 + cp3 + cp4; - int sumep = ep1 + ep2 + ep3 + ep4; - int sumedge = isedge1 + isedge2 + isedge3 + isedge4; + int sumcp = cp1 + cp2 + cp3 + cp4; + int sumep = ep1 + ep2 + ep3 + ep4; + int sumedge = isedge1 + isedge2 + isedge3 + isedge4; - switch (sumedge) - { - case 0: - { - switch (sumep) - { - case 0: - type = HP_QUAD; - break; - case 1: - if (ep1) type = HP_QUAD_SINGCORNER; - break; - case 2: - { - if (ep1 && ep2) type = HP_QUAD_0E_2VA; - if (ep1 && ep3) type = HP_QUAD_0E_2VB; - break; - } - case 3: - if (!ep4) type = HP_QUAD_0E_3V; - break; - case 4: - type = HP_QUAD_0E_4V; - break; - } - break; - } - case 1: - { - if (isedge1) - { - switch (cp1+cp2+ep3+ep4) - { - case 0: - type = HP_QUAD_SINGEDGE; - break; - case 1: - { - if (cp1) type = HP_QUAD_1E_1VA; - if (cp2) type = HP_QUAD_1E_1VB; - if (ep3) type = HP_QUAD_1E_1VC; - if (ep4) type = HP_QUAD_1E_1VD; - break; - } - case 2: - { - if (cp1 && cp2) type = HP_QUAD_1E_2VA; - if (cp1 && ep3) type = HP_QUAD_1E_2VB; - if (cp1 && ep4) type = HP_QUAD_1E_2VC; - if (cp2 && ep3) type = HP_QUAD_1E_2VD; - if (cp2 && ep4) type = HP_QUAD_1E_2VE; - if (ep3 && ep4) type = HP_QUAD_1E_2VF; - break; - } - case 3: - { - if (cp1 && cp2 && ep3) type = HP_QUAD_1E_3VA; - if (cp1 && cp2 && ep4) type = HP_QUAD_1E_3VB; - if (cp1 && ep3 && ep4) type = HP_QUAD_1E_3VC; - if (cp2 && ep3 && ep4) type = HP_QUAD_1E_3VD; - break; - } - case 4: - { - type = HP_QUAD_1E_4V; - break; - } - } - } - break; - } - case 2: - { - if (isedge1 && isedge4) - { - if (!cp2 && !ep3 && !cp4) - type = HP_QUAD_2E; + *testout << "isedge = " << isedge1 << isedge2 << isedge3 << isedge4 << endl; + *testout << "iscp = " << cp1 << cp2 << cp3 << cp4 << endl; + *testout << "isep = " << ep1 << ep2 << ep3 << ep4 << endl; + + switch (sumedge) + { + case 0: + { + switch (sumep) + { + case 0: + type = HP_QUAD; + break; + case 1: + if (ep1) type = HP_QUAD_SINGCORNER; + break; + case 2: + { + if (ep1 && ep2) type = HP_QUAD_0E_2VA; + if (ep1 && ep3) type = HP_QUAD_0E_2VB; + break; + } + case 3: + if (!ep4) type = HP_QUAD_0E_3V; + break; + case 4: + type = HP_QUAD_0E_4V; + break; + } + break; + } + case 1: + { + if (isedge1) + { + switch (cp1+cp2+ep3+ep4) + { + case 0: + type = HP_QUAD_SINGEDGE; + break; + case 1: + { + if (cp1) type = HP_QUAD_1E_1VA; + if (cp2) type = HP_QUAD_1E_1VB; + if (ep3) type = HP_QUAD_1E_1VC; + if (ep4) type = HP_QUAD_1E_1VD; + break; + } + case 2: + { + if (cp1 && cp2) type = HP_QUAD_1E_2VA; + if (cp1 && ep3) type = HP_QUAD_1E_2VB; + if (cp1 && ep4) type = HP_QUAD_1E_2VC; + if (cp2 && ep3) type = HP_QUAD_1E_2VD; + if (cp2 && ep4) type = HP_QUAD_1E_2VE; + if (ep3 && ep4) type = HP_QUAD_1E_2VF; + break; + } + case 3: + { + if (cp1 && cp2 && ep3) type = HP_QUAD_1E_3VA; + if (cp1 && cp2 && ep4) type = HP_QUAD_1E_3VB; + if (cp1 && ep3 && ep4) type = HP_QUAD_1E_3VC; + if (cp2 && ep3 && ep4) type = HP_QUAD_1E_3VD; + break; + } + case 4: + { + type = HP_QUAD_1E_4V; + break; + } + } + } + break; + } + case 2: + { + if (isedge1 && isedge4) + { + if (!cp2 && !ep3 && !cp4) + type = HP_QUAD_2E; - if (cp2 && !ep3 && !cp4) - type = HP_QUAD_2E_1VA; - if (!cp2 && ep3 && !cp4) - type = HP_QUAD_2E_1VB; - if (!cp2 && !ep3 && cp4) - type = HP_QUAD_2E_1VC; + if (cp2 && !ep3 && !cp4) + type = HP_QUAD_2E_1VA; + if (!cp2 && ep3 && !cp4) + type = HP_QUAD_2E_1VB; + if (!cp2 && !ep3 && cp4) + type = HP_QUAD_2E_1VC; - if (cp2 && ep3 && !cp4) - type = HP_QUAD_2E_2VA; - if (cp2 && !ep3 && cp4) - type = HP_QUAD_2E_2VB; - if (!cp2 && ep3 && cp4) - type = HP_QUAD_2E_2VC; + if (cp2 && ep3 && !cp4) + type = HP_QUAD_2E_2VA; + if (cp2 && !ep3 && cp4) + type = HP_QUAD_2E_2VB; + if (!cp2 && ep3 && cp4) + type = HP_QUAD_2E_2VC; - if (cp2 && ep3 && cp4) - type = HP_QUAD_2E_3V; - } - if (isedge1 && isedge3) - { - switch (sumcp) - { - case 0: - type = HP_QUAD_2EB_0V; break; - case 1: - { - if (cp1) type = HP_QUAD_2EB_1VA; - if (cp2) type = HP_QUAD_2EB_1VB; - break; - } - case 2: - { - if (cp1 && cp2) { type = HP_QUAD_2EB_2VA; } - if (cp1 && cp3) { type = HP_QUAD_2EB_2VB; } - if (cp1 && cp4) { type = HP_QUAD_2EB_2VC; } - if (cp2 && cp4) { type = HP_QUAD_2EB_2VD; } - break; - } - case 3: - { - if (cp1 && cp2 && cp3) { type = HP_QUAD_2EB_3VA; } - if (cp1 && cp2 && cp4) { type = HP_QUAD_2EB_3VB; } - break; - } - case 4: - { - type = HP_QUAD_2EB_4V; break; - } - } - } - break; - } + if (cp2 && ep3 && cp4) + type = HP_QUAD_2E_3V; + } + if (isedge1 && isedge3) + { + switch (sumcp) + { + case 0: + type = HP_QUAD_2EB_0V; break; + case 1: + { + if (cp1) type = HP_QUAD_2EB_1VA; + if (cp2) type = HP_QUAD_2EB_1VB; + break; + } + case 2: + { + if (cp1 && cp2) { type = HP_QUAD_2EB_2VA; } + if (cp1 && cp3) { type = HP_QUAD_2EB_2VB; } + if (cp1 && cp4) { type = HP_QUAD_2EB_2VC; } + if (cp2 && cp4) { type = HP_QUAD_2EB_2VD; } + break; + } + case 3: + { + if (cp1 && cp2 && cp3) { type = HP_QUAD_2EB_3VA; } + if (cp1 && cp2 && cp4) { type = HP_QUAD_2EB_3VB; } + break; + } + case 4: + { + type = HP_QUAD_2EB_4V; break; + } + } + } + break; + } - case 3: - { - if (isedge1 && isedge2 && isedge4) - { - if (!cp3 && !cp4) type = HP_QUAD_3E; - if (cp3 && !cp4) type = HP_QUAD_3E_3VA; - if (!cp3 && cp4) type = HP_QUAD_3E_3VB; - if (cp3 && cp4) type = HP_QUAD_3E_4V; - } - break; - } + case 3: + { + if (isedge1 && isedge2 && isedge4) + { + if (!cp3 && !cp4) type = HP_QUAD_3E; + if (cp3 && !cp4) type = HP_QUAD_3E_3VA; + if (!cp3 && cp4) type = HP_QUAD_3E_3VB; + if (cp3 && cp4) type = HP_QUAD_3E_4V; + } + break; + } - case 4: - { - type = HP_QUAD_4E; - break; - } - } + case 4: + { + type = HP_QUAD_4E; + break; + } + } - if (type != HP_NONE) - { - int pnums[4]; - pnums[0] = el.PNumMod (j); - pnums[1] = el.PNumMod (j+1); - pnums[2] = el.PNumMod (j+2); - pnums[3] = el.PNumMod (j+3); - for (int k=0;k<4;k++) el[k] = pnums[k]; + if (type != HP_NONE) + { + int pnums[4]; + pnums[0] = el.PNumMod (j); + pnums[1] = el.PNumMod (j+1); + pnums[2] = el.PNumMod (j+2); + pnums[3] = el.PNumMod (j+3); + for (int k=0;k<4;k++) el[k] = pnums[k]; - /* cout << " QUAD with pnums " << pnums[0] << "\t" << - pnums[1] << "\t" << pnums[2] << "\t" << pnums[3] - << endl << " of type " << type << endl; */ + /* cout << " QUAD with pnums " << pnums[0] << "\t" << + pnums[1] << "\t" << pnums[2] << "\t" << pnums[3] + << endl << " of type " << type << endl; */ - break; - } - } - if (type == HP_NONE) - { - (*testout) << "undefined element" << endl - << "cp = " << cp1 << cp2 << cp3 << cp4 << endl - << "ep = " << ep1 << ep2 << ep3 << ep4 << endl - << "isedge = " << isedge1 << isedge2 << isedge3 - << isedge4 << endl; - } + break; + } + } + if (type == HP_NONE) + { + (*testout) << "undefined element" << endl + << "cp = " << cp1 << cp2 << cp3 << cp4 << endl + << "ep = " << ep1 << ep2 << ep3 << ep4 << endl + << "isedge = " << isedge1 << isedge2 << isedge3 + << isedge4 << endl; + } + *testout << "quad type = " << type << endl; - return(type); + return type; } HPREF_ELEMENT_TYPE ClassifyHex(HPRefElement & el, INDEX_2_HASHTABLE & edges, INDEX_2_HASHTABLE & edgepoint_dom, - BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE & faces, INDEX_2_HASHTABLE & face_edges, - INDEX_2_HASHTABLE & surf_edges, Array & facepoint) + BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE & faces, INDEX_2_HASHTABLE & face_edges, + INDEX_2_HASHTABLE & surf_edges, Array & facepoint) { HPREF_ELEMENT_TYPE type = HP_NONE; @@ -1511,37 +1518,37 @@ HPREF_ELEMENT_TYPE ClassifyHex(HPRefElement & el, INDEX_2_HASHTABLE & edges point_sing[p[l]-1] = 1; for(int k=0;k<12;k++) - { - INDEX_2 i2 = INDEX_2 :: Sort(el.PNum(p[eledges[k][0]-1]),el.PNum(p[eledges[k][1]-1])); - if (edges.Used(i2)) - { - edge_sing[k] = 2; - sedge++; - } - else edge_sing[k] = face_edges.Used(i2); - } + { + INDEX_2 i2 = INDEX_2 :: Sort(el.PNum(p[eledges[k][0]-1]),el.PNum(p[eledges[k][1]-1])); + if (edges.Used(i2)) + { + edge_sing[k] = 2; + sedge++; + } + else edge_sing[k] = face_edges.Used(i2); + } for (int k=0;k<6;k++) - { - INDEX_3 i3; + { + INDEX_3 i3; - INDEX_4 i4 = INDEX_4(el.pnums[p[elfaces[k][0]-1]-1], el.pnums[p[elfaces[k][1]-1]-1], el.pnums[p[elfaces[k][2]-1]-1],el.pnums[p[elfaces[k][3]-1]-1]); - i4.Sort(); - i3 = INDEX_3(i4.I1(), i4.I2(), i4.I3()); + INDEX_4 i4 = INDEX_4(el.pnums[p[elfaces[k][0]-1]-1], el.pnums[p[elfaces[k][1]-1]-1], el.pnums[p[elfaces[k][2]-1]-1],el.pnums[p[elfaces[k][3]-1]-1]); + i4.Sort(); + i3 = INDEX_3(i4.I1(), i4.I2(), i4.I3()); - if (faces.Used (i3)) - { + if (faces.Used (i3)) + { - int domnr = faces.Get(i3); - if (domnr == -1 || domnr == el.GetIndex()) - { - face_sing[k] = 1; - sface++; - } + int domnr = faces.Get(i3); + if (domnr == -1 || domnr == el.GetIndex()) + { + face_sing[k] = 1; + sface++; + } - } - } + } + } if(!sface && !sedge && !spoint) type = HP_HEX; if(!sedge && !spoint) @@ -1560,8 +1567,8 @@ HPREF_ELEMENT_TYPE ClassifyHex(HPRefElement & el, INDEX_2_HASHTABLE & edges for(int l=0;l<8;l++) pnums[l] = el[p[l]-1]; for(int l=0;l<8;l++) el[l] = pnums[l]; /* cout << " HEX with pnums " << pnums[0] << "\t" << - pnums[1] << "\t" << pnums[2] << "\t" << pnums[3] << "\t" << - pnums[4] << "\t" << pnums[5] << endl << " of type " << type << endl; */ + pnums[1] << "\t" << pnums[2] << "\t" << pnums[3] << "\t" << + pnums[4] << "\t" << pnums[5] << endl << " of type " << type << endl; */ break; } } @@ -1571,8 +1578,8 @@ HPREF_ELEMENT_TYPE ClassifyHex(HPRefElement & el, INDEX_2_HASHTABLE & edges } HPREF_ELEMENT_TYPE ClassifySegm(HPRefElement & hpel, INDEX_2_HASHTABLE & edges, INDEX_2_HASHTABLE & edgepoint_dom, - BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE & faces, INDEX_2_HASHTABLE & face_edges, - INDEX_2_HASHTABLE & surf_edges, Array & facepoint) + BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE & faces, INDEX_2_HASHTABLE & face_edges, + INDEX_2_HASHTABLE & surf_edges, Array & facepoint) { int cp1 = cornerpoint.Test (hpel[0]); @@ -1596,7 +1603,7 @@ HPREF_ELEMENT_TYPE ClassifySegm(HPRefElement & hpel, INDEX_2_HASHTABLE & ed if(edges.Used(i2) && !face_edges.Used(i2)) { if(facepoint[hpel[0]]) cp1 = 1; - if(facepoint[hpel[1]]) cp2 = 1; + if(facepoint[hpel[1]]) cp2 = 1; } if (!cp1 && !cp2) @@ -1614,8 +1621,8 @@ HPREF_ELEMENT_TYPE ClassifySegm(HPRefElement & hpel, INDEX_2_HASHTABLE & ed HPREF_ELEMENT_TYPE ClassifyPyramid(HPRefElement & el, INDEX_2_HASHTABLE & edges, INDEX_2_HASHTABLE & edgepoint_dom, - BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE & faces, INDEX_2_HASHTABLE & face_edges, - INDEX_2_HASHTABLE & surf_edges, Array & facepoint) + BitArray & cornerpoint, BitArray & edgepoint, INDEX_3_HASHTABLE & faces, INDEX_2_HASHTABLE & face_edges, + INDEX_2_HASHTABLE & surf_edges, Array & facepoint) { HPREF_ELEMENT_TYPE type = HP_NONE; @@ -1646,7 +1653,7 @@ HPREF_ELEMENT_TYPE ClassifyPyramid(HPRefElement & el, INDEX_2_HASHTABLE & e if(cornerpoint.Test(el.pnums[p[l]])) point_sing[l]=3; - else if(edgepoint.Test(el.pnums[p[l]])) + else if(edgepoint.Test(el.pnums[p[l]])) point_sing[l]=2; else if (facepoint[el.pnums[p[l]]] == -1 || facepoint[el.pnums[p[l]]] == el.GetIndex()) diff --git a/libsrc/meshing/msghandler.cpp b/libsrc/meshing/msghandler.cpp index 79b65fee..91e62fc5 100644 --- a/libsrc/meshing/msghandler.cpp +++ b/libsrc/meshing/msghandler.cpp @@ -3,7 +3,6 @@ namespace netgen { - int printmessage_importance = 5; int printwarnings = 1; int printerrors = 1;