Camera and Property Linking: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
No edit summary
No edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 8: Line 8:


[[Image:Cameralink.png|600px|center]]
[[Image:Cameralink.png|600px|center]]
When Camera Linking, it is possible to enable Interactive View Link, to show part of the first window into the other one. To use this, simply use the same mechanism as linking cameras between two views, just make sure you check the Interactive View Link checkbox.
[[Image:Image08-355x194.png|center]]
[[Image:InteractiveViewLinkExample.png|center]]


==Object (proxy) Linking==
==Object (proxy) Linking==
Line 30: Line 36:
Links can be edited and deleted using the Manage Links dialog (Tools -> Manage Links ...). Select the link you want to edit and them press Edit... or Remove.
Links can be edited and deleted using the Manage Links dialog (Tools -> Manage Links ...). Select the link you want to edit and them press Edit... or Remove.


[[Image:Editlink.png|400px|center]]


==Implementation Overview for Developeres==
==Implementation Overview for Developeres==

Latest revision as of 03:36, 3 February 2017

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.

Cameralink.png

When Camera Linking, it is possible to enable Interactive View Link, to show part of the first window into the other one. To use this, simply use the same mechanism as linking cameras between two views, just make sure you check the Interactive View Link checkbox.


Image08-355x194.png
InteractiveViewLinkExample.png

Object (proxy) Linking

Object linking allows the linking of two pipeline or view object together. If an object has any property with the same name as the other object, 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.

Object links can be created from the Manage Links dialog (Tools -> Manage Links ...). Simply select the name of the link and the two objects and press OK.

Objectlink.png

Property Linking

Property linking allows the linking of individual properties of pipeline objects together. 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 (different number of elements)

Property links can be created from the Manage Links dialog (Tools -> Manage Links ...). First choose "Property link" as the Mode then select the objects and their properties to link and press OK.

Propertylink.png

Editing and Deleting Links

Links can be edited and deleted using the Manage Links dialog (Tools -> Manage Links ...). Select the link you want to edit and them press Edit... or Remove.

Editlink.png

Implementation Overview for Developeres

  • Implemented in 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.