pythonfilter.xml 31.2 KB
Newer Older
1 2
<ServerManagerConfiguration>
  <ProxyGroup name="filters">
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
    <SourceProxy class="vtkPythonCalculator"
                 label="Python Calculator"
                 name="PythonCalculator">
      <Documentation long_help="This filter evaluates a Python expression"
                     short_help="Evaluates a Python expression">This filter
                     uses Python to calculate an expression. It depends heavily
                     on the numpy and paraview.vtk modules. To use the parallel
                     functions, mpi4py is also necessary. The expression is
                     evaluated and the resulting scalar value or numpy array is
                     added to the output as an array. See numpy and
                     paraview.vtk documentation for the list of available
                     functions. This filter tries to make it easy for the user
                     to write expressions by defining certain variables. The
                     filter tries to assign each array to a variable of the
                     same name. If the name of the array is not a valid Python
18 19 20 21 22 23
                     variable, it may be accessed through a variable with a
                     sanitized version of that array name consisting of only
                     '_' and the alphanumeric characters in the name joined
                     together with no spaces. Point coordinates from datasets
                     that explicitly define them can be accessed using the variable
                     named 'points'.</Documentation>
24 25 26 27 28 29 30 31 32 33 34 35
      <InputProperty clean_command="RemoveAllInputs"
                     command="AddInputConnection"
                     multiple_input="1"
                     name="Input">
        <ProxyGroupDomain name="groups">
          <Group name="sources" />
          <Group name="filters" />
        </ProxyGroupDomain>
        <DataTypeDomain name="input_type">
          <DataType value="vtkDataSet" />
        </DataTypeDomain>
        <Documentation>Set the input of the filter.</Documentation>
36
      </InputProperty>
37 38 39 40 41
      <StringVectorProperty command="SetExpression"
                            name="Expression"
                            number_of_elements="1">
        <Documentation>The Python expression evaluated during
        execution.</Documentation>
42
      </StringVectorProperty>
43 44 45 46
      <IntVectorProperty command="SetArrayAssociation"
                         default_values="0"
                         name="ArrayAssociation"
                         number_of_elements="1">
47
        <EnumerationDomain name="enum">
48 49 50 51
          <Entry text="Point Data"
                 value="0" />
          <Entry text="Cell Data"
                 value="1" />
52
        </EnumerationDomain>
53 54
        <Documentation>This property controls the association of the output
        array as well as which arrays are defined as variables.</Documentation>
55
      </IntVectorProperty>
56 57 58 59 60
      <StringVectorProperty command="SetArrayName"
                            default_values="result"
                            name="ArrayName"
                            number_of_elements="1">
        <Documentation>The name of the output array.</Documentation>
61
      </StringVectorProperty>
62 63 64 65 66 67 68 69
      <IntVectorProperty animateable="0"
                         command="SetCopyArrays"
                         default_values="1"
                         name="CopyArrays"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>If this property is set to true, all the cell and point
        arrays from first input are copied to the output.</Documentation>
70
      </IntVectorProperty>
71
      <!-- End PythonCalculator -->
72
    </SourceProxy>
73 74 75
    <SourceProxy class="vtkAnnotateGlobalDataFilter"
                 label="Annotate Global Data"
                 name="AnnotateGlobalData">
76 77 78 79 80 81 82 83 84 85 86
      <Documentation short_help="Filter for annotating with global data (designed for ExodusII reader)">
Annotate Global Data provides a simpler API for creating text
annotations using vtkPythonAnnotationFilter. Instead of users
specifying the annotation expression, this filter determines the
expression based on the array selected by limiting the scope of the
functionality. This filter only allows the user to annotate using
"global-data" aka field data and specify the string prefix to use.  If
the field array chosen has as many elements as number of timesteps,
the array is assumed to be "temporal" and indexed using the current
timestep.
      </Documentation>
87 88 89 90
      <InputProperty clean_command="RemoveAllInputs"
                     command="AddInputConnection"
                     multiple_input="1"
                     name="Input">
91
        <ProxyGroupDomain name="groups">
92 93
          <Group name="sources" />
          <Group name="filters" />
94 95
        </ProxyGroupDomain>
        <DataTypeDomain name="input_type">
96
          <DataType value="vtkDataSet" />
97
        </DataTypeDomain>
98
        <InputArrayDomain attribute_type="field"
99 100 101 102 103 104 105 106 107 108 109 110 111
                          name="input_array"
                          number_of_components="1" />
        <Documentation>Set the input of the filter.</Documentation>
      </InputProperty>
      <StringVectorProperty command="SetFieldArrayName"
                            name="SelectArrays"
                            number_of_elements="1">
        <ArrayListDomain name="array_list">
          <RequiredProperties>
            <Property function="Input"
                      name="Input" />
          </RequiredProperties>
        </ArrayListDomain>
112 113
        <Documentation>Choose array that is going to be
        displayed.</Documentation>
114 115 116 117 118 119
      </StringVectorProperty>
      <StringVectorProperty command="SetPrefix"
                            default_values="Value is: "
                            name="Prefix"
                            number_of_elements="1">
        <Documentation>Text that is used as a prefix to the field
120
        value.</Documentation>
121
      </StringVectorProperty>
122 123 124 125 126 127 128 129
      <StringVectorProperty command="SetFormat"
                            default_values="%7.5g"
                            name="Format"
                            number_of_elements="1">
        <Documentation>Text that is used as a format string passed
          to the Python string formatter (% operator).  Used to format
          the data.</Documentation>
      </StringVectorProperty>
130 131 132 133 134
      <StringVectorProperty command="SetPostfix"
                            default_values=""
                            name="Suffix"
                            number_of_elements="1">
        <Documentation>Text that is used as a suffix to the field
135
        value.</Documentation>
136
      </StringVectorProperty>
137 138 139 140 141 142 143
      <Hints>
        <Visibility replace_input="0" />
        <OutputPort index="0"
                    name="Output-0"
                    type="text" />
      </Hints>
      <!-- End AnnotateGlobalData -->
144
    </SourceProxy>
145 146 147
    <SourceProxy class="vtkAnnotateAttributeDataFilter"
                 label="Annotate Attribute Data"
                 name="AnnotateAttributeData">
148
      <Documentation short_help="Adds a text annotation to a Render View">
149 150 151 152 153 154 155 156 157
This filter can be used to add a text annotation to a Render View (or
similar) using a tuple from any attribute array (point/cell/field/row
etc.) from a specific rank (when running in parallel). Use **ArrayName**
property to select the array association and array name. Use
**ElementId* property to set the element number to extract the value to
label with. When running on multiple ranks, use **ProcessId** property
to select the rank of interest.  The **Prefix** property can be used to
specify a string that will be used as the prefix to the generated
annotation text.
158 159 160 161 162 163 164 165 166 167 168 169 170
      </Documentation>
      <InputProperty clean_command="RemoveAllInputs"
                     command="AddInputConnection"
                     name="Input">
        <ProxyGroupDomain name="groups" >
          <Group name="sources" />
          <Group name="filters" />
        </ProxyGroupDomain>
        <DataTypeDomain name="input_type" composite_data_supported="0">
          <DataType value="vtkDataSet" />
          <DataType value="vtkTable" />
        </DataTypeDomain>
        <InputArrayDomain attribute_type="any"
171
                          name="input_array" />
172 173 174 175 176 177
           <Documentation>
             Set the input of the filter. To avoid the complications/confusion when identifying
             elements in a composite dataset, this filter doesn't support composite datasets
             currently.
           </Documentation>
      </InputProperty>
178 179 180 181 182 183 184
      <StringVectorProperty animateable="0"
                            command="SetInputArrayToProcess"
                            element_types="0 0 0 0 2"
                            name="SelectInputArray"
                            number_of_elements="5">
        <ArrayListDomain attribute_type="Scalars"
                         name="array_list">
185 186 187 188 189
          <RequiredProperties>
            <Property function="Input"
                      name="Input" />
          </RequiredProperties>
        </ArrayListDomain>
190
        <Documentation>This property indicates the name of the array from which
191
        to obtain the annotation value.</Documentation>
192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
      </StringVectorProperty>
      <IntVectorProperty name="ElementId"
                         command="SetElementId"
                         number_of_elements="1"
                         default_values="0">
        <!-- this should really be an IdTypeVectorProperty, but the UI doesn't
             support those yet -->
        <IntRangeDomain name="range"/>
        <Documentation>
          Set the element index to annotate with.
        </Documentation>
      </IntVectorProperty>
      <IntVectorProperty name="ProcessId"
                         command="SetProcessId"
                         number_of_elements="1"
                         default_values="0">
        <IntRangeDomain name="range" min="0" />
        <Documentation>
            Set the process rank to extract element from.
        </Documentation>
      </IntVectorProperty>
      <StringVectorProperty command="SetPrefix"
                            default_values="Value is: "
                            name="Prefix"
                            number_of_elements="1">
        <Documentation>Text that is used as a prefix to the field value</Documentation>
      </StringVectorProperty>
      <Hints>
        <Visibility replace_input="0" />
        <OutputPort index="0" name="Output-0" type="text" />
      </Hints>
    </SourceProxy>
224 225 226 227 228
    <SourceProxy class="vtkPythonAnnotationFilter"
                 label="Python Annotation"
                 name="PythonAnnotation">
      <Documentation long_help="This filter evaluates a Python expression for a text annotation"
                     short_help="Evaluates a Python expression for a text annotation">
229 230
                     This filter uses Python to calculate an expression and display
                     the result as an annotation in the render view. It
231 232 233 234 235 236 237 238 239
                     depends heavily on the numpy and paraview.vtk modules. To
                     use the parallel functions, mpi4py is also necessary. The
                     expression is evaluated and the resulting scalar value or
                     numpy array is added to the output as an array. See numpy
                     and paraview.vtk documentation for the list of available
                     functions. This filter tries to make it easy for the user
                     to write expressions by defining certain variables. The
                     filter tries to assign each array to a variable of the
                     same name. If the name of the array is not a valid Python
240 241 242 243 244 245
                     variable, it may be accessed through a variable with a
                     sanitized version of that array name consisting of only
                     '_' and the alphanumeric characters in the name joined
                     together with no spaces. Point coordinates from datasets
                     that explicitly define them can be accessed using the variable
                     named 'points'.</Documentation>
246 247 248 249 250 251 252 253 254
      <InputProperty clean_command="RemoveAllInputs"
                     command="AddInputConnection"
                     multiple_input="1"
                     name="Input">
        <ProxyGroupDomain name="groups">
          <Group name="sources" />
          <Group name="filters" />
        </ProxyGroupDomain>
        <DataTypeDomain name="input_type">
255
          <DataType value="vtkDataObject" />
256 257
        </DataTypeDomain>
        <Documentation>Set the input of the filter.</Documentation>
258
      </InputProperty>
259 260 261 262
      <IntVectorProperty command="SetArrayAssociation"
                         default_values="2"
                         name="ArrayAssociation"
                         number_of_elements="1">
263
        <Documentation>Select the attribute to use to populate array names.</Documentation>
264 265 266 267 268 269 270 271
        <EnumerationDomain name="enum">
          <Entry text="Point Data" value="0" />
          <Entry text="Cell Data" value="1" />
          <Entry text="Field Data" value="2" />
          <Entry text="Row Data" value="6" />
        </EnumerationDomain>
      </IntVectorProperty>
      <StringVectorProperty command="SetExpression"
272 273 274
                            name="Expression"
                            number_of_elements="1">
        <Documentation>The Python expression evaluated during execution.
275
        FieldData arrays are directly available through their name. Set of
276 277 278
        provided variables [input, t_value, t_steps, t_range, t_index,
        FieldData, PointData, CellData] (i.e.: "Momentum: (%f, %f, %f)" %
        (XMOM[t_index,0], YMOM[t_index,0], ZMOM[t_index,0]) )</Documentation>
279
      </StringVectorProperty>
280
      <StringVectorProperty command="GetComputedAnnotationValue"
281 282 283
                            information_only="1"
                            name="AnnotationValue">
        <Documentation>Text that is used as annotation</Documentation>
284
      </StringVectorProperty>
285 286 287 288 289 290 291
      <Hints>
        <Visibility replace_input="0" />
        <OutputPort index="0"
                    name="Output-0"
                    type="text" />
      </Hints>
      <!-- End PythonAnnotation -->
292
    </SourceProxy>
293 294 295 296 297 298 299 300 301
    <SourceProxy class="vtkPythonProgrammableFilter"
                 label="Programmable Filter"
                 name="ProgrammableFilter">
      <Documentation long_help="Executes a user supplied python script on its input dataset to produce an output dataset."
                     short_help="Executes a python script to produce data.">
                     This filter will execute a python script to produce an
                     output dataset. The filter keeps a copy of the python
                     script in Script, and creates Interpretor, a python
                     interpretor to run the script upon the first
302 303 304
                     execution. To execute external python scripts on the ParaView server, use:
                     execfile('full_path/script_name.py'). Documentation is found in the Programmable Filter
                     chapter of the ParaView Guide.</Documentation>
305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356
      <InputProperty clean_command="RemoveAllInputs"
                     command="AddInputConnection"
                     multiple_input="1"
                     name="Input">
        <ProxyGroupDomain name="groups">
          <Group name="sources" />
          <Group name="filters" />
        </ProxyGroupDomain>
        <DataTypeDomain name="input_type">
          <DataType value="vtkDataObject" />
        </DataTypeDomain>
        <Documentation>This property specifies the input(s) to the programmable
        filter.</Documentation>
      </InputProperty>
      <IntVectorProperty command="SetOutputDataSetType"
                         default_values="8"
                         name="OutputDataSetType"
                         number_of_elements="1"
                         panel_visibility="default">
        <EnumerationDomain name="enum">
          <!-- Values come from vtkType.h-->
          <Entry text="Same as Input"
                 value="8" />
          <!-- text="vtkDataSet" -->
          <Entry text="vtkPolyData"
                 value="0" />
          <!-- <Entry value="1" text="vtkStructuredPoints"/> -->
          <Entry text="vtkStructuredGrid"
                 value="2" />
          <Entry text="vtkRectilinearGrid"
                 value="3" />
          <Entry text="vtkUnstructuredGrid"
                 value="4" />
          <!-- <Entry value="5" text="vtkPiecewiseFunction"/> -->
          <Entry text="vtkImageData"
                 value="6" />
          <!-- <Entry value="7" text="vtkDataObject"/> -->
          <!-- <Entry value="9" text="vtkPointSet"/> -->
          <Entry text="vtkUniformGrid"
                 value="10" />
          <!-- <Entry value="11" text="vtkCompositeDataSet"/> -->
          <Entry text="vtkMultiblockDataSet"
                 value="13" />
          <Entry text="vtkHierarchicalBoxDataSet"
                 value="15" />
          <!-- <Entry value="16" text="vtkGenericDataSet"/> -->
          <!-- <Entry value="17" text="vtkHyperOctree"/> -->
          <!-- <Entry value="18" text="vtkTemporalDataSet"/> -->
          <Entry text="vtkTable"
                 value="19" />
          <!-- <Entry value="20" text="vtkGraph"/> -->
          <!-- <Entry value="21" text="vtkTree"/> -->
357 358
          <Entry text="vtkMolecule"
                 value="33" />
359 360 361 362 363 364 365 366 367
        </EnumerationDomain>
        <Documentation>The value of this property determines the dataset type
        for the output of the programmable filter.</Documentation>
      </IntVectorProperty>
      <StringVectorProperty command="SetScript"
                            name="Script"
                            number_of_elements="1"
                            panel_visibility="default">
        <Hints>
368
          <Widget type="multi_line" syntax="python" />
369 370
        </Hints>
        <Documentation>This property contains the text of a python program that
371 372 373
        the programmable filter runs. To execute external python scripts on the ParaView server, use:
        execfile('full_path/script_name.py'). Documentation is found in the Programmable Filter
        chapter of the ParaView Guide.</Documentation>
374 375 376 377
      </StringVectorProperty>
      <StringVectorProperty command="SetInformationScript"
                            label="RequestInformation Script"
                            name="InformationScript"
378 379
                            number_of_elements="1"
                            panel_visibility="advanced">
380
        <Hints>
381
          <Widget type="multi_line" syntax="python" />
382 383 384 385 386 387 388 389
        </Hints>
        <Documentation>This property is a python script that is executed during
        the RequestInformation pipeline pass. Use this to provide information
        such as WHOLE_EXTENT to the pipeline downstream.</Documentation>
      </StringVectorProperty>
      <StringVectorProperty command="SetUpdateExtentScript"
                            label="RequestUpdateExtent Script"
                            name="UpdateExtentScript"
390 391
                            number_of_elements="1"
                            panel_visibility="advanced">
392
        <Hints>
393
          <Widget type="multi_line" syntax="python" />
394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409
        </Hints>
        <Documentation>This property is a python script that is executed during
        the RequestUpdateExtent pipeline pass. Use this to modify the update
        extent that your filter ask up stream for.</Documentation>
      </StringVectorProperty>
      <IntVectorProperty animateable="0"
                         command="SetCopyArrays"
                         default_values="0"
                         name="CopyArrays"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>If this property is set to true, all the cell and point
        arrays from first input are copied to the output.</Documentation>
      </IntVectorProperty>
      <StringVectorProperty animateable="0"
                            clean_command="ClearParameters"
410
                            command="SetParameterInternal"
411 412 413 414 415 416
                            is_internal="1"
                            name="Parameters"
                            number_of_elements_per_command="2"
                            repeat_command="1"></StringVectorProperty>
      <StringVectorProperty command="SetPythonPath"
                            name="PythonPath"
417 418
                            number_of_elements="1"
                            panel_visibility="advanced">
419 420 421
        <Documentation>A semi-colon (;) separated list of directories to add to
        the python library search path.</Documentation>
      </StringVectorProperty>
422 423 424 425 426 427 428
      <DoubleVectorProperty information_only="1"
                            name="TimestepValues"
                            repeatable="1">
        <TimeStepsInformationHelper />
        <Documentation>Available timestep values.</Documentation>
      </DoubleVectorProperty>

429
      <!-- End ProgrammableFilter -->
430
    </SourceProxy>
431
  </ProxyGroup>
432
  <!-- =================================================================== -->
433
  <ProxyGroup name="sources">
434 435 436 437 438 439 440 441 442
    <SourceProxy class="vtkPythonProgrammableFilter"
                 label="Programmable Source"
                 name="ProgrammableSource">
      <Documentation long_help="Executes a user supplied python script to produce an output dataset."
                     short_help="Executes a python script to produce data.">
                     This source will execute a python script to produce an
                     output dataset. The source keeps a copy of the python
                     script in Script, and creates Interpretor, a python
                     interpretor to run the script upon the first
443 444 445
                     execution. To execute external python scripts on the ParaView server, use:
                     execfile('full_path/script_name.py'). Documentation is found in the Programmable Filter
                     chapter of the ParaView Guide.</Documentation>
446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483
      <IntVectorProperty command="SetOutputDataSetType"
                         default_values="0"
                         name="OutputDataSetType"
                         number_of_elements="1"
                         panel_visibility="default">
        <EnumerationDomain name="enum">
          <!-- Values come from vtkType.h-->
          <!-- <Entry value="8" text="Same as Input"/> -->
          <!-- text="vtkDataSet" -->
          <Entry text="vtkPolyData"
                 value="0" />
          <!-- <Entry value="1" text="vtkStructuredPoints"/> -->
          <Entry text="vtkStructuredGrid"
                 value="2" />
          <Entry text="vtkRectilinearGrid"
                 value="3" />
          <Entry text="vtkUnstructuredGrid"
                 value="4" />
          <!-- <Entry value="5" text="vtkPiecewiseFunction"/> -->
          <Entry text="vtkImageData"
                 value="6" />
          <!-- <Entry value="7" text="vtkDataObject"/> -->
          <!-- <Entry value="9" text="vtkPointSet"/> -->
          <!-- <Entry value="10" text="vtkUniformGrid"/> -->
          <!-- <Entry value="11" text="vtkCompositeDataSet"/> -->
          <!-- <Entry value="12" text="vtkMultigroupDataSet"/> -->
          <Entry text="vtkMultiblockDataSet"
                 value="13" />
          <!-- <Entry value="14" text="vtkHierarchicalDataSet"/> -->
          <Entry text="vtkHierarchicalBoxDataSet"
                 value="15" />
          <!-- <Entry value="16" text="vtkGenericDataSet"/> -->
          <!-- <Entry value="17" text="vtkHyperOctree"/> -->
          <!-- <Entry value="18" text="vtkTemporalDataSet"/> -->
          <Entry text="vtkTable"
                 value="19" />
          <!-- <Entry value="20" text="vtkGraph"/> -->
          <!-- <Entry value="21" text="vtkTree"/> -->
484 485
          <Entry text="vtkMolecule"
                 value="33" />
486 487 488 489 490 491 492 493 494
        </EnumerationDomain>
        <Documentation>The value of this property determines the dataset type
        for the output of the programmable source.</Documentation>
      </IntVectorProperty>
      <StringVectorProperty command="SetScript"
                            name="Script"
                            number_of_elements="1"
                            panel_visibility="default">
        <Hints>
495
          <Widget type="multi_line" syntax="python" />
496 497
        </Hints>
        <Documentation>This property contains the text of a python program that
498 499 500
        the programmable source runs. To execute external python scripts on the ParaView server, use:
        execfile('full_path/script_name.py'). Documentation is found in the Programmable Filter
        chapter of the ParaView Guide.</Documentation>
501 502 503 504
      </StringVectorProperty>
      <StringVectorProperty command="SetInformationScript"
                            label="Script (RequestInformation)"
                            name="InformationScript"
505 506
                            number_of_elements="1"
                            panel_visibility="advanced">
507
        <Hints>
508
          <Widget type="multi_line" syntax="python" />
509 510 511 512 513 514 515
        </Hints>
        <Documentation>This property is a python script that is executed during
        the RequestInformation pipeline pass. Use this to provide information
        such as WHOLE_EXTENT to the pipeline downstream.</Documentation>
      </StringVectorProperty>
      <StringVectorProperty animateable="0"
                            clean_command="ClearParameters"
516
                            command="SetParameterInternal"
517 518 519 520 521 522
                            is_internal="1"
                            name="Parameters"
                            number_of_elements_per_command="2"
                            repeat_command="1"></StringVectorProperty>
      <StringVectorProperty command="SetPythonPath"
                            name="PythonPath"
523 524
                            number_of_elements="1"
                            panel_visibility="advanced">
525 526 527
        <Documentation>A semi-colon (;) separated list of directories to add to
        the python library search path.</Documentation>
      </StringVectorProperty>
528 529 530 531 532 533
      <DoubleVectorProperty information_only="1"
                            name="TimestepValues"
                            repeatable="1">
        <TimeStepsInformationHelper />
        <Documentation>Available timestep values.</Documentation>
      </DoubleVectorProperty>
534
      <!-- End ProgrammableSource -->
535
    </SourceProxy>
536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557

    <SourceProxy class="vtkPythonProgrammableFilter"
                 label="Live Programmable Source"
                 name="LiveProgrammableSource"
                 base_proxygroup="sources"
                 base_proxyname="ProgrammableSource">
      <Documentation>
        A programmable source that can produce new data autonomously.
      </Documentation>
      <StringVectorProperty command="SetCheckNeedsUpdateScript"
                            label="Script (CheckNeedsUpdate)"
                            name="CheckNeedsUpdateScript"
                            number_of_elements="1">
        <Hints>
          <Widget type="multi_line" syntax="python" />
        </Hints>
        <Documentation>
          Specify the script to use to check if the filter/source has new data.
          This is only needed for "live" sources, that can cause data to be available
          outside of ParaView.
        </Documentation>
      </StringVectorProperty>
558 559 560 561 562 563

      <Property name="PauseLiveSource" panel_widget="pause_livesource">
        <Documentation>
          Pause live source.
        </Documentation>
      </Property>
564 565 566 567
      <Hints>
        <LiveSource />
      </Hints>
   </SourceProxy>
568
  </ProxyGroup>
569 570
  <!-- =================================================================== -->
  <ProxyGroup name="animation">
571 572 573 574 575 576 577 578 579
    <Proxy class="vtkPythonAnimationCue"
           name="PythonAnimationCue"
           processes="client">
      <Documentation>Animation cue that can use python script for
      animation.</Documentation>
      <IntVectorProperty command="SetEnabled"
                         default_values="1"
                         name="Enabled"
                         number_of_elements="1">
580
        <BooleanDomain name="bool" />
581
        <Documentation>Enables this animation cue.</Documentation>
582
      </IntVectorProperty>
583 584 585 586
      <IntVectorProperty command="SetTimeMode"
                         default_values="0"
                         name="TimeMode"
                         number_of_elements="1">
587
        <EnumerationDomain name="enum">
588 589 590 591
          <Entry text="Normalized"
                 value="0" />
          <Entry text="Relative"
                 value="1" />
592 593
        </EnumerationDomain>
      </IntVectorProperty>
594 595 596 597 598 599 600 601 602 603 604 605
      <DoubleVectorProperty command="SetStartTime"
                            default_values="0"
                            name="StartTime"
                            number_of_elements="1"></DoubleVectorProperty>
      <DoubleVectorProperty command="SetEndTime"
                            default_values="1"
                            name="EndTime"
                            number_of_elements="1"></DoubleVectorProperty>
      <StringVectorProperty command="SetScript"
                            default_values="def start_cue(self): pass&#xa;&#xa;def tick(self): pass&#xa;&#xa;def end_cue(self): pass"
                            name="Script"
                            number_of_elements="1">
606
        <Hints>
607
          <Widget type="multi_line" />
608
        </Hints>
609 610
        <Documentation>This property contains the text for the script to
        execute.</Documentation>
611 612 613 614
      </StringVectorProperty>
      <!-- end of PythonAnimationCue -->
    </Proxy>
  </ProxyGroup>
615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658
  <ProxyGroup name="exporters">
    <!-- Proxy group for exporters used to export views.  -->
    <RenderViewExporterProxy class="vtkCinemaExporter"
                             name="CinemaExporter">
      <Documentation long_help="Export view to a Cinema Database"
                     short_help="Cinema Database">CinemaExporter is a render window
                     exporter which writes out the renderered scene as a
                     Cinema database.</Documentation>
      <StringVectorProperty name="FileName"
                            command="SetFileName"
                            number_of_elements="1">
        <Documentation>Name of the file to be written.</Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="ViewSelection"
                            command="SetViewSelection"
                            number_of_elements="1">
        <Documentation>Script string defining the view selection.</Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="TrackSelection"
                            command="SetTrackSelection"
                            number_of_elements="1">
        <Documentation>Script string defining the track selection.</Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="ArraySelection"
                            command="SetArraySelection"
                            number_of_elements="1">
        <Documentation>Script string defining the arrays selected in an item.</Documentation>
      </StringVectorProperty>

      <PropertyGroup label="Cinema Configuration"
                     panel_widget="cinema_export_selector">
        <Property name="ViewSelection"/>
        <Property name="TrackSelection"/>
        <Property name="ArraySelection"/>
      </PropertyGroup>
      <Hints>
        <ExporterFactory extensions="cdb" />
      </Hints>
      <!-- End of Cinema Exporter -->
    </RenderViewExporterProxy>
  </ProxyGroup>
659
</ServerManagerConfiguration>