how to use linkprop with custom interactions in appdesigner?
4 views (last 30 days)
Show older comments
I followed the steps here to enable linkprop between two axes in an app, which worked. However, when I try to set the Interactions, the behavior is not what I expect. If I set the Interactions to be rotateInteraction for both axes, I can click+drag to rotate axis 1 (which rotates axis 2) but I can't click+drag to rotate axis 2. If I click axis 2 first, then I can't interact with axis 1. Is this a bug or am I not doing something correctly? Thanks.
properties (Access = private)
ax1 matlab.graphics.axis.Axes
ax2 matlab.graphics.axis.Axes
hlink
end
% Callbacks that handle component events
methods (Access = private)
% Code that executes after component creation
function startupFcn(app)
app.ax1 = axes(app.Panel);
app.ax2 = axes(app.Panel2);
scatter3(app.ax1,1,1,1)
scatter3(app.ax2,1,1,1)
app.ax1.Toolbar = [];
app.ax2.Toolbar = [];
app.ax1.Interactions = [];
app.ax2.Interactions = [];
end
% Button pushed function: RotateButton
function RotateButtonPushed(app, event)
app.ax1.Interactions = [rotateInteraction];
% app.ax2.Interactions = [rotateInteraction];
app.hlink = linkprop([app.ax1,app.ax2],{'CameraUpVector', 'CameraPosition', 'CameraTarget', 'XLim', 'YLim', 'ZLim','Interactions'});
end
% Button pushed function: ZoomButton
function ZoomButtonPushed(app, event)
app.ax1.Interactions = [zoomInteraction];
% app.ax2.Interactions = [zoomInteraction];
% app.hlink = linkprop([app.ax1,app.ax2],{'CameraUpVector', 'CameraPosition', 'CameraTarget', 'XLim', 'YLim', 'ZLim','Interactions'});
end
end
0 Comments
Answers (1)
Kevin Holly
on 2 May 2022
I was able to replicate the same issue with your code.
Is there a reason that you aren't using UIAxes? I was able to get the following to work smoothly using uiaxes in R2021b and R2022a.
linkprop([app.UIAxes,app.UIAxes2],{'CameraUpVector', 'CameraPosition', 'CameraTarget', 'XLim', 'YLim', 'ZLim','Interactions'})
See Also
Categories
Find more on Interactive Control and Callbacks in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!