Why is my custom plot a scene in Makie.jl

I defined my own recipe for animation in Makie.jl and I wanted to rotate that scene. After a lot of trial and error I tried rotating the plot object, by adding to the method

function plot!(customplot::CustomPlot)
    ...
    y, x = sincos(0.25pi)
    rotate!(customplot, Quaternionf0(x, 0, y, 0))

    customplot
end

For some reason this works, even though customplot is not a Scene or LScene.

Please, can someone explain why? I feel like nothing makes sense at this point.

Could you provide a minimal reproducible example? (i.e, with the definition of customPlot included, etc.

1 Like

no, this is not a bug report

What made you think I was suggesting this is a bug report?

I it easier to figure out something if people can just copy, paste and run and see what exactly were you referring to, but you are not obligated to do it by any means.

1 Like

This is a straight forward question about the API. Why are custom plots defined with the @recipe macro effectively scenes that I can rotate?

This should rotate the plot and not the scene, which seems like what you want? Rotating the scene would be a global operation, so nothing a recipe should be able to do… If this actually rotates the parent scene, it would be a bug :sweat_smile:

I have a 3D scene/plot/situation with some meshes. And I want to rotate what is displayed on my screen. I don’t have any layout beyond that. So I guess rotating the scene or the plot doesnt make a difference (not that I have really understood the difference)

Rotating a scene rotates all sub-scenes and plots in that scene… I’m actually wiring some docs right now about transformations and the scene graph

If I am rotating the plot rather than the scene—how is that possible? It’s not documented anywhere in the manual.

It is quite possible, that things are not always documented in open source projects mainly maintained by volunteers.

You’re lucky though, since by coincidence, I’m currently working in my free time on improving those docs…

4 Likes