[Paraview] Show Widget in CompoundSourceProxy
Utkarsh Ayachit
utkarsh.ayachit at kitware.com
Mon Feb 14 09:52:31 EST 2011
Christoffer,
You need to redefine the Hints for the "PropertyGroup" on the
CompoundSourceProxy as well. Also the properties that the widget is
controlling, such as Point1WorldPosition, Point2WorldPosition,
Resolution must be exposed from the CompoundSourceProxy.
Utkarsh
On Mon, Feb 14, 2011 at 9:44 AM, Christoffer Green
<christoffer.green at gmail.com> wrote:
> Hello!
> I am trying to write an xml definition for a CompoundSourceProxy in ParaView
> 3.8.1 that produces a plane that is used by a probe filter to
> show the ParaView input (volume data in my case) on the plane. The position
> and orientation of the plane should be controlled by a widget.
> The problem:
> I have been able to create a plane as a SourceProxy that is controlled by a
> widget and I have been able to create a CompoundSourceProxy that shows the
> volume data on a plane but the CompoundSourceProxy does not show the Widget
> that is defined with the PropertyGroup hints in the SourceProxy plane. If I
> create an instance of the plane without the CompoundSourceProxy then the
> widget is displayed as it should. Does hint widget information disappear
> when sources are used in a CompoundSourceProxy? How does one use widgets to
> control properties in subproxies in a CompoundSourceProxy?
> The xml definition I have written follows here (sorry about the length):
> -----------------------
> The structure of this file is like so:
> ParaViewInput(Volume)-->Calculator--(source)-->Probe
> Filter<--(input)--PlaneSource<--Widget
> <ServerManagerConfiguration>
> <ProxyGroup name="sources">
> <!-- Plane Source -->
> <SourceProxy name="PlaneSourceWithWidget" class="vtkPlaneSource"
> label="PlaneWithWidget">
> <Documentation
> long_help="Create a parallelogram given an origin and two points.
> The resolution indicates the number of division along each axis of the
> plane."
> short_help="Create a parallelogram from an origin and two points">
> The Plane source can be used to add a polygonal parallelogram to the 3D
> scene. Unlike the sphere, cone, and cylinder sources, the parallelogram is
> exactly represented at the lowest resolution, but higher resolutions may be
> desired if this plane is to be used as an input to a filter. The output of
> the Plane source is polygonal data.
> </Documentation>
> <DoubleVectorProperty
> name="Origin"
> command="SetOrigin"
> number_of_elements="3"
> animateable="1"
> default_values="-0.5 -0.5 0.0" >
> <DoubleRangeDomain name="range"/>
> <Documentation>
> This property specifies the 3D coordinate of the origin (one
> corner) of the plane.
> </Documentation>
> </DoubleVectorProperty>
> <DoubleVectorProperty
> name="Point1"
> command="SetPoint1"
> number_of_elements="3"
> animateable="1"
> default_values="0.5 -0.5 0.0" >
> <DoubleRangeDomain name="range"/>
> <Documentation>
> This property specifies the 3D coordinate a second corner of the
> parallelogram. The line connecting this point and that specified by the
> Origin property define one edge of the parallelogram (its X axis).
> </Documentation>
> </DoubleVectorProperty>
> <DoubleVectorProperty
> name="Point2"
> command="SetPoint2"
> number_of_elements="3"
> animateable="1"
> default_values="-0.5 0.5 0.0" >
> <DoubleRangeDomain name="range"/>
> <Documentation>
> This property specifies the 3D coordinate a third corner of the
> parallelogram. The line connecting this point and that specified by the
> Origin property define a second edge of the parallelogram (its Y axis).
> </Documentation>
> </DoubleVectorProperty>
> <IntVectorProperty
> name="XResolution"
> command="SetXResolution"
> number_of_elements="1"
> default_values="100" >
> <IntRangeDomain name="range" min="1" />
> <Documentation>
> This property specifies the number of divisions along the X axis
> of the parallelogram.
> </Documentation>
> </IntVectorProperty>
> <IntVectorProperty
> name="YResolution"
> command="SetYResolution"
> number_of_elements="1"
> default_values="100" >
> <IntRangeDomain name="range" min="1" />
> <Documentation>
> This property specifies the number of divisions along the Y axis
> of the parallelogram.
> </Documentation>
> </IntVectorProperty>
> <Hints>
> <PropertyGroup type="LineSource" >
> <Property function="Point1WorldPosition" name="Point1" />
> <Property function="Point2WorldPosition" name="Point2" />
> <Property function="Resolution" name="XResolution" />
> </PropertyGroup>
> </Hints>
> </SourceProxy>
> </ProxyGroup>
>
>
> <ProxyGroup name="filters">
> <!-- Probe Filter -->
> <SourceProxy name="Probe Filter" class="vtkCompositeDataProbeFilter">
> <InputProperty
> name="Input"
> command="AddInputConnection"
> clean_command="RemoveAllInputs"
> multiple_input="1">
> <ProxyGroupDomain name="groups">
> <Group name="sources"/>
> <Group name="filters"/>
> </ProxyGroupDomain>
> <DataTypeDomain name="input_type" composite_data_supported="1">
> <DataType value="vtkDataObject"/>
> </DataTypeDomain>
> </InputProperty>
> <InputProperty
> name="Source"
> command="SetSourceConnection"
> multiple_input="1">
> <ProxyGroupDomain name="groups">
> <Group name="sources"/>
> <Group name="filters"/>
> </ProxyGroupDomain>
> <DataTypeDomain name="input_type">
> <DataType value="vtkDataSet"/>
> </DataTypeDomain>
> </InputProperty>
> </SourceProxy>
>
> <!-- Compound -->
> <CompoundSourceProxy id="3316" servers="1" name="ProbePlane">
> <!-- Instance of Calculator so we can get the magnitude of the volume
> data source for the probe filter-->
> <Proxy group="filters" type="Calculator" id="2154" servers="1"
> compound_name="Calculator2">
> <Property name="AttributeMode" id="2154.AttributeMode"
> number_of_elements="1">
> <Element index="0" value="1"/>
> <Domain name="enum" id="2154.AttributeMode.enum">
> <Entry value="1" text="point_data"/>
> <Entry value="2" text="cell_data"/>
> <Entry value="5" text="field_data"/>
> </Domain>
> </Property>
> <Property name="CoordinateResults" id="2154.CoordinateResults"
> number_of_elements="1">
> <Element index="0" value="0"/>
> <Domain name="bool" id="2154.CoordinateResults.bool"/>
> </Property>
> <Property name="Function" id="2154.Function" number_of_elements="1">
> <Element index="0" value="V_3D_01_X^2+V_3D_01_Y^2+V_3D_01_Z^2"/>
> </Property>
> <Property name="Input" id="2154.Input" number_of_elements="1">
> <Domain name="groups" id="2154.Input.groups">
> <Group value="sources"/>
> <Group value="filters"/>
> </Domain>
> <Domain name="input_type" id="2154.Input.input_type">
> <DataType value="vtkDataSet"/>
> </Domain>
> </Property>
> <Property name="ReplaceInvalidValues" id="2154.ReplaceInvalidValues"
> number_of_elements="1">
> <Element index="0" value="1"/>
> <Domain name="bool" id="2154.ReplaceInvalidValues.bool"/>
> </Property>
> <Property name="ReplacementValue" id="2154.ReplacementValue"
> number_of_elements="1">
> <Element index="0" value="0"/>
> <Domain name="range" id="2154.ReplacementValue.range"/>
> </Property>
> <Property name="ResultArrayName" id="2154.ResultArrayName"
> number_of_elements="1">
> <Element index="0" value="Result"/>
> </Property>
> </Proxy>
>
> <!-- instance of PlaneSourceWithWidget -->
> <Proxy group="sources" type="PlaneSourceWithWidget" id="2453"
> servers="1" compound_name="Plane2">
> </Proxy>
> <!-- instance of Probe Filter -->
> <Proxy group="filters" type="Probe Filter" id="2867" servers="1"
> compound_name="ProbeFilter2">
> <Property name="Input" id="2867.Input" number_of_elements="1">
> <Proxy value="2453" output_port="0"/>
> <Domain name="groups" id="2867.Input.groups">
> <Group value="sources"/>
> <Group value="filters"/>
> </Domain>
> <Domain name="input_type" id="2867.Input.input_type">
> <DataType value="vtkDataObject"/>
> </Domain>
> </Property>
> <Property name="Source" id="2867.Source" number_of_elements="1">
> <Proxy value="2154" output_port="0"/>
> <Domain name="groups" id="2867.Source.groups">
> <Group value="sources"/>
> <Group value="filters"/>
> </Domain>
> <Domain name="input_type" id="2867.Source.input_type">
> <DataType value="vtkDataSet"/>
> </Domain>
> </Property>
> </Proxy>
> <ExposedProperties>
> <Property name="Input" proxy_name="Calculator2"
> exposed_name="Calcinput"/>
> <Property name="Function" proxy_name="Calculator2"
> exposed_name="Function"/>
> <Property name="XResolution" proxy_name="Plane2" exposed_name="X
> Resolution"/>
> <Property name="YResolution" proxy_name="Plane2" exposed_name="Y
> Resolution"/>
> </ExposedProperties>
> <OutputPort name="ProbeOut" proxy="ProbeFilter2" port_index="0"/>
> </CompoundSourceProxy>
> </ProxyGroup>
> </ServerManagerConfiguration>
> -------------------------------------------
> Thanks
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the ParaView Wiki at:
> http://paraview.org/Wiki/ParaView
>
> Follow this link to subscribe/unsubscribe:
> http://www.paraview.org/mailman/listinfo/paraview
>
>
More information about the ParaView
mailing list