[Paraview] Incorporating ImplicitPlane widget into ServerManagerXML

Sebastien Jourdain sebastien.jourdain at kitware.com
Wed Aug 1 19:48:25 EDT 2012


Hi Alex,

I don't fully understand what you mean but in ParaView the way clip or
slice are doing is by using some subproxy that define the plane. I've
just paste you both clip and slice proxy definition for convenience.

<SourceProxy class="vtkPVMetaClipDataSet"
                 name="Clip">
      <Documentation long_help="Clip with an implicit plane. Clipping
does not reduce the dimensionality of the data set. The output data
type of this filter is always an unstructured grid."
                     short_help="Clip with an implicit plane.">The Clip filter
                     cuts away a portion of the input data set using an
                     implicit plane. This filter operates on all types of data
                     sets, and it returns unstructured grid data on
                     output.</Documentation>
      <IntVectorProperty command="PreserveInputCells"
                         default_values="0"
                         label="Crinkle clip"
                         name="PreserveInputCells"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>This parameter controls whether to extract entire cells
        in the given region or clip those cells so all of the output one stay
        only inside that region.</Documentation>
      </IntVectorProperty>
      <InputProperty command="SetInputConnection"
                     name="Input">
        <ProxyGroupDomain name="groups">
          <Group name="sources" />
          <Group name="filters" />
        </ProxyGroupDomain>
        <DataTypeDomain name="input_type">
          <DataType value="vtkDataSet" />
        </DataTypeDomain>
        <InputArrayDomain name="input_array"
                          number_of_components="1"
                          optional="1" />
        <Documentation>This property specifies the dataset on which the Clip
        filter will operate.</Documentation>
      </InputProperty>
      <ProxyProperty command="SetClipFunction"
                     label="Clip Type"
                     name="ClipFunction">
        <ProxyGroupDomain name="groups">
          <Group name="implicit_functions" />
        </ProxyGroupDomain>
        <ProxyListDomain name="proxy_list">
          <Proxy group="implicit_functions"
                 name="Plane" />
          <Proxy group="implicit_functions"
                 name="Box" />
          <Proxy group="implicit_functions"
                 name="Sphere" />
          <Proxy group="implicit_functions"
                 name="Scalar" />
        </ProxyListDomain>
        <Documentation>This property specifies the parameters of the clip
        function (an implicit plane) used to clip the dataset.</Documentation>
        <Hints>
          <ShowInSummaryPanel />
        </Hints>
      </ProxyProperty>
      <DoubleVectorProperty information_only="1"
                            name="InputBounds">
        <BoundsDomain name="bounds">
          <RequiredProperties>
            <Property function="Input"
                      name="Input" />
          </RequiredProperties>
        </BoundsDomain>
      </DoubleVectorProperty>
      <StringVectorProperty animateable="0"
                            command="SetInputArrayToProcess"
                            element_types="0 0 0 0 2"
                            label="Scalars"
                            name="SelectInputScalars"
                            number_of_elements="5">
        <ArrayListDomain attribute_type="Scalars"
                         name="array_list">
          <RequiredProperties>
            <Property function="Input"
                      name="Input" />
          </RequiredProperties>
        </ArrayListDomain>
        <FieldDataDomain name="field_list">
          <RequiredProperties>
            <Property function="Input"
                      name="Input" />
          </RequiredProperties>
        </FieldDataDomain>
        <Documentation>If clipping with scalars, this property specifies the
        name of the scalar array on which to perform the clip
        operation.</Documentation>
      </StringVectorProperty>
      <DoubleVectorProperty command="SetValue"
                            default_values="0.0"
                            name="Value"
                            number_of_elements="1">
        <ArrayRangeDomain name="scalar_range">
          <RequiredProperties>
            <Property function="Input"
                      name="Input" />
            <Property function="ArraySelection"
                      name="SelectInputScalars" />
          </RequiredProperties>
        </ArrayRangeDomain>
        <DoubleRangeDomain name="range" />
        <Documentation>If clipping with scalars, this property sets the scalar
        value about which to clip the dataset based on the scalar array chosen.
        (See SelectInputScalars.) If clipping with a clip function, this
        property specifies an offset from the clip function to use in the
        clipping operation. Neither functionality is currently available in
        ParaView's user interface.</Documentation>
      </DoubleVectorProperty>
      <IntVectorProperty command="SetInsideOut"
                         default_values="0"
                         name="InsideOut"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>If this property is set to 0, the clip filter will
        return that portion of the dataset that lies within the clip function.
        If set to 1, the portions of the dataset that lie outside the clip
        function will be returned instead.</Documentation>
      </IntVectorProperty>
      <IntVectorProperty command="SetUseValueAsOffset"
                         default_values="0"
                         name="UseValueAsOffset"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>If UseValueAsOffset is true, Value is used as an offset
        parameter to the implicit function. Otherwise, Value is used only when
        clipping using a scalar array.</Documentation>
      </IntVectorProperty>
      <Hints>
        <Visibility replace_input="2" />
        <Property name="UseValueAsOffset"
                  show="0" />
      </Hints>
      <!-- End Clip -->
    </SourceProxy>
----------------------------
    <SourceProxy class="vtkPVMetaSliceDataSet"
                 label="Slice"
                 name="Cut">
      <Documentation long_help="This filter slices a data set with a
plane. Slicing is similar to a contour. It creates surfaces from
volumes and lines from surfaces."
                     short_help="Slice datasets with planes.">This filter
                     extracts the portion of the input dataset that lies along
                     the specified plane. The Slice filter takes any type of
                     dataset as input. The output of this filter is polygonal
                     data.</Documentation>
      <IntVectorProperty command="PreserveInputCells"
                         default_values="0"
                         label="Crinkle slice"
                         name="PreserveInputCells"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>This parameter controls whether to extract the entire
        cells that are sliced by the region or just extract a triangulated
        surface of that region.</Documentation>
      </IntVectorProperty>
      <InputProperty command="SetInputConnection"
                     name="Input">
        <ProxyGroupDomain name="groups">
          <Group name="sources" />
          <Group name="filters" />
        </ProxyGroupDomain>
        <DataTypeDomain name="input_type">
          <DataType value="vtkDataSet" />
        </DataTypeDomain>
        <Documentation>This property specifies the input to the Slice
        filter.</Documentation>
      </InputProperty>
      <ProxyProperty command="SetCutFunction"
                     label="Slice Type"
                     name="CutFunction">
        <ProxyGroupDomain name="groups">
          <Group name="implicit_functions" />
        </ProxyGroupDomain>
        <ProxyListDomain name="proxy_list">
          <Proxy group="implicit_functions"
                 name="Plane" />
          <Proxy group="implicit_functions"
                 name="Box" />
          <Proxy group="implicit_functions"
                 name="Sphere" />
        </ProxyListDomain>
        <Documentation>This property sets the parameters of the slice
        function.</Documentation>
      </ProxyProperty>
      <DoubleVectorProperty information_only="1"
                            name="InputBounds">
        <BoundsDomain name="bounds">
          <RequiredProperties>
            <Property function="Input"
                      name="Input" />
          </RequiredProperties>
        </BoundsDomain>
      </DoubleVectorProperty>
      <DoubleVectorProperty animateable="1"
                            command="SetValue"
                            label="Slice Offset Values"
                            name="ContourValues"
                            number_of_elements_per_command="1"
                            repeat_command="1"
                            set_number_command="SetNumberOfContours"
                            use_index="1">
        <BoundsDomain mode="magnitude"
                      name="bounds">
          <RequiredProperties>
            <Property function="Input"
                      name="Input" />
          </RequiredProperties>
        </BoundsDomain>
        <Documentation>The values in this property specify a list of current
        offset values. This can be used to create multiple slices with
        different centers. Each entry represents a new slice with its center
        shifted by the offset value.</Documentation>
      </DoubleVectorProperty>
      <Hints>
        <Visibility replace_input="2" />
      </Hints>
      <!-- End Cut -->
    </SourceProxy>

Hope that help you figure out what you are looking for.

Seb

On Wed, Aug 1, 2012 at 2:40 PM, Alex Rattner <Alex.Rattner at gatech.edu> wrote:
> Hello,
>
> I am trying to develop a compiled paraview filter that takes an input
> plane/direction vector (like the clip or slice filters). Does anyone know of
> example code that shows how to incorporate the ImplicitPlane widget into the
> server manager xml. In particular, I want a way to get the Camera Normal. Is
> this possible?
>
> Thanks,
> Alex
> _______________________________________________
> 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