MATLAB Function Reference Previous page   Next Page

Keep same value for corresponding properties



Use linkprop to maintain the same values for the corresponding properties of different objects.

hlink = linkprop(obj_handles,'PropertyName') maintains the same value for the property PropertyName on all objects whose handles appear in obj_handles. linkprop returns the link object in hlink. See Link Object for more information.

hlink = linkprop(obj_handles,{'PropertyName1','PropertyName2',...}) maintains the same respective values for all properties passed as a cell array on all objects whose handles appear in obj_handles.

Note that the linked properties of all linked objects are updated immediately when linkprop is called. The first object in the list (obj_handles) determines the property values for the rest of the objects.

Link Object

The mechanism to link the properties of different graphics objects is stored in the link object, which is returned by linkprop. Therefore, the link object must exist within the context where you want property linking to occur (such as in the base workspace if users are to interact with the objects from the command line or figure tools).

The following list describes ways to maintain a reference to the link object.

Modifying Link Object

If you want to change either the graphics objects or the properties that are linked, you need to use the link object methods designed for that purpose. These methods are functions that operate only on link objects. To use them, you must first create a link object using linkprop.

Add specified graphics object to the link object's targets.
Remove specified graphics object from the link object's targets.
Add specified property to the linked properties.
Remove specified property from the linked properties.

Method Syntax



This example creates four isosurface graphs of fluid flow data, each displaying a different isovalue. The CameraPosition and CameraUpVector properties of each subplot axes are linked so that the user can rotate all subplots in unison.

After running the example, select Rotate 3D from the figure Tools menu and observe how all subplots rotate together.

The property linking code is in step 3.

  1. Define the data using the flow M-file and specify property values for the isosurface (which is a patch object).
  2. Create four subplot axes and add an isosurface graph to each one. Add a title and set viewing and lighting parameters using a local function (set_view). (subplot, patch, isosurface, title, num2str)
  3. Link the CameraPosition and CameraTarget properties of all subplot axes. Since this example function will have completed execution when the user is rotating the subplots, the link object is stored in the first subplot axes application data. See setappdata for more information on using application data.
  4. The following local function contains viewing and lighting commands issued on each axes. It is called with the creation of each subplot (view, axis, camlight).

Linking an Additional Property

Suppose you want to add the axes PlotBoxAspectRatio to the linked properties in the previous example. You can do this by modifying the link object that is stored in the first subplot axes' application data.

  1. First click the first subplot axes to make it the current axes (since its handle was saved only within the creating function). Then get the link object's handle from application data (getappdata).
  2. Use the addprop method to add a new property to the link object.

Since hlink is a reference to the link object (i.e., not a copy), addprop can change the object that is stored in application data.

See Also

getappdata, linkaxes, setappdata

Previous page  linkaxes linsolve Next page

© 1994-2005 The MathWorks, Inc.