Camera and Property Linking

From KitwarePublic
Revision as of 17:13, 9 September 2008 by Berk (Talk | contribs)

Jump to: navigation, search

During a visualization session, it is sometimes necessary to keep the values of two properties synchronized. For example, you may have two slice filters applied to two separate data sources and you may want the two slice planes to be always the same. This can be accomplished by "linking" the plane of the two filters. There are a few types of links.

  • Camera
  • Proxy
  • Property

Camera Linking

A camera link links cameras from two views together. A change in one, propagates to the other, and vice versa. Camera linking can be quickly established by right clicking in a view and selecting "Link Views..." (make sure not the move the mouse after right clicking as this would zoom instead of bringing the context menu). A popup window is presented with the ability to name the link, and cancel. The link is created when the user clicks on another view.

Proxy Linking

  • Two proxies can be linked together.
  • If a proxy have any property with the same name as the other proxy, those properties will be linked.
    • For example:
      • Two sphere sources will have all of their properties linked.
      • A sphere source and a cylinder source will have only Radius and Center linked.
      • The planes of two clip filters can be linked.

Property Linking

  • Two properties of the same type can be linked.
    • For example:
      • A sphere's Phi Resolution and Theta Resolution can be linked.
      • A cylinder's radius and a sphere's radius can be linked.
      • A cylinder's radius cannot be linked with a sphere's center.

Creating links in ParaView

  • Quick view links can be created by right clicking in a view and selecting "Link Views..." A popup window is presented with the ability to name the link, and cancel. The link is created when the user clicks on another view.
  • Tools -> Manage Links... is a place to manage all types of links.
    • Links can be added/edited/removed.
    • When adding/editing a link, property or object types can be chosen. Views can be selected under the object type.

Implementation Overview

  • Server Manager
    • vtkSMCameraLink, vtkSMPropertyLink, vtkSMProxyLink share a common vtkSMLink base class.
    • vtkSM*Link classes support bi-directional links, with multiple "inputs" and multiple "outputs".
    • If an "input" changes, the values are copied to the "outputs."
  • GUI side
    • All links are bi-directional.
    • All links are between only two objects. In other words, the vtkSM*Link objects have two inputs and two outputs. If it were not bi-directional, it would be one input and one output.
    • Camera linking is called View linking.