Commit be2aa752 authored by Cory Quammen's avatar Cory Quammen

Additions and updates to the filtering data chapter

parent e825c591
......@@ -429,9 +429,9 @@ in \pvpython.
>>> clip.Scalars = ('POINTS', 'Temp')
>>> clip.Value = 100
# To get available values, use
>>> clip.GetProperty('Scalars').GetAvailable()
\end{python}
\begin{python-no-highlighting}
# As always, to get the list of available properties on
# the clip filter, use help()
>>> help(clip)
......@@ -475,9 +475,7 @@ Help on Plane in module paraview.servermanager object:
class Plane(Proxy)
...
\end{python}
\fixme{Remove formatting from help docs}
\end{python-no-highlighting}
\fixme{Missing GetAvailable API on ArraySelectionProperty. Also the API
to get the available values is terrible. Need to fix it}
......@@ -515,7 +513,7 @@ dataset with 2D elements, the result will be lines.
The properties available on this filter, as well as the way of setting this
filter up, is very similar to the \ui{Clip} filter with a few notable
differences. What remains similar is the set up of the implicit function --
you have similar choices: \ui{Plane}, \ui{Sphere}, and \ui{Box}, as well as the
you have similar choices: \ui{Plane}, \ui{Box}, \ui{Sphere}, and \ui{Cylinder}, as well as the
option to toggle \ui{Crinkle slice} (i.e., to avoid cutting through cells,
pass complete cells from the input dataset that intersects the implicit function).
......@@ -523,8 +521,20 @@ What is different includes the lack of slicing by \ui{Scalar} (for that, you
can use the \ui{Contour} filter) and a new option, \ui{Triangulate the slice}.
Figure~\ref{fig:SliceComparisons}
shows the difference in the generated meshes when various slice properties are
changed.\fixme{add blurb about the difference between this Slice and Slice
representation and when to use which}
changed.
The \ui{Slice} filter is more versatile than the \ui{Slice} representation. First,
the \ui{Slice} representation is available for image datasets only, whereas the
\ui{Slice} filter can be used on any type of 3D dataset. Second, the representation
extracts a subset of the image consisting of a 2D slice oriented in the XY,
YZ, or XZ planes at the image voxel locations while the plane used by the filter
can be placed arbitrarily. Third, since the \ui{Slice} representation always
shows a flat object and lighting may interfere with interpretation of data values
on the slice, lighting is not applied to the \ui{Slice} representation. Lighting
is applied, however, to results from the \ui{Slice} filter. Lastly, the \ui{Slice}
representation may be faster than the filter to update and scrub through different
slices because it does not need to compute the intersection of a plane with cells
in the dataset.
In \paraview, this filter can be created using the
\icon{Images/pqSlice24.png} button on the \ui{Common} filters toolbar, besides the
......@@ -768,8 +778,6 @@ the datasets that they take as input.
\subsection{Glyph}
\label{sec:Glyph}
\fixme{Update for the new Glyph properties.}
\ui{Glyph} is used to place markers or glyphs at point locations in the input
dataset. The glyphs can be oriented or scaled based on vector and
scalar attributes on those points.
......@@ -777,25 +785,19 @@ scalar attributes on those points.
To create this filter in \paraview, you can use the \menu{Filters} menu,
as well as the \icon{Images/pqGlyph24.png}
button on the \ui{Common} filters toolbar. You first select
the type for the glyph using one of the options in \ui{Glyph Type}. The choices
the type of glyph using one of the options in \ui{Glyph Type}. The choices
include \ui{Arrow}, \ui{Sphere}, \ui{Cylinder}, etc. Next, you select the point
arrays to treat as the \ui{Scalars} and the \ui{Vectors}. This selection is then
used when scaling or orienting the glyphs. To orient the glyphs using the
selected \ui{Vectors}, check the \ui{Orient} checkbox.
The \ui{Scale Mode} controls how the glyphs are scaled. The options are as
follows:
\begin{compactitem}
\item \ui{off}: This disables scaling on glyphs based on point arrays.
\item \ui{scalar}: This scales the glyphs using the point array selected using
\ui{Scalars}.
\item \ui{vector}: This scales the glyphs using the magnitude for the point array
selected for \ui{Vectors}.
\item \ui{vector\_components}: This is similar to \ui{vector}; however, instead of
scaling the glyph in all three directions using the magnitude of the vectors,
the scale factor for each direction is obtained from the point array by
treating each component individually.
\end{compactitem}
arrays to use as the \ui{Orientation Array} (selecting \ui{No orientation array}
will result in the glyphs not being oriented). Similarly, you select a point array
to serve as the glyph \ui{Scale Array} (no scaling is performed if \ui{No scale array}
is chosen).
If the \ui{Scale Array} is set to a vector array, the \ui{Vector Scale Mode}
property is available to select which properties of the vector should be used
to transform each glyph. If \ui{Scale by Magnitude} is chosen, then the glyph
at a point will be scaled by the magnitude of the vector at that point. If
\ui{Scale by Components} is chosen, glyphs will be scaled separately in each
dimension by the vector component in that dimension.
\begin{figure}[htb]
\begin{center}
......@@ -806,14 +808,16 @@ follows:
\end{figure}
The \ui{Scale Factor} is used to apply a constant scaling to all the glyphs,
independent of the \ui{Scale Mode}. Choosing a good scale factor depends on
several things including the bounds on the input dataset, the \ui{Scale Mode}
selected, and the range for the array that would affect the glyph scaling
based on \ui{Scale Mode}. You can use the \icon{Images/ReloadButton.png}
independent of the \ui{Scale Array} and \ui{Vector Scale Mode} properties.
Choosing a good scale factor depends on
several things including the bounds on the input dataset, the \ui{Scale Array}
and \ui{Vector Scale Mode} selected, and the range for the array selected as the
\ui{Scale Array}. You can use the \icon{Images/ReloadButton.png}
button next to the \ui{Scale Factor} widget to have \paraview
pick a scale factor value based on the current dataset and selections.
pick a usually reasonable scale factor value based on the current dataset and
scaling properties.
The \ui{Masking} properties allow you to control which points from the input
The \ui{Masking} properties control which points from the input
dataset get glyphed. The \ui{Glyph Mode} controls how points are selected to be
glyphs (Figure~\ref{fig:GlyphModesComparison}). The available options are as follows:
\begin{compactitem}
......@@ -843,14 +847,32 @@ dataset generated by the \ui{Wavelet} source.}
\end{center}
\end{figure}
\fixme{Reference the 3D Glyph representation here as a potentially faster alterative}
\begin{didyouknow}
The \ui{Glyph} representation can be used for many of the same visualizations
where a \ui{Glyph} filter might be used. It may offer faster rendering and consume
less memory than the \ui{Glyph} filter with similar capabilities. In circumstances
where generating a 3D geometry is required, e.g., when exporting glyph geometry
to a file, the \ui{Glyph} filter is required.
\end{didyouknow}
\subsection{Glyph With Custom Source}
\ui{Glyph With Custom Source} is the same as \ui{Glyph}, except that instead of a limited
set of \ui{Glyph Type}, you can select any data source producing a polygonal
dataset (Section~\ref{sec:VTKDataModel:PolyData}) available in the \ui{Pipeline
Browser}.
Browser}. To use this filter, select the data source you wish to glyph in the
\ui{Pipeline Browser} and attach this filter to it. You will be presented a dialog
where you can set the \ui{Input} (which defaults to the source you selected) and
the \ui{Glyph Source}.
\begin{figure}[htb]
\begin{center}
\includegraphics[width=0.4\linewidth]{Images/GlyphWithCustomSourceInputDialog.png}
\caption{Setting the \ui{Input} and \ui{Glyph Source} in the \ui{Glyph With Custom Source}
filter.}
\end{center}
\end{figure}
\subsection{Stream Tracer}
......
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