Found this old post with a similar problem: Get Zoom Handle for UIAxes/Axes when using App Designer. Apparently, getting a zoom/rotate-handle for a specific figure is not supported in app designer? This would be unfortunate ...
problem with rotate3d's figurehandle in app designer
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello everyone,
i am currently working on an app with lots of figures. Since this app is for touchscreen, I disabled the default interactivity for all figures and created state buttons for each figure which enable/disable the rotate-intaractivity with, for example,:
rotate3d(app.UIAxesFig1,'on');
This works fine.
However, for one of the figures I need an ActionPostCallback for rotate3d. So, following the documentation for rotate3d, I tried:
app.s = surf(app.UIAxesFig1,Fv,Tv,A);
app.h = rotate3d(app.UIAxesFig1);
app.h.ActionPostCallback = @postrotatecallback;
and for the state button:
app.h.Enable = 'on';
I also tried:
app.h = rotate3d(app.s.Parent);
The problem I am facing here is that in the first case (i.e.: rotate3d(app.UIAxesFig1,'on')) the figurehandle for rotate3d object is correctly set to UIAxesFig1.However, when using h = rotate3d(app.UIAxesFig1), the figurehandle is UIAxes, i.e. the whole app-window.
With the wrong figurehandle, h.Enable = 'on' enables the default interactivity for all Axes in the app. And, more importantly, the ActionPostCallback produces an error message.
Clearly, I am missing something and I am hoping somebody might be able to help. Thank you.
Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!