From 6850a6554fd1c1a54821b9be430a7bb0ce528ba0 Mon Sep 17 00:00:00 2001 From: Jonathan Lambrechts <jonathan.lambrechts@uclouvain.be> Date: Mon, 14 Sep 2020 15:58:32 +0200 Subject: [PATCH] lcCallback as a std::function --- Common/Context.h | 3 ++- Common/gmsh.cpp | 4 ++-- Mesh/BackgroundMeshTools.cpp | 2 +- api/GenApi.py | 5 +++-- api/gmsh.h | 3 ++- api/gmsh.h_cwrap | 2 +- doc/texinfo/api.texi | 34 ++++++++++++++++++---------------- 7 files changed, 29 insertions(+), 24 deletions(-) diff --git a/Common/Context.h b/Common/Context.h index 7e65023c8f..be37c91c14 100644 --- a/Common/Context.h +++ b/Common/Context.h @@ -9,6 +9,7 @@ #include <vector> #include <map> #include <string> +#include <functional> #define NUM_SOLVERS 10 @@ -42,7 +43,7 @@ struct contextMeshOptions { int renumber, compoundClassify, reparamMaxTriangles; double compoundLcFactor; unsigned int randomSeed; - double (*lcCallback)(int dim, int tag, double x, double y, double z); + std::function<double(int,int,double,double,double)> lcCallback; // mesh IO int fileFormat, firstElementTag, firstNodeTag; double mshFileVersion, medFileMinorVersion, scalingFactor; diff --git a/Common/gmsh.cpp b/Common/gmsh.cpp index 293bfc8d49..c8f79f32ff 100644 --- a/Common/gmsh.cpp +++ b/Common/gmsh.cpp @@ -4200,7 +4200,7 @@ GMSH_API void gmsh::model::mesh::setSizeAtParametricPoints( } GMSH_API void gmsh::model::mesh::setSizeCallback( - double (*callback)(int dim, int tag, double x, double y, double z)) + std::function<double(int,int,double,double,double)> callback) { _checkInit(); CTX::instance()->mesh.lcCallback = callback; @@ -4209,7 +4209,7 @@ GMSH_API void gmsh::model::mesh::setSizeCallback( GMSH_API void gmsh::model::mesh::removeSizeCallback() { _checkInit(); - CTX::instance()->mesh.lcCallback = NULL; + CTX::instance()->mesh.lcCallback = nullptr; } GMSH_API void diff --git a/Mesh/BackgroundMeshTools.cpp b/Mesh/BackgroundMeshTools.cpp index 80bdc77098..77861aefcd 100644 --- a/Mesh/BackgroundMeshTools.cpp +++ b/Mesh/BackgroundMeshTools.cpp @@ -237,7 +237,7 @@ double BGM_MeshSizeWithoutScaling(GEntity *ge, double U, double V, double X, if(CTX::instance()->mesh.lcCallback) { int dim = (ge ? ge->dim() : -1); int tag = (ge ? ge->tag() : -1); - l6 = (*CTX::instance()->mesh.lcCallback)(dim, tag, X, Y, Z); + l6 = CTX::instance()->mesh.lcCallback(dim, tag, X, Y, Z); } // take the minimum diff --git a/api/GenApi.py b/api/GenApi.py index d132778d5c..e846612b89 100644 --- a/api/GenApi.py +++ b/api/GenApi.py @@ -735,9 +735,9 @@ def iargcargv(): def isizefun(name): a = arg(name, None, None, None, "", "", False) - a.cpp = "double (*" + name + ")(int dim, int tag, double x, double y, double z)" + a.cpp = "std::function<double(int,int,double,double,double)> " + name a.c_arg = name - a.c = a.cpp + a.c = "double (*" + name + ")(int dim, int tag, double x, double y, double z)" a.cwrap_arg = a.c_arg a.python_pre = ("global api_" + name + "_type_\n" + " api_" + name + "_type_ = " + @@ -790,6 +790,7 @@ cpp_header = """// {0} #include <vector> #include <string> #include <utility> +#include <functional> #define {2}_API_VERSION "{4}.{5}" #define {2}_API_VERSION_MAJOR {4} diff --git a/api/gmsh.h b/api/gmsh.h index 5530e7c58a..9c934c6ca8 100644 --- a/api/gmsh.h +++ b/api/gmsh.h @@ -18,6 +18,7 @@ #include <vector> #include <string> #include <utility> +#include <functional> #define GMSH_API_VERSION "4.7" #define GMSH_API_VERSION_MAJOR 4 @@ -1174,7 +1175,7 @@ namespace gmsh { // Top-level functions // Set a global mesh size callback. The callback should take 5 arguments // (`dim', `tag', `x', `y' and `z') and return the value of the mesh size at // coordinates (`x', `y', `z'). - GMSH_API void setSizeCallback(double (*callback)(int dim, int tag, double x, double y, double z)); + GMSH_API void setSizeCallback(std::function<double(int,int,double,double,double)> callback); // gmsh::model::mesh::removeSizeCallback // diff --git a/api/gmsh.h_cwrap b/api/gmsh.h_cwrap index 8963f0e0f0..33bce3441c 100644 --- a/api/gmsh.h_cwrap +++ b/api/gmsh.h_cwrap @@ -1788,7 +1788,7 @@ namespace gmsh { // Top-level functions // Set a global mesh size callback. The callback should take 5 arguments // (`dim', `tag', `x', `y' and `z') and return the value of the mesh size at // coordinates (`x', `y', `z'). - inline void setSizeCallback(double (*callback)(int dim, int tag, double x, double y, double z)) + inline void setSizeCallback(std::function<double(int,int,double,double,double)> callback) { int ierr = 0; gmshModelMeshSetSizeCallback(callback, &ierr); diff --git a/doc/texinfo/api.texi b/doc/texinfo/api.texi index 2604c032c4..3bbb026edc 100644 --- a/doc/texinfo/api.texi +++ b/doc/texinfo/api.texi @@ -505,7 +505,7 @@ overall model. @item Return: integer value @item Examples: -C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L77,x2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L24,x4.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/discrete.cpp#L11,discrete.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L63,edges.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L63,faces.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L74,x2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L23,x4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x5.py#L75,x5.py}, @url{@value{GITLAB-PREFIX}/demos/api/discrete.py#L10,discrete.py}, @url{@value{GITLAB-PREFIX}/demos/api/mesh_from_discrete_curve.py#L11,mesh_from_discrete_curve.py}, ...) +C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L77,x2.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L24,x4.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/discrete.cpp#L11,discrete.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L63,edges.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L63,faces.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L74,x2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L23,x4.py}, @url{@value{GITLAB-PREFIX}/demos/api/discrete.py#L10,discrete.py}, @url{@value{GITLAB-PREFIX}/demos/api/mesh_from_discrete_curve.py#L11,mesh_from_discrete_curve.py}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.py#L9,plugin.py}, ...) @end table @item gmsh/model/removeEntities @@ -622,7 +622,7 @@ coordinates in @code{coord}, concatenated: [p1x, p1y, p1z, p2x, ...]. @item Return: - @item Examples: -C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L91,t2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L87,t2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x5.py#L73,x5.py}, @url{@value{GITLAB-PREFIX}/demos/api/reparamOnFace.py#L21,reparamOnFace.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain_stl.py#L36,terrain_stl.py}) +C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t2.cpp#L91,t2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t2.py#L87,t2.py}, @url{@value{GITLAB-PREFIX}/demos/api/reparamOnFace.py#L21,reparamOnFace.py}, @url{@value{GITLAB-PREFIX}/demos/api/terrain_stl.py#L36,terrain_stl.py}) @end table @item gmsh/model/getDerivative @@ -661,7 +661,7 @@ u, v parametric coordinates on the surface, concatenated: [p1u, p1v, p2u, ...]). @item Return: - @item Examples: -Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x5.py#L38,x5.py}, @url{@value{GITLAB-PREFIX}/demos/api/normals.py#L28,normals.py}) +Python (@url{@value{GITLAB-PREFIX}/demos/api/normals.py#L28,normals.py}) @end table @item gmsh/model/getPrincipalCurvatures @@ -693,7 +693,7 @@ triplets of x, y, z components, concatenated: [n1x, n1y, n1z, n2x, ...]. @item Return: - @item Examples: -Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x5.py#L36,x5.py}, @url{@value{GITLAB-PREFIX}/demos/api/normals.py#L26,normals.py}) +Python (@url{@value{GITLAB-PREFIX}/demos/api/normals.py#L26,normals.py}) @end table @item gmsh/model/getParametrization @@ -725,7 +725,7 @@ entity of dimension @code{dim} and tag @code{tag}. @item Return: - @item Examples: -Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x5.py#L70,x5.py}, @url{@value{GITLAB-PREFIX}/demos/api/reparamOnFace.py#L18,reparamOnFace.py}) +Python (@url{@value{GITLAB-PREFIX}/demos/api/reparamOnFace.py#L18,reparamOnFace.py}) @end table @item gmsh/model/isInside @@ -780,7 +780,7 @@ subset of entities, depending on the underyling geometrical representation. @item Return: - @item Examples: -Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x5.py#L72,x5.py}, @url{@value{GITLAB-PREFIX}/demos/api/reparamOnFace.py#L20,reparamOnFace.py}) +Python (@url{@value{GITLAB-PREFIX}/demos/api/reparamOnFace.py#L20,reparamOnFace.py}) @end table @item gmsh/model/setVisibility @@ -866,7 +866,7 @@ Set the @code{x}, @code{y}, @code{z} coordinates of a geometrical point. @item Return: - @item Examples: -C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L78,x2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L75,x2.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x5.py#L76,x5.py}, @url{@value{GITLAB-PREFIX}/demos/api/reparamOnFace.py#L24,reparamOnFace.py}) +C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x2.cpp#L78,x2.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x2.py#L75,x2.py}, @url{@value{GITLAB-PREFIX}/demos/api/reparamOnFace.py#L24,reparamOnFace.py}) @end table @end ftable @@ -1043,7 +1043,7 @@ the entity if @code{dim} >= 0 in order to compute their parametric coordinates). @item Return: - @item Examples: -C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L76,x1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L67,x4.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L80,adapt_mesh.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/explore.cpp#L24,explore.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L70,x1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L62,x4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x5.py#L33,x5.py}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L15,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/explore.py#L20,explore.py}, ...) +C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x1.cpp#L76,x1.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L67,x4.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L80,adapt_mesh.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/explore.cpp#L24,explore.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x1.py#L70,x1.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L62,x4.py}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L15,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/curvemeshsizeparam.py#L41,curvemeshsizeparam.py}, @url{@value{GITLAB-PREFIX}/demos/api/explore.py#L20,explore.py}, ...) @end table @item gmsh/model/mesh/getNodesByElementType @@ -1771,6 +1771,8 @@ entities of dimension 1 (lines) are handled. - @item Return: - +@item Examples: +Python (@url{@value{GITLAB-PREFIX}/demos/api/curvemeshsizeparam.py#L21,curvemeshsizeparam.py}) @end table @item gmsh/model/mesh/setSizeCallback @@ -2389,7 +2391,7 @@ the plane of the circle arc. Return the tag of the circle arc. @item Return: integer value @item Examples: -C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L26,t5.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L119,t5.py}) +C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t5.cpp#L26,t5.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t5.py#L119,t5.py}, @url{@value{GITLAB-PREFIX}/demos/api/curvemeshsizeparam.py#L34,curvemeshsizeparam.py}) @end table @item gmsh/model/geo/addEllipseArc @@ -2423,7 +2425,7 @@ same. Return the tag of the spline curve. @item Return: integer value @item Examples: -C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t12.cpp#L67,t12.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t12.py#L63,t12.py}) +C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t12.cpp#L67,t12.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t12.py#L63,t12.py}, @url{@value{GITLAB-PREFIX}/demos/api/curvemeshsizeparam.py#L55,curvemeshsizeparam.py}) @end table @item gmsh/model/geo/addBSpline @@ -3034,7 +3036,7 @@ arc between the two angles. Return the tag of the circle. @item Return: integer value @item Examples: -C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L25,t19.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L23,t19.py}, @url{@value{GITLAB-PREFIX}/demos/api/closest_point.py#L8,closest_point.py}) +C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t19.cpp#L25,t19.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t19.py#L23,t19.py}, @url{@value{GITLAB-PREFIX}/demos/api/closest_point.py#L8,closest_point.py}, @url{@value{GITLAB-PREFIX}/demos/api/curvemeshsizeparam.py#L18,curvemeshsizeparam.py}) @end table @item gmsh/model/occ/addEllipseArc @@ -3350,7 +3352,7 @@ sphere. @item Return: integer value @item Examples: -C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L53,t16.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L61,t18.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/boolean.cpp#L23,boolean.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L18,faces.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/gui.cpp#L21,gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L47,t16.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L59,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x5.py#L16,x5.py}, @url{@value{GITLAB-PREFIX}/demos/api/boolean.py#L23,boolean.py}, @url{@value{GITLAB-PREFIX}/demos/api/gui.py#L20,gui.py}, ...) +C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L53,t16.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L61,t18.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/boolean.cpp#L23,boolean.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L18,faces.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/gui.cpp#L21,gui.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L47,t16.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L59,t18.py}, @url{@value{GITLAB-PREFIX}/demos/api/boolean.py#L23,boolean.py}, @url{@value{GITLAB-PREFIX}/demos/api/gui.py#L20,gui.py}, @url{@value{GITLAB-PREFIX}/demos/api/normals.py#L6,normals.py}, ...) @end table @item gmsh/model/occ/addBox @@ -3367,7 +3369,7 @@ box. @item Return: integer value @item Examples: -C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L31,t16.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L27,t18.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L60,x4.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/boolean.cpp#L22,boolean.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L16,faces.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L28,t16.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L26,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L57,x4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x5.py#L17,x5.py}, @url{@value{GITLAB-PREFIX}/demos/api/boolean.py#L22,boolean.py}, ...) +C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L31,t16.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L27,t18.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L60,x4.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/boolean.cpp#L22,boolean.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/faces.cpp#L16,faces.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L28,t16.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L26,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L57,x4.py}, @url{@value{GITLAB-PREFIX}/demos/api/boolean.py#L22,boolean.py}, @url{@value{GITLAB-PREFIX}/demos/api/gui.py#L19,gui.py}, ...) @end table @item gmsh/model/occ/addCylinder @@ -3634,7 +3636,7 @@ set. @item Return: - @item Examples: -C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L61,t16.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L75,t18.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L91,t20.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L44,t21.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L23,edges.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L54,t16.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L70,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L73,t20.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L34,t21.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x5.py#L60,x5.py}, ...) +C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t16.cpp#L61,t16.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t18.cpp#L75,t18.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t20.cpp#L91,t20.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/t21.cpp#L44,t21.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/edges.cpp#L23,edges.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t16.py#L54,t16.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t18.py#L70,t18.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t20.py#L73,t20.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/t21.py#L34,t21.py}, @url{@value{GITLAB-PREFIX}/demos/api/bspline_bezier_patches.py#L71,bspline_bezier_patches.py}, ...) @end table @item gmsh/model/occ/translate @@ -3991,7 +3993,7 @@ associate a new tag. Return the view tag. @item Return: integer value @item Examples: -C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t4.cpp#L111,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x3.cpp#L27,x3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L33,x4.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L246,adapt_mesh.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L18,plugin.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t4.py#L119,t4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x3.py#L26,x3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L32,x4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x5.py#L51,x5.py}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L90,adapt_mesh.py}, ...) +C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/t4.cpp#L111,t4.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x3.cpp#L27,x3.cpp}, @url{@value{GITLAB-PREFIX}/tutorial/c++/x4.cpp#L33,x4.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.cpp#L246,adapt_mesh.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/plugin.cpp#L18,plugin.cpp}, ...), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/t4.py#L119,t4.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x3.py#L26,x3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x4.py#L32,x4.py}, @url{@value{GITLAB-PREFIX}/demos/api/adapt_mesh.py#L90,adapt_mesh.py}, @url{@value{GITLAB-PREFIX}/demos/api/normals.py#L41,normals.py}, ...) @end table @item gmsh/view/remove @@ -4135,7 +4137,7 @@ followed by values per node, repeated for each step: [e1x1, ..., e1xn, e1y1, @item Return: - @item Examples: -C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x3.cpp#L55,x3.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/viewlist.cpp#L25,viewlist.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x3.py#L48,x3.py}, @url{@value{GITLAB-PREFIX}/tutorial/python/x5.py#L52,x5.py}, @url{@value{GITLAB-PREFIX}/demos/api/normals.py#L42,normals.py}, @url{@value{GITLAB-PREFIX}/demos/api/view_combine.py#L19,view_combine.py}, @url{@value{GITLAB-PREFIX}/demos/api/viewlist.py#L20,viewlist.py}) +C++ (@url{@value{GITLAB-PREFIX}/tutorial/c++/x3.cpp#L55,x3.cpp}, @url{@value{GITLAB-PREFIX}/demos/api/viewlist.cpp#L25,viewlist.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorial/python/x3.py#L48,x3.py}, @url{@value{GITLAB-PREFIX}/demos/api/normals.py#L42,normals.py}, @url{@value{GITLAB-PREFIX}/demos/api/view_combine.py#L19,view_combine.py}, @url{@value{GITLAB-PREFIX}/demos/api/viewlist.py#L20,viewlist.py}) @end table @item gmsh/view/getListData -- GitLab