From a162289e8427c9cc347ae20ae2b1e41875dd6e2f Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Tue, 26 Oct 2010 16:23:13 +0000 Subject: [PATCH] better default factory --- Geo/GModel.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp index 1783b3f1d2..c6ad48039e 100644 --- a/Geo/GModel.cpp +++ b/Geo/GModel.cpp @@ -136,9 +136,13 @@ GModel::GModel(std::string name) list.push_back(this); // at the moment we always create (at least an empty) GEO model _createGEOInternals(); + #if defined(HAVE_OCC) - _factory = new OCCFactory(); + setFactory("OpenCASCADE"); +#else + setFactory("Gmsh"); #endif + #if defined(HAVE_MESH) _fields = new FieldManager(); #endif @@ -181,17 +185,17 @@ int GModel::setCurrent(GModel *m) void GModel::setFactory(std::string name) { if(_factory) delete _factory; - _factory = new GeoFactory(); //creates by default a GeoFactory - if(name == "Gmsh") { - _factory = new GeoFactory(); - } - else if(name == "OpenCASCADE"){ + if(name == "OpenCASCADE"){ #if defined(HAVE_OCC) _factory = new OCCFactory(); #else - Msg::Error("Missing OpenCASCADE support"); + Msg::Error("Missing OpenCASCADE support: using Gmsh GEO factory instead"); + _factory = new GeoFactory(); #endif } + else{ + _factory = new GeoFactory(); + } } GModel *GModel::findByName(std::string name) -- GitLab