diff --git a/api/GenApi.py b/api/GenApi.py index abd1776e1cfb46f10f23f267e6fb0c633b09ac1c..5856e23d8238f3ed5445d13435094bae84a828e2 100644 --- a/api/GenApi.py +++ b/api/GenApi.py @@ -1070,42 +1070,60 @@ cwrap_utils = """ template<typename t> {1}void vector2ptr(const std::vector<t> &v, t **p, size_t *size) {{ - *p = (t*){0}Malloc(sizeof(t) * v.size()); - for(size_t i = 0; i < v.size(); ++i){{ - (*p)[i] = v[i]; + if(p){{ + *p = (t*){0}Malloc(sizeof(t) * v.size()); + for(size_t i = 0; i < v.size(); ++i){{ + (*p)[i] = v[i]; + }} + }} + if(size){{ + *size = v.size(); }} - *size = v.size(); }} {1}void vectorpair2intptr(const {0}::vectorpair &v, int **p, size_t *size) {{ - *p = (int*){0}Malloc(sizeof(int) * v.size() * 2); - for(size_t i = 0; i < v.size(); ++i){{ - (*p)[i * 2 + 0] = v[i].first; - (*p)[i * 2 + 1] = v[i].second; + if(p){{ + *p = (int*){0}Malloc(sizeof(int) * v.size() * 2); + for(size_t i = 0; i < v.size(); ++i){{ + (*p)[i * 2 + 0] = v[i].first; + (*p)[i * 2 + 1] = v[i].second; + }} + }} + if(size){{ + *size = v.size() * 2; }} - *size = v.size() * 2; }} {1}void vectorstring2charptrptr(const std::vector<std::string> &v, char ***p, size_t *size) {{ - *p = (char**){0}Malloc(sizeof(char*) * v.size()); - for(size_t i = 0; i < v.size(); ++i){{ - (*p)[i] = (char*){0}Malloc(sizeof(char) * (v[i].size() + 1)); - for(size_t j = 0; j < v[i].size(); j++) (*p)[i][j] = v[i][j]; - (*p)[i][v[i].size()] = '\\0'; + if(p){{ + *p = (char**){0}Malloc(sizeof(char*) * v.size()); + for(size_t i = 0; i < v.size(); ++i){{ + (*p)[i] = (char*){0}Malloc(sizeof(char) * (v[i].size() + 1)); + for(size_t j = 0; j < v[i].size(); j++) (*p)[i][j] = v[i][j]; + (*p)[i][v[i].size()] = '\\0'; + }} + }} + if(size){{ + *size = v.size(); }} - *size = v.size(); }} template<typename t> {1}void vectorvector2ptrptr(const std::vector<std::vector<t> > &v, t ***p, size_t **size, size_t *sizeSize) {{ - *p = (t**){0}Malloc(sizeof(t*) * v.size()); - *size = (size_t*){0}Malloc(sizeof(size_t) * v.size()); + if(p){{ + *p = (t**){0}Malloc(sizeof(t*) * v.size()); + }} + if(size){{ + *size = (size_t*){0}Malloc(sizeof(size_t) * v.size()); + }} for(size_t i = 0; i < v.size(); ++i) - vector2ptr(v[i], &((*p)[i]), &((*size)[i])); - *sizeSize = v.size(); + vector2ptr(v[i], p?&((*p)[i]):NULL, size?&((*size)[i]):NULL); + if(sizeSize){{ + *sizeSize = v.size(); + }} }} """ diff --git a/api/gmsh.h_cwrap b/api/gmsh.h_cwrap index 8a13954d2cc2a5443bfb2f555a53354207b6300d..31a4d573abc8805bbbda9beb8536ba0cee49a98d 100644 --- a/api/gmsh.h_cwrap +++ b/api/gmsh.h_cwrap @@ -51,42 +51,60 @@ namespace gmsh { template<typename t> inline void vector2ptr(const std::vector<t> &v, t **p, size_t *size) { - *p = (t*)gmshMalloc(sizeof(t) * v.size()); - for(size_t i = 0; i < v.size(); ++i){ - (*p)[i] = v[i]; + if(p){ + *p = (t*)gmshMalloc(sizeof(t) * v.size()); + for(size_t i = 0; i < v.size(); ++i){ + (*p)[i] = v[i]; + } + } + if(size){ + *size = v.size(); } - *size = v.size(); } inline void vectorpair2intptr(const gmsh::vectorpair &v, int **p, size_t *size) { - *p = (int*)gmshMalloc(sizeof(int) * v.size() * 2); - for(size_t i = 0; i < v.size(); ++i){ - (*p)[i * 2 + 0] = v[i].first; - (*p)[i * 2 + 1] = v[i].second; + if(p){ + *p = (int*)gmshMalloc(sizeof(int) * v.size() * 2); + for(size_t i = 0; i < v.size(); ++i){ + (*p)[i * 2 + 0] = v[i].first; + (*p)[i * 2 + 1] = v[i].second; + } + } + if(size){ + *size = v.size() * 2; } - *size = v.size() * 2; } inline void vectorstring2charptrptr(const std::vector<std::string> &v, char ***p, size_t *size) { - *p = (char**)gmshMalloc(sizeof(char*) * v.size()); - for(size_t i = 0; i < v.size(); ++i){ - (*p)[i] = (char*)gmshMalloc(sizeof(char) * (v[i].size() + 1)); - for(size_t j = 0; j < v[i].size(); j++) (*p)[i][j] = v[i][j]; - (*p)[i][v[i].size()] = '\0'; + if(p){ + *p = (char**)gmshMalloc(sizeof(char*) * v.size()); + for(size_t i = 0; i < v.size(); ++i){ + (*p)[i] = (char*)gmshMalloc(sizeof(char) * (v[i].size() + 1)); + for(size_t j = 0; j < v[i].size(); j++) (*p)[i][j] = v[i][j]; + (*p)[i][v[i].size()] = '\0'; + } + } + if(size){ + *size = v.size(); } - *size = v.size(); } template<typename t> inline void vectorvector2ptrptr(const std::vector<std::vector<t> > &v, t ***p, size_t **size, size_t *sizeSize) { - *p = (t**)gmshMalloc(sizeof(t*) * v.size()); - *size = (size_t*)gmshMalloc(sizeof(size_t) * v.size()); + if(p){ + *p = (t**)gmshMalloc(sizeof(t*) * v.size()); + } + if(size){ + *size = (size_t*)gmshMalloc(sizeof(size_t) * v.size()); + } for(size_t i = 0; i < v.size(); ++i) - vector2ptr(v[i], &((*p)[i]), &((*size)[i])); - *sizeSize = v.size(); + vector2ptr(v[i], p?&((*p)[i]):NULL, size?&((*size)[i]):NULL); + if(sizeSize){ + *sizeSize = v.size(); + } } inline void throwLastError() diff --git a/api/gmshc.cpp b/api/gmshc.cpp index 4cabf493566b0caf21235a340314ec3e1a33221e..84947c685f17124814a25f45449f247fc25c177a 100644 --- a/api/gmshc.cpp +++ b/api/gmshc.cpp @@ -24,42 +24,60 @@ GMSH_API void gmshFree(void *p) template<typename t> void vector2ptr(const std::vector<t> &v, t **p, size_t *size) { - *p = (t*)gmshMalloc(sizeof(t) * v.size()); - for(size_t i = 0; i < v.size(); ++i){ - (*p)[i] = v[i]; + if(p){ + *p = (t*)gmshMalloc(sizeof(t) * v.size()); + for(size_t i = 0; i < v.size(); ++i){ + (*p)[i] = v[i]; + } + } + if(size){ + *size = v.size(); } - *size = v.size(); } void vectorpair2intptr(const gmsh::vectorpair &v, int **p, size_t *size) { - *p = (int*)gmshMalloc(sizeof(int) * v.size() * 2); - for(size_t i = 0; i < v.size(); ++i){ - (*p)[i * 2 + 0] = v[i].first; - (*p)[i * 2 + 1] = v[i].second; + if(p){ + *p = (int*)gmshMalloc(sizeof(int) * v.size() * 2); + for(size_t i = 0; i < v.size(); ++i){ + (*p)[i * 2 + 0] = v[i].first; + (*p)[i * 2 + 1] = v[i].second; + } + } + if(size){ + *size = v.size() * 2; } - *size = v.size() * 2; } void vectorstring2charptrptr(const std::vector<std::string> &v, char ***p, size_t *size) { - *p = (char**)gmshMalloc(sizeof(char*) * v.size()); - for(size_t i = 0; i < v.size(); ++i){ - (*p)[i] = (char*)gmshMalloc(sizeof(char) * (v[i].size() + 1)); - for(size_t j = 0; j < v[i].size(); j++) (*p)[i][j] = v[i][j]; - (*p)[i][v[i].size()] = '\0'; + if(p){ + *p = (char**)gmshMalloc(sizeof(char*) * v.size()); + for(size_t i = 0; i < v.size(); ++i){ + (*p)[i] = (char*)gmshMalloc(sizeof(char) * (v[i].size() + 1)); + for(size_t j = 0; j < v[i].size(); j++) (*p)[i][j] = v[i][j]; + (*p)[i][v[i].size()] = '\0'; + } + } + if(size){ + *size = v.size(); } - *size = v.size(); } template<typename t> void vectorvector2ptrptr(const std::vector<std::vector<t> > &v, t ***p, size_t **size, size_t *sizeSize) { - *p = (t**)gmshMalloc(sizeof(t*) * v.size()); - *size = (size_t*)gmshMalloc(sizeof(size_t) * v.size()); + if(p){ + *p = (t**)gmshMalloc(sizeof(t*) * v.size()); + } + if(size){ + *size = (size_t*)gmshMalloc(sizeof(size_t) * v.size()); + } for(size_t i = 0; i < v.size(); ++i) - vector2ptr(v[i], &((*p)[i]), &((*size)[i])); - *sizeSize = v.size(); + vector2ptr(v[i], p?&((*p)[i]):NULL, size?&((*size)[i]):NULL); + if(sizeSize){ + *sizeSize = v.size(); + } } void vectorvectorpair2intptrptr(const std::vector<gmsh::vectorpair > &v, int ***p, size_t **size, size_t *sizeSize) diff --git a/doc/texinfo/api.texi b/doc/texinfo/api.texi index cbc11415b8fdd22931f966a9843a32b5e235cb03..0893dc184705f568628ab49809369cf4316374a6 100644 --- a/doc/texinfo/api.texi +++ b/doc/texinfo/api.texi @@ -1179,7 +1179,7 @@ entities. @item Language-specific definition: @url{@value{GITLAB-PREFIX}/api/gmsh.h#L643,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L551,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1636,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1333,Julia} @item Examples: -Python (@url{@value{GITLAB-PREFIX}/examples/api/naca_boundary_layer_2d.py#L124,naca_boundary_layer_2d.py}, @url{@value{GITLAB-PREFIX}/examples/api/naca_boundary_layer_3d.py#L157,naca_boundary_layer_3d.py}, @url{@value{GITLAB-PREFIX}/examples/api/opt.py#L12,opt.py}) +Python (@url{@value{GITLAB-PREFIX}/examples/api/naca_boundary_layer_2d.py#L124,naca_boundary_layer_2d.py}, @url{@value{GITLAB-PREFIX}/examples/api/naca_boundary_layer_3d.py#L157,naca_boundary_layer_3d.py}, @url{@value{GITLAB-PREFIX}/examples/api/opt.py#L12,opt.py}, @url{@value{GITLAB-PREFIX}/examples/api/tube_boundary_layer.py#L53,tube_boundary_layer.py}) @end table @item gmsh/model/mesh/recombine @@ -1225,7 +1225,7 @@ Set the order of the elements in the mesh of the current model to @code{order}. @item Language-specific definition: @url{@value{GITLAB-PREFIX}/api/gmsh.h#L661,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L564,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1688,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1377,Julia} @item Examples: -C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/x6.cpp#L27,x6.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/x6.py#L27,x6.py}, @url{@value{GITLAB-PREFIX}/examples/api/hybrid_order.py#L18,hybrid_order.py}, @url{@value{GITLAB-PREFIX}/examples/api/naca_boundary_layer_2d.py#L123,naca_boundary_layer_2d.py}, @url{@value{GITLAB-PREFIX}/examples/api/naca_boundary_layer_3d.py#L156,naca_boundary_layer_3d.py}) +C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/x6.cpp#L27,x6.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/x6.py#L27,x6.py}, @url{@value{GITLAB-PREFIX}/examples/api/hybrid_order.py#L18,hybrid_order.py}, @url{@value{GITLAB-PREFIX}/examples/api/naca_boundary_layer_2d.py#L123,naca_boundary_layer_2d.py}, @url{@value{GITLAB-PREFIX}/examples/api/naca_boundary_layer_3d.py#L156,naca_boundary_layer_3d.py}, @url{@value{GITLAB-PREFIX}/examples/api/tube_boundary_layer.py#L52,tube_boundary_layer.py}) @end table @item gmsh/model/mesh/getLastEntityError @@ -1274,7 +1274,7 @@ another entity with a non-empty mesh. @item Language-specific definition: @url{@value{GITLAB-PREFIX}/api/gmsh.h#L681,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L581,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L1743,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L1438,Julia} @item Examples: -Python (@url{@value{GITLAB-PREFIX}/examples/api/copy_mesh.py#L53,copy_mesh.py}, @url{@value{GITLAB-PREFIX}/examples/api/flatten.py#L32,flatten.py}, @url{@value{GITLAB-PREFIX}/examples/api/remesh_partial_move.py#L20,remesh_partial_move.py}) +Python (@url{@value{GITLAB-PREFIX}/examples/api/copy_mesh.py#L53,copy_mesh.py}, @url{@value{GITLAB-PREFIX}/examples/api/flatten.py#L32,flatten.py}) @end table @item gmsh/model/mesh/reverse @@ -3416,7 +3416,7 @@ Add curve loops in the built-in CAD representation based on the curves @item Language-specific definition: @url{@value{GITLAB-PREFIX}/api/gmsh.h#L1926,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1691,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4468,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L3869,Julia} @item Examples: -Python (@url{@value{GITLAB-PREFIX}/examples/api/aneurysm.py#L36,aneurysm.py}) +Python (@url{@value{GITLAB-PREFIX}/examples/api/aneurysm.py#L36,aneurysm.py}, @url{@value{GITLAB-PREFIX}/examples/api/tube_boundary_layer.py#L39,tube_boundary_layer.py}) @end table @item gmsh/model/geo/addPlaneSurface @@ -3589,7 +3589,7 @@ normals (if the view is scalar). @item Language-specific definition: @url{@value{GITLAB-PREFIX}/api/gmsh.h#L2049,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L1805,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L4702,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4065,Julia} @item Examples: -Python (@url{@value{GITLAB-PREFIX}/examples/api/aneurysm.py#L19,aneurysm.py}, @url{@value{GITLAB-PREFIX}/examples/api/naca_boundary_layer_2d.py#L77,naca_boundary_layer_2d.py}, @url{@value{GITLAB-PREFIX}/examples/api/naca_boundary_layer_3d.py#L96,naca_boundary_layer_3d.py}) +Python (@url{@value{GITLAB-PREFIX}/examples/api/aneurysm.py#L19,aneurysm.py}, @url{@value{GITLAB-PREFIX}/examples/api/naca_boundary_layer_2d.py#L77,naca_boundary_layer_2d.py}, @url{@value{GITLAB-PREFIX}/examples/api/naca_boundary_layer_3d.py#L96,naca_boundary_layer_3d.py}, @url{@value{GITLAB-PREFIX}/examples/api/tube_boundary_layer.py#L26,tube_boundary_layer.py}) @end table @item gmsh/model/geo/translate @@ -4197,7 +4197,7 @@ integer value @item Language-specific definition: @url{@value{GITLAB-PREFIX}/api/gmsh.h#L2409,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2120,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5455,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4721,Julia} @item Examples: -C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t19.cpp#L74,t19.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t19.py#L65,t19.py}, @url{@value{GITLAB-PREFIX}/examples/api/bspline_bezier_trimmed.py#L31,bspline_bezier_trimmed.py}, @url{@value{GITLAB-PREFIX}/examples/api/bspline_filling.py#L36,bspline_filling.py}, @url{@value{GITLAB-PREFIX}/examples/api/pipe.py#L21,pipe.py}, @url{@value{GITLAB-PREFIX}/examples/api/trimmed.py#L10,trimmed.py}, ...) +C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t19.cpp#L74,t19.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t19.py#L65,t19.py}, @url{@value{GITLAB-PREFIX}/examples/api/bspline_bezier_trimmed.py#L31,bspline_bezier_trimmed.py}, @url{@value{GITLAB-PREFIX}/examples/api/bspline_filling.py#L36,bspline_filling.py}, @url{@value{GITLAB-PREFIX}/examples/api/pipe.py#L21,pipe.py}, @url{@value{GITLAB-PREFIX}/examples/api/trimmed.py#L10,trimmed.py}) @end table @item gmsh/model/occ/addCurveLoop @@ -4426,7 +4426,7 @@ integer value @item Language-specific definition: @url{@value{GITLAB-PREFIX}/api/gmsh.h#L2578,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2278,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5764,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L4959,Julia} @item Examples: -Python (@url{@value{GITLAB-PREFIX}/examples/api/trimmed.py#L24,trimmed.py}, @url{@value{GITLAB-PREFIX}/examples/api/trimmed_sphere.py#L23,trimmed_sphere.py}) +Python (@url{@value{GITLAB-PREFIX}/examples/api/trimmed.py#L24,trimmed.py}) @end table @item gmsh/model/occ/addSurfaceLoop @@ -4523,7 +4523,7 @@ integer value @item Language-specific definition: @url{@value{GITLAB-PREFIX}/api/gmsh.h#L2644,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2338,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L5898,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5065,Julia} @item Examples: -Python (@url{@value{GITLAB-PREFIX}/examples/api/boolean.py#L23,boolean.py}, @url{@value{GITLAB-PREFIX}/examples/api/gui.py#L24,gui.py}, @url{@value{GITLAB-PREFIX}/examples/api/trimmed_sphere.py#L14,trimmed_sphere.py}) +Python (@url{@value{GITLAB-PREFIX}/examples/api/boolean.py#L23,boolean.py}, @url{@value{GITLAB-PREFIX}/examples/api/gui.py#L24,gui.py}, @url{@value{GITLAB-PREFIX}/examples/api/tube_boundary_layer.py#L14,tube_boundary_layer.py}) @end table @item gmsh/model/occ/addCone @@ -4751,7 +4751,7 @@ Remove the object if @code{removeObject} is set. Remove the tool if @item Language-specific definition: @url{@value{GITLAB-PREFIX}/api/gmsh.h#L2830,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2512,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6245,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5336,Julia} @item Examples: -C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/x5.cpp#L27,x5.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/x5.py#L22,x5.py}, @url{@value{GITLAB-PREFIX}/examples/api/boolean.py#L26,boolean.py}, @url{@value{GITLAB-PREFIX}/examples/api/gui.py#L27,gui.py}) +C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/x5.cpp#L27,x5.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/x5.py#L22,x5.py}, @url{@value{GITLAB-PREFIX}/examples/api/boolean.py#L26,boolean.py}, @url{@value{GITLAB-PREFIX}/examples/api/gui.py#L27,gui.py}, @url{@value{GITLAB-PREFIX}/examples/api/tube_boundary_layer.py#L16,tube_boundary_layer.py}) @end table @item gmsh/model/occ/intersect @@ -4772,7 +4772,7 @@ is set. Remove the tool if @code{removeTool} is set. @item Language-specific definition: @url{@value{GITLAB-PREFIX}/api/gmsh.h#L2846,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2527,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6279,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5376,Julia} @item Examples: -Python (@url{@value{GITLAB-PREFIX}/examples/api/boolean.py#L22,boolean.py}, @url{@value{GITLAB-PREFIX}/examples/api/gui.py#L23,gui.py}, @url{@value{GITLAB-PREFIX}/examples/api/trimmed_sphere.py#L15,trimmed_sphere.py}) +Python (@url{@value{GITLAB-PREFIX}/examples/api/boolean.py#L22,boolean.py}, @url{@value{GITLAB-PREFIX}/examples/api/gui.py#L23,gui.py}) @end table @item gmsh/model/occ/cut @@ -4953,7 +4953,7 @@ dimension 0. @item Language-specific definition: @url{@value{GITLAB-PREFIX}/api/gmsh.h#L2968,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2638,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6532,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5623,Julia} @item Examples: -C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t19.cpp#L86,t19.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t20.cpp#L91,t20.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t19.py#L77,t19.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t20.py#L73,t20.py}, @url{@value{GITLAB-PREFIX}/examples/api/pipe.py#L31,pipe.py}, @url{@value{GITLAB-PREFIX}/examples/api/trimmed.py#L28,trimmed.py}, @url{@value{GITLAB-PREFIX}/examples/api/trimmed_sphere.py#L11,trimmed_sphere.py}) +C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t19.cpp#L86,t19.cpp}, @url{@value{GITLAB-PREFIX}/tutorials/c++/t20.cpp#L91,t20.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t19.py#L77,t19.py}, @url{@value{GITLAB-PREFIX}/tutorials/python/t20.py#L73,t20.py}, @url{@value{GITLAB-PREFIX}/examples/api/pipe.py#L31,pipe.py}, @url{@value{GITLAB-PREFIX}/examples/api/trimmed.py#L28,trimmed.py}, @url{@value{GITLAB-PREFIX}/examples/api/tube_boundary_layer.py#L17,tube_boundary_layer.py}) @end table @item gmsh/model/occ/removeAllDuplicates @@ -4971,7 +4971,7 @@ fragments) all highest dimensional entities. @item Language-specific definition: @url{@value{GITLAB-PREFIX}/api/gmsh.h#L2976,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2645,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6551,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5641,Julia} @item Examples: -Python (@url{@value{GITLAB-PREFIX}/examples/api/bspline_bezier_patches.py#L75,bspline_bezier_patches.py}, @url{@value{GITLAB-PREFIX}/examples/api/compsolid.py#L7,compsolid.py}, @url{@value{GITLAB-PREFIX}/examples/api/hybrid_order.py#L7,hybrid_order.py}, @url{@value{GITLAB-PREFIX}/examples/api/stl_to_mesh.py#L11,stl_to_mesh.py}, @url{@value{GITLAB-PREFIX}/examples/api/trimmed_sphere.py#L27,trimmed_sphere.py}) +Python (@url{@value{GITLAB-PREFIX}/examples/api/bspline_bezier_patches.py#L75,bspline_bezier_patches.py}, @url{@value{GITLAB-PREFIX}/examples/api/hybrid_order.py#L7,hybrid_order.py}, @url{@value{GITLAB-PREFIX}/examples/api/stl_to_mesh.py#L11,stl_to_mesh.py}) @end table @item gmsh/model/occ/healShapes @@ -5064,7 +5064,7 @@ entities are returned as a vector of (dim, tag) integer pairs. @item Language-specific definition: @url{@value{GITLAB-PREFIX}/api/gmsh.h#L3030,C++}, @url{@value{GITLAB-PREFIX}/api/gmshc.h#L2693,C}, @url{@value{GITLAB-PREFIX}/api/gmsh.py#L6668,Python}, @url{@value{GITLAB-PREFIX}/api/gmsh.jl#L5755,Julia} @item Examples: -C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t20.cpp#L90,t20.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t20.py#L73,t20.py}, @url{@value{GITLAB-PREFIX}/examples/api/bspline_bezier_patches.py#L70,bspline_bezier_patches.py}, @url{@value{GITLAB-PREFIX}/examples/api/naca_boundary_layer_3d.py#L71,naca_boundary_layer_3d.py}) +C++ (@url{@value{GITLAB-PREFIX}/tutorials/c++/t20.cpp#L90,t20.cpp}), Python (@url{@value{GITLAB-PREFIX}/tutorials/python/t20.py#L73,t20.py}, @url{@value{GITLAB-PREFIX}/examples/api/bspline_bezier_patches.py#L70,bspline_bezier_patches.py}, @url{@value{GITLAB-PREFIX}/examples/api/naca_boundary_layer_3d.py#L71,naca_boundary_layer_3d.py}, @url{@value{GITLAB-PREFIX}/examples/api/tube_boundary_layer.py#L17,tube_boundary_layer.py}) @end table @item gmsh/model/occ/getEntitiesInBoundingBox