MATLAB Answers


Issues with zooming using ActionPreCallback ActionPostCallback

Asked by Octavian on 29 Jan 2015
Dear All,
Zooming and rotating 3D a large object (cortex hull) by mouse click leads to a very and slow and choppy object movements in a multiobject figure, despite updated OpenGL drivers and a good 2GB Nvdia card. I tried several things, including trying to switch object visibility to off just during the respective operations. Here is the relevant code snippet:
function demome
Handle=tripatch(cortex,gcf,[.7 .7 .7]);
zoomHandle = zoom;
function zoomStarted(Handle,b)
disp('A zoom is about to occur.');
function zoomEnded(Handle,b)
disp('Zoom ended.');
hold on % for other objects in the figure
I do not get an error, but the figure disappears, and with subsequent demome calls, no figure is displayed. I have to close matlab and restart it to be able to display (briefly) the cortex. I tried the demo in the zoom help to be clear about the obj, evd inputs; here is the demo code and error.
function demo
% Listen to zoom events
h = zoom;
h.ActionPreCallback = @myprecallback;
h.ActionPostCallback = @mypostcallback;
h.Enable = 'on';
function myprecallback(obj,evd)
disp('A zoom is about to occur.');
function mypostcallback(obj,evd)
newLim = evd.Axes.XLim;
msgbox(sprintf('The new X-Limits are [%.2f %.2f].',newLim));
and error:
A zoom is about to occur.
Warning: An error occurred during the mode callback.
> In uitools.uimode.fireActionPostCallback at 14
In C:\Program Files\MATLAB\R2013b\toolbox\matlab\graph2d\zoom.p>local2DButtonUpFcn at 1358
In hgfeval at 63
In uitools.uimode.modeWindowButtonUpFcn at 53
In uitools.uimode.setCallbackFcn>localModeWindowButtonUpFcn at 54
I am lost. I use Matlab 2013b. Thank you for assist, Octavian.


Sign in to comment.

0 Answers