diff --git a/Geo/GModel.cpp b/Geo/GModel.cpp index 772ac25ea604daa2ce2b82b6280640bca389113a..a8cccd32978113ae360000ab745cdceb4af3055f 100644 --- a/Geo/GModel.cpp +++ b/Geo/GModel.cpp @@ -84,9 +84,8 @@ GModel::GModel(std::string name) // on-demand _createGEOInternals(); - // FIXME: GModelFactory will be deprecated, replaced by direct interfaces to - // internal CAD data, with an "integer-based" API, easily wrapped in C, Python - // or any other scripting language + // FIXME: GModelFactory is deprecated and will be removed in Gmsh 3.1. You + // should use GEO_Internals or OCC_Internals instead. setFactory("Gmsh"); #if defined(HAVE_MESH) @@ -3239,14 +3238,26 @@ GFace* GModel::addCompoundFace(std::vector<GFace*> faces, int param, int split, #endif } +// FIXME: what follows will be removed in Gmsh 3.1 +static void factoryWarning() +{ + static bool warn = true; + if(warn){ + Msg::Warning("GModelFactory is deprecated and will be removed in Gmsh 3.1"); + warn = false; + } +} + GVertex *GModel::addVertex(double x, double y, double z, double lc) { + factoryWarning(); if(_factory) return _factory->addVertex(this, x, y, z, lc); return 0; } GEdge *GModel::addLine(GVertex *v1, GVertex *v2) { + factoryWarning(); if(_factory) return _factory->addLine(this, v1, v2); return 0; } @@ -3254,6 +3265,7 @@ GEdge *GModel::addLine(GVertex *v1, GVertex *v2) GEdge *GModel::addCircleArcCenter(double x, double y, double z, GVertex *start, GVertex *end) { + factoryWarning(); if(_factory) return _factory->addCircleArc(this, GModelFactory::CENTER_START_END, start, end, SPoint3(x, y, z)); @@ -3262,6 +3274,7 @@ GEdge *GModel::addCircleArcCenter(double x, double y, double z, GVertex *start, GEdge *GModel::addCircleArcCenter(GVertex *start, GVertex *center, GVertex *end) { + factoryWarning(); if(_factory) return _factory->addCircleArc(this, start, center, end); return 0; @@ -3270,6 +3283,7 @@ GEdge *GModel::addCircleArcCenter(GVertex *start, GVertex *center, GVertex *end) GEdge *GModel::addCircleArc3Points(double x, double y, double z, GVertex *start, GVertex *end) { + factoryWarning(); if(_factory) return _factory->addCircleArc(this, GModelFactory::THREE_POINTS, start, end, SPoint3(x, y, z)); @@ -3279,6 +3293,7 @@ GEdge *GModel::addCircleArc3Points(double x, double y, double z, GVertex *start, GEdge *GModel::addBezier(GVertex *start, GVertex *end, std::vector<std::vector<double> > points) { + factoryWarning(); if(_factory) return _factory->addSpline(this, GModelFactory::BEZIER, start, end, points); @@ -3288,6 +3303,7 @@ GEdge *GModel::addBezier(GVertex *start, GVertex *end, GEdge *GModel::addBSpline(GVertex *start, GVertex *end, std::vector<std::vector<double> > points) { + factoryWarning(); if(_factory) return _factory->addSpline(this, GModelFactory::BSPLINE, start, end, points); @@ -3300,6 +3316,7 @@ GEdge *GModel::addNURBS(GVertex *start, GVertex *end, std::vector<double> weights, std::vector<int> mult) { + factoryWarning(); if(_factory) return _factory->addNURBS(this, start,end,points,knots,weights, mult); return 0; @@ -3307,6 +3324,7 @@ GEdge *GModel::addNURBS(GVertex *start, GVertex *end, std::vector<GFace *> GModel::addRuledFaces (std::vector<std::vector<GEdge *> > edges) { + factoryWarning(); std::vector<GFace *> faces; if(_factory) faces = _factory->addRuledFaces(this, edges); @@ -3316,6 +3334,7 @@ std::vector<GFace *> GModel::addRuledFaces (std::vector<std::vector<GEdge *> > e GFace* GModel::addFace (std::vector<GEdge *> edges, std::vector< std::vector<double > > points) { + factoryWarning(); if(_factory) return _factory->addFace(this, edges, points); return 0; @@ -3323,6 +3342,7 @@ GFace* GModel::addFace (std::vector<GEdge *> edges, GFace* GModel::addPlanarFace (std::vector<std::vector<GEdge *> > edges) { + factoryWarning(); if(_factory) return _factory->addPlanarFace(this, edges); return 0; @@ -3330,6 +3350,7 @@ GFace* GModel::addPlanarFace (std::vector<std::vector<GEdge *> > edges) GFace* GModel::addPlanarFace (std::vector<std::vector<GEdgeSigned> > edges) { + factoryWarning(); if(_factory) return _factory->addPlanarFace(this, edges); return 0; @@ -3337,6 +3358,7 @@ GFace* GModel::addPlanarFace (std::vector<std::vector<GEdgeSigned> > edges) GRegion* GModel::addVolume (std::vector<std::vector<GFace *> > faces) { + factoryWarning(); if(_factory) return _factory->addVolume(this, faces); return 0; @@ -3344,6 +3366,7 @@ GRegion* GModel::addVolume (std::vector<std::vector<GFace *> > faces) GFace *GModel::add2Drect(double x0, double y0, double dx, double dy) { + factoryWarning(); if(_factory) return _factory->add2Drect(this, x0, y0, dx, dy); return 0; @@ -3351,6 +3374,7 @@ GFace *GModel::add2Drect(double x0, double y0, double dx, double dy) GFace *GModel::add2Dellips(double xc, double yc, double rx, double ry) { + factoryWarning(); if(_factory) return _factory->add2Dellips(this, xc, yc, rx, ry); return 0; @@ -3359,6 +3383,7 @@ GFace *GModel::add2Dellips(double xc, double yc, double rx, double ry) GEntity *GModel::revolve(GEntity *e, std::vector<double> p1, std::vector<double> p2, double angle) { + factoryWarning(); if(_factory) return _factory->revolve(this, e, p1, p2, angle); return 0; @@ -3366,6 +3391,7 @@ GEntity *GModel::revolve(GEntity *e, std::vector<double> p1, std::vector<double> GEntity *GModel::extrude(GEntity *e, std::vector<double> p1, std::vector<double> p2) { + factoryWarning(); if(_factory) return _factory->extrude(this, e, p1, p2); return 0; @@ -3374,6 +3400,7 @@ GEntity *GModel::extrude(GEntity *e, std::vector<double> p1, std::vector<double> std::vector<GEntity*> GModel::extrudeBoundaryLayer(GEntity *e, int nbLayers, double hLayers, int dir, int view) { + factoryWarning(); if(_factory) return _factory->extrudeBoundaryLayer(this, e, nbLayers,hLayers, dir, view); std::vector<GEntity*> empty; @@ -3382,6 +3409,7 @@ std::vector<GEntity*> GModel::extrudeBoundaryLayer(GEntity *e, int nbLayers, GEntity *GModel::addPipe(GEntity *e, std::vector<GEdge *> edges) { + factoryWarning(); if(_factory) return _factory->addPipe(this,e,edges); return 0; @@ -3389,6 +3417,7 @@ GEntity *GModel::addPipe(GEntity *e, std::vector<GEdge *> edges) GEntity *GModel::addThruSections(std::vector<std::vector<GEdge *> > edges) { + factoryWarning(); if(_factory) return _factory->addThruSections(this,edges); return 0; @@ -3396,6 +3425,7 @@ GEntity *GModel::addThruSections(std::vector<std::vector<GEdge *> > edges) GEntity *GModel::addSphere(double cx, double cy, double cz, double radius) { + factoryWarning(); if(_factory) return _factory->addSphere(this, cx, cy, cz, radius); return 0; } @@ -3403,6 +3433,7 @@ GEntity *GModel::addSphere(double cx, double cy, double cz, double radius) GEntity *GModel::addCylinder(std::vector<double> p1, std::vector<double> p2, double radius) { + factoryWarning(); if(_factory) return _factory->addCylinder(this, p1, p2, radius); return 0; } @@ -3410,18 +3441,21 @@ GEntity *GModel::addCylinder(std::vector<double> p1, std::vector<double> p2, GEntity *GModel::addTorus(std::vector<double> p1, std::vector<double> p2, double radius1, double radius2) { + factoryWarning(); if(_factory) return _factory->addTorus(this, p1, p2, radius1, radius2); return 0; } GEntity *GModel::addBlock(std::vector<double> p1, std::vector<double> p2) { + factoryWarning(); if(_factory) return _factory->addBlock(this, p1, p2); return 0; } GEntity *GModel::add3DBlock(std::vector<double> p1, double dx, double dy, double dz ) { + factoryWarning(); if(_factory) return _factory->add3DBlock(this, p1, dx, dy, dz); return 0; } @@ -3429,17 +3463,20 @@ GEntity *GModel::add3DBlock(std::vector<double> p1, double dx, double dy, double GEntity *GModel::addCone(std::vector<double> p1, std::vector<double> p2, double radius1, double radius2) { + factoryWarning(); if(_factory) return _factory->addCone(this, p1, p2,radius1, radius2); return 0; } void GModel::healGeometry(double tolerance) { + factoryWarning(); if(_factory) _factory->healGeometry(this, tolerance); } GModel *GModel::computeBooleanUnion(GModel *tool, int createNewModel) { + factoryWarning(); if(_factory) return _factory->computeBooleanUnion(this, tool, createNewModel); return 0; @@ -3447,6 +3484,7 @@ GModel *GModel::computeBooleanUnion(GModel *tool, int createNewModel) GModel *GModel::computeBooleanIntersection(GModel *tool, int createNewModel) { + factoryWarning(); if(_factory) return _factory->computeBooleanIntersection(this, tool, createNewModel); return 0; @@ -3454,6 +3492,7 @@ GModel *GModel::computeBooleanIntersection(GModel *tool, int createNewModel) GModel *GModel::computeBooleanDifference(GModel *tool, int createNewModel) { + factoryWarning(); if(_factory) return _factory->computeBooleanDifference(this, tool, createNewModel); return 0; @@ -3461,12 +3500,14 @@ GModel *GModel::computeBooleanDifference(GModel *tool, int createNewModel) void GModel::setPeriodicAllFaces(std::vector<double> FaceTranslationVector) { + factoryWarning(); if(_factory) _factory->setPeriodicAllFaces(this, FaceTranslationVector); } void GModel::setPeriodicPairOfFaces(int numFaceMaster, std::vector<int> EdgeListMaster, int numFaceSlave, std::vector<int> EdgeListSlave) { + factoryWarning(); if(_factory) _factory->setPeriodicPairOfFaces(this, numFaceMaster, EdgeListMaster, numFaceSlave, EdgeListSlave);