Commit 51595d56 authored by Timothee Chabat's avatar Timothee Chabat
Browse files

Add filter ProbeCustomLines and update ProbeLine

The filter vtkProbeLineFilter has been updated so add/update related proxies :
 - ProbeCustomLines act as the Plot Over Line filter but allows for multiple lines and polylines using a 2nd input.
 - ProbeLine has been redefined to follow the new API.
parent 3d2cef3a
......@@ -310,6 +310,7 @@
<Proxy group="filters" name="PolyDataNormals" />
<Proxy group="filters" name="PolyDataTangents" />
<Proxy group="filters" name="ProbeLine" icon=":/pqWidgets/Icons/pqPlotOverLine.svg" />
<Proxy group="filters" name="ProbeCustomLines" />
<Proxy group="filters" name="ProbePoint" icon=":/pqWidgets/Icons/pqProbeLocation.svg" />
<Proxy group="filters" name="ProcessIdScalars" />
<Proxy group="filters" name="ProgrammableAnnotation" icon=":/pqWidgets/Icons/pqProgrammableAnnotation.svg" />
......
......@@ -123,6 +123,180 @@
</DoubleVectorProperty>
<!-- End ProbeLineLegacy -->
</SourceProxy>
<SourceProxy class="vtkLineSource"
label="Line"
name="SimpleLineSource">
<Documentation>Proxy to have an interactive widget controlling a line source
with a resolution of 1. Used for the PlotLine proxy.</Documentation>
<DoubleVectorProperty animateable="1"
command="SetPoint1"
default_values="0.0 0.0 0.0"
name="Point1"
number_of_elements="3"
panel_visibility="default">
<BoundsDomain default_mode="min"
mode="normal"
name="range">
<RequiredProperties>
<Property function="Input"
name="DummyInput" />
</RequiredProperties>
</BoundsDomain>
</DoubleVectorProperty>
<DoubleVectorProperty animateable="1"
command="SetPoint2"
default_values="0.0 0.0 0.0"
name="Point2"
number_of_elements="3"
panel_visibility="default">
<BoundsDomain default_mode="max"
mode="normal"
name="range">
<RequiredProperties>
<Property function="Input"
name="DummyInput" />
</RequiredProperties>
</BoundsDomain>
</DoubleVectorProperty>
<IntVectorProperty command="SetResolution"
default_values="1"
name="Resolution"
number_of_elements="1"
panel_visibility="never">
<IntRangeDomain min="1"
name="range" />
</IntVectorProperty>
<InputProperty is_internal="1" name="DummyInput" />
<PropertyGroup label="Line Parameters" panel_widget="InteractiveLine">
<!-- Necessary to have the interactive widget rendered -->
<Property function="Point1WorldPosition" name="Point1" />
<Property function="Point2WorldPosition" name="Point2" />
<Property function="Input" name="DummyInput" />
</PropertyGroup>
<Hints>
<ProxyList>
<Link name="DummyInput" with_property="Input" />
</ProxyList>
</Hints>
</SourceProxy>
<Proxy name="ProbeLineGenericProxy">
<InputProperty command="SetInputConnection"
name="Input">
<ProxyGroupDomain name="groups">
<Group name="sources" />
<Group name="filters" />
</ProxyGroupDomain>
<DataTypeDomain name="input_type">
<DataType value="vtkDataSet" />
<DataType value="vtkCompositeDataSet" />
</DataTypeDomain>
<InputArrayDomain name="input_array" />
<Documentation>This property specifies the dataset from which to obtain
probe values.</Documentation>
</InputProperty>
<IntVectorProperty command="SetSamplingPattern"
name="SamplingPattern"
default_values="2"
number_of_elements="1">
<EnumerationDomain name="enum">
<Entry text="Sample At Cell Boundaries"
value="0" />
<Entry text="Sample At Segment Centers"
value="1" />
<Entry text="Sample Uniformly"
value="2" />
</EnumerationDomain>
</IntVectorProperty>
<IntVectorProperty command="SetLineResolution"
name="Resolution"
default_values="1000"
number_of_elements="1">
<Hints>
<PropertyWidgetDecorator type="GenericDecorator"
mode="visibility"
property="SamplingPattern"
value="2" />
<!-- show this widget when SamplingPattern==2 -->
</Hints>
<Documentation>This property sets the line resolution if sampling pattern is set to
"Sample Uniformly".</Documentation>
</IntVectorProperty>
<IntVectorProperty command="SetPassPartialArrays"
default_values="1"
name="PassPartialArrays"
number_of_elements="1"
panel_visibility="advanced">
<Documentation>When dealing with composite datasets, partial arrays are
common i.e. data-arrays that are not available in all of the blocks. By
default, this filter only passes those point and cell data-arrays that
are available in all the blocks i.e. partial array are removed. When
PassPartialArrays is turned on, this behavior is changed to take a
union of all arrays present thus partial arrays are passed as well.
However, for composite dataset input, this filter still produces a
non-composite output. For all those locations in a block of where a
particular data array is missing, this filter uses vtkMath::Nan() for
double and float arrays, while 0 for all other types of arrays i.e int,
char etc.</Documentation>
<BooleanDomain name="bool" />
</IntVectorProperty>
<IntVectorProperty command="SetPassCellArrays"
default_values="0"
name="PassCellArrays"
number_of_elements="1"
panel_visibility="advanced">
<Documentation>
When set the input's cell data arrays are shallow copied to the output.
</Documentation>
<BooleanDomain name="bool" />
</IntVectorProperty>
<IntVectorProperty command="SetPassPointArrays"
default_values="0"
name="PassPointArrays"
number_of_elements="1"
panel_visibility="advanced">
<Documentation>
When set the input's point data arrays are shallow copied to the output.
</Documentation>
<BooleanDomain name="bool" />
</IntVectorProperty>
<IntVectorProperty command="SetPassFieldArrays"
default_values="1"
name="PassFieldArrays"
number_of_elements="1"
panel_visibility="advanced">
<Documentation>
Set whether to pass the field-data arrays from the Input i.e. the input
providing the geometry to the output. On by default.
</Documentation>
<BooleanDomain name="bool" />
</IntVectorProperty>
<IntVectorProperty command="SetComputeTolerance"
default_values="1"
name="ComputeTolerance"
number_of_elements="1"
panel_visibility="advanced">
<Documentation>
Set whether to compute the tolerance or to use a user provided
value. On by default.
</Documentation>
<BooleanDomain name="bool" />
</IntVectorProperty>
<DoubleVectorProperty command="SetTolerance"
default_values="2.2204460492503131e-16"
name="Tolerance"
number_of_elements="1"
panel_visibility="advanced">
<DoubleRangeDomain min="2.2204460492503131e-16"
name="range" />
<Hints>
<PropertyWidgetDecorator type="ShowWidgetDecorator">
<Property name="ComputeTolerance" function="boolean_invert" />
</PropertyWidgetDecorator>
</Hints>
<Documentation>Set the tolerance to use for
vtkDataSet::FindCell</Documentation>
</DoubleVectorProperty>
</Proxy>
</ProxyGroup>
<ProxyGroup name="filters">
<!-- ==================================================================== -->
......@@ -311,177 +485,89 @@
</CompoundSourceProxy>
<!-- ==================================================================== -->
<SourceProxy class="vtkProbeLineFilter"
label="Plot Over Line"
name="ProbeLine">
<Documentation>Internal filter used by (filters, ProbeLine). The Plot
Over Line filter samples the data set attributes of the current data set
at the points along a line. The values of the point-centered variables
along that line will be displayed in an XY Plot. This filter uses
interpolation to determine the values at the selected point, whether or
not it lies at an input point. The Probe filter operates on any type of
data and produces polygonal output (a line). One can use different sampling patterns
with this filter. "Sample At Cell Boundaries" gives the most accurate plots,
"Sample At Segment Centers" provides one sample per probed cells,
and "Sample Uniformally" samples uniformally along the input line.</Documentation>
<InputProperty command="SetInputConnection"
name="Input">
base_proxygroup="internal_filters"
base_proxyname="ProbeLineGenericProxy"
label="Plot Over Custom Lines"
name="ProbeCustomLines">
<Documentation>The Plot Over Custom Lines filter samples the data set attributes
of the input data set at the points along multiple lines given by the source
dataset. The values of the point-centered variables along these lines will be
displayed in an XY Plot. This filter uses interpolation to determine the values
at the selected point, whether or not it lies at an input point. This filter
operates on any type of data and produces polygonal output (a polyline). One
can use different sampling patterns with this filter. "Sample At Cell Boundaries"
gives the most accurate plots, "Sample At Segment Centers" provides one sample
per probed cells, and "Sample Uniformally" samples uniformally along the input
line.</Documentation>
<InputProperty command="SetSourceConnection"
name="ProbedLines">
<ProxyGroupDomain name="groups">
<Group name="sources" />
<Group name="filters" />
</ProxyGroupDomain>
<DataTypeDomain name="input_type">
<DataType value="vtkDataSet" />
<DataType value="vtkCompositeDataSet" />
<DataType value="vtkPolyData" />
<DataType value="vtkUnstructuredGrid" />
</DataTypeDomain>
<InputArrayDomain name="input_array" />
<Documentation>This property specifies the dataset from which to obtain
probe values.</Documentation>
the probing lines locations.</Documentation>
</InputProperty>
<DoubleVectorProperty animateable="1"
command="SetPoint1"
default_values="0.0 0.0 0.0"
name="Point1"
number_of_elements="3">
<BoundsDomain default_mode="min"
mode="normal"
name="range">
<RequiredProperties>
<Property function="Input"
name="Input" />
</RequiredProperties>
</BoundsDomain>
<Documentation>This property controls the coordinates of the first
endpoint of the line.</Documentation>
</DoubleVectorProperty>
<DoubleVectorProperty animateable="1"
command="SetPoint2"
default_values="0.0 0.0 0.0"
name="Point2"
number_of_elements="3">
<BoundsDomain default_mode="max"
mode="normal"
name="range">
<RequiredProperties>
<Property function="Input"
name="Input" />
</RequiredProperties>
</BoundsDomain>
<Documentation>This property controls the coordinates of the second
endpoint of the line.</Documentation>
</DoubleVectorProperty>
<IntVectorProperty command="SetSamplingPattern"
name="SamplingPattern"
default_values="2"
number_of_elements="1">
<EnumerationDomain name="enum">
<Entry text="Sample At Cell Boundaries"
value="0" />
<Entry text="Sample At Segment Centers"
value="1" />
<Entry text="Sample Uniformly"
value="2" />
</EnumerationDomain>
</IntVectorProperty>
<IntVectorProperty command="SetLineResolution"
name="Resolution"
default_values="1000"
number_of_elements="1">
<Hints>
<PropertyWidgetDecorator type="GenericDecorator"
mode="visibility"
property="SamplingPattern"
value="2" />
<!-- show this widget when SamplingPattern==2 -->
</Hints>
<Documentation>This property sets the line resolution if sampling pattern is set to
"Sample Uniformly".</Documentation>
</IntVectorProperty>
<IntVectorProperty command="SetPassPartialArrays"
default_values="1"
name="PassPartialArrays"
number_of_elements="1"
panel_visibility="advanced">
<Documentation>When dealing with composite datasets, partial arrays are
common i.e. data-arrays that are not available in all of the blocks. By
default, this filter only passes those point and cell data-arrays that
are available in all the blocks i.e. partial array are removed. When
PassPartialArrays is turned on, this behavior is changed to take a
union of all arrays present thus partial arrays are passed as well.
However, for composite dataset input, this filter still produces a
non-composite output. For all those locations in a block of where a
particular data array is missing, this filter uses vtkMath::Nan() for
double and float arrays, while 0 for all other types of arrays i.e int,
char etc.</Documentation>
<BooleanDomain name="bool" />
</IntVectorProperty>
<IntVectorProperty command="SetPassCellArrays"
default_values="0"
name="PassCellArrays"
number_of_elements="1"
panel_visibility="advanced">
<Documentation>
When set the input's cell data arrays are shallow copied to the output.
</Documentation>
<BooleanDomain name="bool" />
</IntVectorProperty>
<IntVectorProperty command="SetPassPointArrays"
default_values="0"
name="PassPointArrays"
number_of_elements="1"
panel_visibility="advanced">
<Documentation>
When set the input's point data arrays are shallow copied to the output.
</Documentation>
<BooleanDomain name="bool" />
</IntVectorProperty>
<IntVectorProperty command="SetPassFieldArrays"
<IntVectorProperty command="SetAggregateAsPolyData"
default_values="1"
name="PassFieldArrays"
name="AggregateAsPolyData"
number_of_elements="1"
panel_visibility="advanced">
panel_visibility="never">
<Documentation>
Set whether to pass the field-data arrays from the Input i.e. the input
providing the geometry to the output. On by default.
Force ouput to be a multiblock when plotting over custom line(s).
</Documentation>
<BooleanDomain name="bool" />
</IntVectorProperty>
<IntVectorProperty command="SetComputeTolerance"
<Hints>
<Visibility replace_input="0" />
<View type="XYChartView" also_show_in_current_view="1" />
<Plotable />
</Hints>
</SourceProxy>
<!-- ==================================================================== -->
<SourceProxy class="vtkProbeLineFilter"
base_proxygroup="internal_filters"
base_proxyname="ProbeLineGenericProxy"
label="Plot Over Line"
name="ProbeLine">
<Documentation>The Plot Over Custom Lines filter samples the data set attributes
of the input data set at the points a given line. The values of the point-centered
variables along that line will be displayed in an XY Plot. This filter uses
interpolation to determine the values at the selected point, whether or not it
lies at an input point. This filter operates on any type of data and produces a
polygonal output (a polyline). One can use different sampling patterns with this
filter. "Sample At Cell Boundaries" gives the most accurate plots, "Sample At
Segment Centers" provides one sample per probed cells, and "Sample Uniformally"
samples uniformally along the input line.</Documentation>
<InputProperty command="SetSourceConnection"
label="Probe Type"
name="Source"
panel_visibility="default">
<ProxyGroupDomain name="groups">
<Group name="sources" />
</ProxyGroupDomain>
<ProxyListDomain name="proxy_list">
<Proxy group="internal_filters"
name="SimpleLineSource" />
</ProxyListDomain>
</InputProperty>
<IntVectorProperty command="SetAggregateAsPolyData"
default_values="1"
name="ComputeTolerance"
name="AggregateAsPolyData"
number_of_elements="1"
panel_visibility="advanced">
panel_visibility="never">
<Documentation>
Set whether to compute the tolerance or to use a user provided
value. On by default.
Force ouput to be a polydata when plotting over a single line.
</Documentation>
<BooleanDomain name="bool" />
</IntVectorProperty>
<DoubleVectorProperty command="SetTolerance"
default_values="2.2204460492503131e-16"
name="Tolerance"
number_of_elements="1"
panel_visibility="advanced">
<DoubleRangeDomain min="2.2204460492503131e-16"
name="range" />
<Hints>
<PropertyWidgetDecorator type="ShowWidgetDecorator">
<Property name="ComputeTolerance" function="boolean_invert" />
</PropertyWidgetDecorator>
</Hints>
<Documentation>Set the tolerance to use for
vtkDataSet::FindCell</Documentation>
</DoubleVectorProperty>
<PropertyGroup label="Line Parameters" panel_widget="InteractiveLine">
<Property function="Point1WorldPosition" name="Point1" />
<Property function="Point2WorldPosition" name="Point2" />
</PropertyGroup>
<Hints>
<Visibility replace_input="0" />
<!-- View can be used to specify the preferred view for the proxy -->
<View type="XYChartView" also_show_in_current_view="1" />
<Plotable />
</Hints>
<!-- End ProbeLine -->
</SourceProxy>
<!-- ==================================================================== -->
<SourceProxy class="vtkPProbeFilter"
......
Supports Markdown
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