holdOn edit page

incremental, nesting aware hold on

Description

Switches hold on for the axes ax and returns a guard object. As soon as the guard is deleted - usually when the calling function returns, also in case of an error - the previous hold state is restored. Calls may be nested: only the outermost holdOn actually changes the axes.

Note that the output has to be assigned to a variable. Calling holdOn as a bare statement leaves the guard in ans, where it is released at an unpredictable point - as soon as anything else overwrites ans.

A function that hands out handles to its nested functions - typically as figure callbacks - keeps its whole workspace alive for as long as those handles exist, and with it the guard. Release it explicitly with clear hG in that case.

Syntax

hG = holdOn(ax);            % hold ax until hG is cleared
[hG,washeld] = holdOn(ax);  % also report the previous hold state

Input

ax axes handle(s)

Output

guard @onCleanup object, keep it alive as long as hold is required
washeld logical, was ax held before this call

See also

holdRelease getHoldState copyHoldState

Citing this page. This page is part of the documentation of MTEX, a free and open source MATLAB toolbox for analyzing and modeling crystallographic textures. It was written by The MTEX Developers and is published at https://mtex-toolbox.github.io/holdOn.html. If you use MTEX, or reuse text or figures from this page, in your research, please cite

F. Bachmann, R. Hielscher, H. Schaeben: Texture Analysis with MTEX - Free and Open Source Software Toolbox, Solid State Phenomena 160 (2010), 63-68. 10.4028/www.scientific.net/SSP.160.63

BibTeX
@article{bachmann2010mtex,
  author  = {F. Bachmann and R. Hielscher and H. Schaeben},
  title   = {Texture Analysis with MTEX - Free and Open Source Software Toolbox},
  journal = {Solid State Phenomena},
  volume  = {160},
  pages   = {63-68},
  year    = {2010},
  doi     = {10.4028/www.scientific.net/SSP.160.63},
  url     = {https://doi.org/10.4028/www.scientific.net/SSP.160.63}
}

Other papers describing specific MTEX methods are listed under Publications — please cite the one that best fits your application. The MTEX source code is licensed under the GNU General Public License v2.0; the text and figures of this documentation are licensed under CC BY 4.0, which permits reuse — including by automated systems — provided The MTEX Developers and this page are credited.