Skip to content

set limits LScene error after a second plot #1789

@lazarusA

Description

@lazarusA

This one works,

using GLMakie
f = Figure()
l = LScene(f[1, 1], limits=Rect3f(Vec3f(0,0,0),Vec3f(1.5, 1.5, 2.5)))
meshscatter!(l, rand(Point3f, 10))
f

however if a second call is done to meshscatter

f = Figure()
l = LScene(f[1, 1], limits=Rect3f(Vec3f(0,0,0),Vec3f(1.5, 1.5, 2.5)))
meshscatter!(l, rand(Point3f, 10); color = :blue)
meshscatter!(l, rand(Point3f, 10); color = :red)
f

we get an error for the second meshscatter call.

ERROR: MethodError: Cannot `convert` an object of type Observable{Any} to an object of type Tuple{Tuple{Float32, Float32}, Tuple{Float32, Float32}, Tuple{Float32, Float32}}
Closest candidates are:
  convert(::Type{T}, ::T) where T<:Tuple at /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/base/essentials.jl:336
  convert(::Type{T}, ::Tuple{Vararg{Any, N}}) where {N, T<:Tuple} at /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/base/essentials.jl:337
  convert(::Type{T}, ::CartesianIndex) where T<:Tuple at /Applications/Julia-1.7.app/Contents/Resources/julia/share/julia/base/multidimensional.jl:137
  ...
Stacktrace:
  [1] cvt1
    @ ./essentials.jl:343 [inlined]
  [2] ntuple
    @ ./ntuple.jl:48 [inlined]
  [3] convert(#unused#::Type{Tuple{Tuple{Tuple{Float32, Float32}, Tuple{Float32, Float32}, Tuple{Float32, Float32}}}}, x::Tuple{Observable{Any}})
    @ Base ./essentials.jl:344
  [4] setproperty!(x::Observable{Tuple{Tuple{Tuple{Float32, Float32}, Tuple{Float32, Float32}, Tuple{Float32, Float32}}}}, f::Symbol, v::Tuple{Observable{Any}})
    @ Base ./Base.jl:43
  [5] setindex!(observable::Observable{Tuple{Tuple{Tuple{Float32, Float32}, Tuple{Float32, Float32}, Tuple{Float32, Float32}}}}, val::Tuple{Observable{Any}})
    @ Observables ~/.julia/packages/Observables/OFj0u/src/Observables.jl:247
  [6] (::Observables.MapUpdater{Makie.var"#142#143"{UnionAll}, Tuple{Tuple{Tuple{Float32, Float32}, Tuple{Float32, Float32}, Tuple{Float32, Float32}}}})(args::Observable{Any})
    @ Observables ~/.julia/packages/Observables/OFj0u/src/Observables.jl:372
  [7] (::Observables.OnUpdate{Observables.MapUpdater{Makie.var"#142#143"{UnionAll}, Tuple{Tuple{Tuple{Float32, Float32}, Tuple{Float32, Float32}, Tuple{Float32, Float32}}}}, Tuple{Observable{Any}}})(#unused#::Observable{Any})
    @ Observables ~/.julia/packages/Observables/OFj0u/src/Observables.jl:334
  [8] #invokelatest#2
    @ ./essentials.jl:716 [inlined]
  [9] invokelatest
    @ ./essentials.jl:714 [inlined]
 [10] notify
    @ ~/.julia/packages/Observables/OFj0u/src/Observables.jl:88 [inlined]
 [11] setindex!(observable::Observable{Any}, val::Observable{Any})
    @ Observables ~/.julia/packages/Observables/OFj0u/src/Observables.jl:248
 [12] setindex!(plot::Combined{Makie.axis3d, Tuple{Tuple{Tuple{Float32, Float32}, Tuple{Float32, Float32}, Tuple{Float32, Float32}}}}, value::Observable{Any}, idx::Int64)
    @ MakieCore ~/.julia/packages/MakieCore/A0hGm/src/attributes.jl:185
 [13] plot!(lscene::LScene, P::Type{MeshScatter}, attributes::Attributes, args::Vector{Point{3, Float32}}; kw_attributes::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ Makie.MakieLayout ~/.julia/packages/Makie/lgPZh/src/makielayout/layoutables/scene.jl:29
 [14] plot!
    @ ~/.julia/packages/Makie/lgPZh/src/makielayout/layoutables/scene.jl:6 [inlined]
 [15] #plot!#725
    @ ~/.julia/packages/Makie/lgPZh/src/makielayout/layoutables/scene.jl:39 [inlined]
 [16] meshscatter!(::LScene, ::Vararg{Any}; attributes::Base.Pairs{Symbol, Symbol, Tuple{Symbol}, NamedTuple{(:color,), Tuple{Symbol}}})
    @ MakieCore ~/.julia/packages/MakieCore/A0hGm/src/recipes.jl:37

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions