Commit e04a35a7 authored by Utkarsh Ayachit's avatar Utkarsh Ayachit Committed by Kitware Robot

Merge topic 'multiblock_inspector_fixes'

a72b4136 Update docs for Multiblock Inspector.
Acked-by: Kitware Robot's avatarKitware Robot <kwrobot@kitware.com>
Reviewed-by: Cory Quammen's avatarCory Quammen <cory.quammen@kitware.com>
Merge-request: !70
parents 0a916d92 a72b4136
Pipeline #72919 passed with stage
......@@ -275,6 +275,7 @@ Once you have a reference to the view, you can then get/set the properties.
\end{python}
\section{Display properties}
\label{sec:DisplayingData:DisplayProperties}
Display properties refers to available parameters that control how data from a
pipeline module is displayed in a view, e.g., choosing to view the output mesh as a
......
RenderViewContextMenu.png hooks-max-size=3619766
This diff is collapsed.
The \ui{Multiblock Inspector} is a panel used to show the block
hierarchy of a multiblock dataset as well as to show and modify block
rendering properties. Block rendering properties include block
visibility, color and opacity. These properties are inherited, so
changing a property for a non-leaf node affects all its children.
Figure~\ref{fig:MultiblockInspector} shows a multiblock dataset with
two blocks colored white and red with opacity for the white block set
to $0.3$. The black square around opacity shows that this property was
overridden. We'll described overridden properties in the next
paragraphs.
Composite datasets~\ref{chapter:UnderstandingData} such as multiblock datasets
and AMR are often encountered when visualizing results from several
scientific simulation codes e.g. OpenFOAM, Exodus, etc. Readers for several of
these simulation file formats support selecting which blocks to read.
Additionally, you may want to control display properties such as visibility, opacity,
and color for individual blocks or subtress. You can use the
\ui{Multiblock Inspector} panel for this.
Figure~\ref{fig:MultiblockInspector} shows the \ui{Multiblock Inspector} showing the
hieararchy from an Exodus dataset. The panel tracks the active source and reflects the
structure for the data produced by the active source. The display properties reflect
their state in the active view.
\begin{figure}[htb]
\begin{center}
......@@ -18,43 +21,48 @@ paragraphs.
\end{figure}
To show or hide a block you have to click on the checkbox next to the
block name. The two column to the right side of the \ui{Multiblock
Inspector} show block colors and opacities. A block color (and
opacity) can be set for all blocks or can be individually overridden
for each block. Block colors can be set for all blocks either by
choosing the color of the entire dataset to be a \ui{Solid Color} or
by using the \ui{vtkBlockColors} field array. Block colors set this
way can be overridden for individual blocks. Blocks usually have many
colors and opacities if the dataset is colored by a point or cell
array. In this case \ui{Multiblock Inspector} shows the color and
opacity for blocks as nil.
block name. Toggling the visibility of a non-leaf block, affects the
visibility of the entire subtree.
The first way of setting block colors and opacities is to color the
entire dataset using a \ui{Solid Color} or to adjust the \ui{Opacity}
in the \ui{Display} properties panel. In this case, all blocks have
the same color and opacity.
The first column reflects the color used for the block. The color for a block
can be specified in multiple ways. First, you can choose to not use any block
specific overrides and simply let the default display properties (Section
~\ref{sec:DisplayingData:DisplayProperties}) affect the
rendering. This is the default behavior. When that is the case for any block,
it is indicated in the color column by an empty dotted circle
\icon{Images/no_color.png}. Second, you can explicitly override the color to use
for a block or a subtree. To do this, simply double click on the color column
next to the block of interest. This will pop up the color chooser dialog.
Explicitly overridden color for a block is indicated by a solid filled circle
icon \icon{Images/explicit_color.png} filled with the selected color.
When an explicit color is set on a non-leaf node, all its children (and their
children) inherit that color unless explicitly overridden. For such nodes that
have a color inherited from their parent, we use the dotted-circle icon filled
with a pattern icon \icon{Images/inherited_color.png}.
If you want to color blocks differently, you can color the dataset
using a special field array of size one called
\ui{vtkBlockColors}. This array is generated by ParaView for a
multiblock dataset. For each block its value is equal to the remainder
of the block index divided by
\ui{BlockColorsDistinctValues}. \ui{BlockColorsDistinctValues} is a
user configurable value accessible in \menu{Edit > Settings... >
General}. If you color by this array a categorical color map is
automatically selected.
The second column reflects the opacity override for the blocks. Similar to
color, the opacity could be simply using value from the display properties
\icon{Images/no_opacity.png}, or explicitly set
\icon{Images/explicit_opacity.png}, or inhertied from parent node
\icon{Images/inherited_opacity.png}.
Finally, block color and opacity can be set by double clicking on the
color or opacity icon. This allows the user to override block colors
that are set as described previously. We provide visual feedback for
overridden colors or opacities by enclosing them in a black square.
\begin{didyouknow}
A context menu associated with a block displayed in the \ui{Multiblock
Inspector} allows you to set the visibility, color and opacity and
to reset these properties to the values set for all blocks. The
context menu, shown in
Figure~\ref{fig:MultiblockInspectorContextMenu}, is activated using a
right click on the block you want to modify.
In most cases with multiblock datasets, ParaView uses the \ui{vtkBlockColors}
array for coloring. This is an array filled with random values so that each
block can be colored using a different color. That makes it easier to visually
see each of the blocks in the view. When in this mode,
the \ui{Multiblock Inspector}'s color column shows the color used for each of
the blocks using the same icon as the one used
for inherited colors i.e. \icon{Images/inherited_color.png}.
\end{didyouknow}
You can change colors and opacities for a specific block by double clicking
on the corresponding icon. This allows setting values one at a time. For
specifying color and opacity overrides for multiple elements, you can select the
items and then right click to get the context menu. The context menu allows you
to change these properties for all the selected items, as shown in
Figure~\ref{fig:MultiblockInspectorContextMenu}.
\begin{figure}[htb]
\begin{center}
......@@ -64,19 +72,26 @@ right click on the block you want to modify.
\end{center}
\end{figure}
Rendering properties for blocks can also be modified directly in the
\ui{Render View} through a context menu. Simply right click on a block
in the scene and a menu will be displayed allowing you modify
rendering properties for the selected block. If several blocks are
selected, the context menu commands will apply to all selected blocks.
Besides using the \ui{Multiblock Inspector} to set color and opacity overrides
for blocks, you can also directly changes these parameters from the \ui{Render
View} itself. Simply right-click in the render view on the block of interest and
you'll get a context menu, Figure~\ref{fig:RenderViewContextMenu}, that allows
changing the block properties and are more.
\begin{figure}[htb]
\begin{center}
\includegraphics[width=0.8\linewidth]{Images/RenderViewContextMenu.png}
\caption{Context menu in \ui{Render View} can be used to change block display
properties.}
\label{fig:RenderViewContextMenu}
\end{center}
\end{figure}
Blocks in a multiblock dataset can be selected in the \ui{Multiblock
Inspector} by selecting the rows listing the blocks. Note that you
can use multiple selection to select several blocks by keeping the
\keys{Ctrl} key pressed and clicking on several rows or by keeping the
\keys{Shift} key pressed and dragging the mouse over the rows you want
to select.
Block selection is synchronized between the \ui{Render View} and in
the \ui{Multiblock Inspector}: a selection in one view is reflected in
the other.
Another useful feature with the \ui{Multiblock Inspector} is selection. If you
simply click on any row in the inspector, you will select the block (or
subtree) and the active view will highlight the selected block(s). Conversely,
if you make a block-based selection in the active
\ui{Render View} using \icon{Images/pqSelectBlock24.png},
you will see the corresponding blocks highlighted in the \ui{Multiblock
Inspector} panel.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment