diff --git a/api/GenApi.py b/api/GenApi.py index 94d4649a3f21c890b6524f3ea8a353e4f596cf82..409a15fc9a3fcfbff9e03efa5249b1e6ad173eb7 100644 --- a/api/GenApi.py +++ b/api/GenApi.py @@ -758,8 +758,10 @@ def isizefun(name): " api_" + name + "_ = api_" + name + "_type_(lambda dim, tag, x, y, z, _ : " + name + "(dim, tag, x, y, z))") a.python_arg = "api_" + name + "_, None" - a.julia_pre = ("api_" + name + "_ = @cfunction($" + name + - ", Cdouble, (Cint, Cint, Cdouble, Cdouble, Cdouble))") + a.julia_pre = ( + "api_" + name + "__(dim, tag, x, y, z, data) = " + name + "(dim, tag, x, y, z)\n " + + "api_" + name + "_ = @cfunction($api_" + name + "__" + + ", Cdouble, (Cint, Cint, Cdouble, Cdouble, Cdouble, Ptr{Cvoid}))") a.julia_arg = "api_" + name + "_, C_NULL" a.julia_ctype = "Ptr{Cvoid}, Ptr{Cvoid}" return a diff --git a/api/gmsh.jl b/api/gmsh.jl index 96148d4a82013062f139ac62c105b4aa82417615..f466696cfc1d1f4b5400a49aa03f0565632c0695 100644 --- a/api/gmsh.jl +++ b/api/gmsh.jl @@ -2205,7 +2205,8 @@ Set a global mesh size callback. The callback should take 5 arguments (`dim`, (`x`, `y`, `z`). """ function setSizeCallback(callback) - api_callback_ = @cfunction($callback, Cdouble, (Cint, Cint, Cdouble, Cdouble, Cdouble)) + api_callback__(dim, tag, x, y, z, data) = callback(dim, tag, x, y, z) + api_callback_ = @cfunction($api_callback__, Cdouble, (Cint, Cint, Cdouble, Cdouble, Cdouble, Ptr{Cvoid})) ierr = Ref{Cint}() ccall((:gmshModelMeshSetSizeCallback, gmsh.lib), Cvoid, (Ptr{Cvoid}, Ptr{Cvoid}, Ptr{Cint}),