From d6777b612e3154767027c5c2d65114d19ee66e8f Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Fri, 13 Jun 2008 21:16:08 +0000 Subject: [PATCH] deal with netgen exceptions --- contrib/Netgen/nglib_addon.cpp | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/contrib/Netgen/nglib_addon.cpp b/contrib/Netgen/nglib_addon.cpp index 51527333fa..8796bd7105 100644 --- a/contrib/Netgen/nglib_addon.cpp +++ b/contrib/Netgen/nglib_addon.cpp @@ -31,7 +31,7 @@ class mystreambuf: public streambuf } else{ if(!strncmp(txt, "ERROR", 5)) - Msg::Fatal(txt); + Msg::Error(txt); else Msg::Info(txt); } @@ -76,11 +76,16 @@ Ng_Result NgAddOn_GenerateVolumeMesh(Ng_Mesh *mesh, double maxh) MeshingParameters mparam; mparam.uselocalh = 1; mparam.maxh = maxh; - - m->CalcLocalH(); - MeshVolume(mparam, *m); - //RemoveIllegalElements(*m); - //OptimizeVolume(mparam, *m); + + try{ + m->CalcLocalH(); + MeshVolume(mparam, *m); + //RemoveIllegalElements(*m); + //OptimizeVolume(mparam, *m); + } + catch(netgen::NgException error){ + return NG_VOLUME_FAILURE; + } return NG_OK; } @@ -93,10 +98,15 @@ Ng_Result NgAddOn_OptimizeVolumeMesh(Ng_Mesh *mesh, double maxh) mparam.uselocalh = 1; mparam.maxh = maxh; - m->CalcLocalH(); - //MeshVolume(mparam, *m); - RemoveIllegalElements(*m); - OptimizeVolume(mparam, *m); + try{ + m->CalcLocalH(); + //MeshVolume(mparam, *m); + RemoveIllegalElements(*m); + OptimizeVolume(mparam, *m); + } + catch(netgen::NgException error){ + return NG_VOLUME_FAILURE; + } return NG_OK; } -- GitLab