Merge pull request #3591 from t-bltg/surf_opts
GR: expose surface(...) display options, fix hardcoded constants
This commit is contained in:
commit
3f110d6a6c
@ -1841,22 +1841,25 @@ function gr_draw_contour(series, x, y, z, clims)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function gr_draw_surface(series, x, y, z, clims)
|
function gr_draw_surface(series, x, y, z, clims)
|
||||||
|
e_kwargs = series[:extra_kwargs]
|
||||||
if series[:seriestype] === :surface
|
if series[:seriestype] === :surface
|
||||||
fillalpha = get_fillalpha(series)
|
fillalpha = get_fillalpha(series)
|
||||||
fillcolor = get_fillcolor(series)
|
fillcolor = get_fillcolor(series)
|
||||||
if length(x) == length(y) == length(z)
|
# NOTE: setting nx = 0 or ny = 0 disables GR.gridit interpolation
|
||||||
x, y, z = GR.gridit(x, y, z, 200, 200)
|
nx, ny = get(e_kwargs, :nx, 200), get(e_kwargs, :ny, 200)
|
||||||
|
if length(x) == length(y) == length(z) && nx > 0 && ny > 0
|
||||||
|
x, y, z = GR.gridit(x, y, z, nx, ny)
|
||||||
end
|
end
|
||||||
|
d_opt = get(e_kwargs, :display_option, GR.OPTION_COLORED_MESH)
|
||||||
if (!isnothing(fillalpha) && fillalpha < 1) || alpha(first(fillcolor)) < 1
|
if (!isnothing(fillalpha) && fillalpha < 1) || alpha(first(fillcolor)) < 1
|
||||||
gr_set_transparency(fillcolor, fillalpha)
|
gr_set_transparency(fillcolor, fillalpha)
|
||||||
GR.surface(x, y, z, GR.OPTION_COLORED_MESH)
|
GR.surface(x, y, z, d_opt)
|
||||||
else
|
else
|
||||||
GR.gr3.surface(x, y, z, GR.OPTION_COLORED_MESH)
|
GR.gr3.surface(x, y, z, d_opt)
|
||||||
end
|
end
|
||||||
else # wireframe
|
else # wireframe
|
||||||
GR.setfillcolorind(0)
|
GR.setfillcolorind(0)
|
||||||
GR.surface(x, y, z, GR.OPTION_FILLED_MESH)
|
GR.surface(x, y, z, get(e_kwargs, :display_option, GR.OPTION_FILLED_MESH))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user