diff --git a/Mesh/3D_Mesh_Netgen.cpp b/Mesh/3D_Mesh_Netgen.cpp index b7d07b09e88781c28732ce027fe5104826d287da..c97d1c932e3a3414011be0940a826ad790b3b56d 100644 --- a/Mesh/3D_Mesh_Netgen.cpp +++ b/Mesh/3D_Mesh_Netgen.cpp @@ -1,4 +1,4 @@ -// $Id: 3D_Mesh_Netgen.cpp,v 1.9 2004-06-30 17:49:51 geuzaine Exp $ +// $Id: 3D_Mesh_Netgen.cpp,v 1.10 2004-06-30 19:51:44 geuzaine Exp $ // // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle // @@ -193,7 +193,8 @@ void Netgen::MeshVolume() mp.maxh = 1; mp.fineness = 1; mp.secondorder = 0; - Ng_GenerateVolumeMesh(_ngmesh, &mp); + //Ng_GenerateVolumeMesh(_ngmesh, &mp); + NgAddOn_GenerateVolumeMesh(_ngmesh, &mp); // does not optimize } void Netgen::TransferVolumeMesh() diff --git a/Netgen/nglib_addon.cpp b/Netgen/nglib_addon.cpp index 3c7d5617f41c7342a8c3659688a40eb66d96748e..8e196fb8e48167fccb8459e0a05f1bccce4444a9 100644 --- a/Netgen/nglib_addon.cpp +++ b/Netgen/nglib_addon.cpp @@ -24,7 +24,10 @@ class mystreambuf: public streambuf // ignore these messages } else{ - Msg(INFO, txt); + if(!strncmp(txt, "ERROR", 5)) + Msg(FATAL, txt); + else + Msg(INFO, txt); } index = 0; return 0; @@ -56,8 +59,26 @@ void NgAddOn_Init () testout = new ofstream ("/dev/null"); } -// optimizes an existing 3D mesh +// generates volume mesh from surface mesh, without optimization +Ng_Result NgAddOn_GenerateVolumeMesh (Ng_Mesh * mesh, Ng_Meshing_Parameters * mp) +{ + Mesh * m = (Mesh*)mesh; + + + MeshingParameters mparam; + mparam.maxh = mp->maxh; + mparam.meshsizefilename = mp->meshsize_filename; + m->CalcLocalH(); + + MeshVolume (mparam, *m); + //RemoveIllegalElements (*m); + //OptimizeVolume (mparam, *m, NULL); + + return NG_OK; +} + +// optimizes an existing 3D mesh Ng_Result NgAddOn_OptimizeVolumeMesh (Ng_Mesh * mesh, Ng_Meshing_Parameters * mp) { Mesh * m = (Mesh*)mesh; diff --git a/Netgen/nglib_addon.h b/Netgen/nglib_addon.h index b8e56d32ef3b3ad8cfa32ba98ff55f7eae06343f..32c39b147fcf9e3765f68760390e324f66a57d8f 100644 --- a/Netgen/nglib_addon.h +++ b/Netgen/nglib_addon.h @@ -2,6 +2,7 @@ #define _NGLIB_ADDON_H_ void NgAddOn_Init(); +Ng_Result NgAddOn_GenerateVolumeMesh(Ng_Mesh * mesh, Ng_Meshing_Parameters * mp); Ng_Result NgAddOn_OptimizeVolumeMesh(Ng_Mesh * mesh, Ng_Meshing_Parameters * mp); #endif