pythonfilter.xml 29.7 KB
Newer Older
1 2
<ServerManagerConfiguration>
  <ProxyGroup name="filters">
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
    <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
                     variable, it has to be accessed through a dictionary
                     called arrays (i.e. arrays['array_name']). The points can
                     be accessed using the points variable.</Documentation>
      <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>
33
      </InputProperty>
34 35 36 37 38
      <StringVectorProperty command="SetExpression"
                            name="Expression"
                            number_of_elements="1">
        <Documentation>The Python expression evaluated during
        execution.</Documentation>
39
      </StringVectorProperty>
40 41 42 43
      <IntVectorProperty command="SetArrayAssociation"
                         default_values="0"
                         name="ArrayAssociation"
                         number_of_elements="1">
44
        <EnumerationDomain name="enum">
45 46 47 48
          <Entry text="Point Data"
                 value="0" />
          <Entry text="Cell Data"
                 value="1" />
49
        </EnumerationDomain>
50 51
        <Documentation>This property controls the association of the output
        array as well as which arrays are defined as variables.</Documentation>
52
      </IntVectorProperty>
53 54 55 56 57
      <StringVectorProperty command="SetArrayName"
                            default_values="result"
                            name="ArrayName"
                            number_of_elements="1">
        <Documentation>The name of the output array.</Documentation>
58
      </StringVectorProperty>
59 60 61 62 63 64 65 66
      <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>
67
      </IntVectorProperty>
68
      <!-- End PythonCalculator -->
69
    </SourceProxy>
70 71 72
    <SourceProxy class="vtkAnnotateGlobalDataFilter"
                 label="Annotate Global Data"
                 name="AnnotateGlobalData">
73 74 75 76 77 78 79 80 81 82 83
      <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>
84 85 86 87
      <InputProperty clean_command="RemoveAllInputs"
                     command="AddInputConnection"
                     multiple_input="1"
                     name="Input">
88
        <ProxyGroupDomain name="groups">
89 90
          <Group name="sources" />
          <Group name="filters" />
91 92
        </ProxyGroupDomain>
        <DataTypeDomain name="input_type">
93
          <DataType value="vtkDataSet" />
94
        </DataTypeDomain>
95
        <InputArrayDomain attribute_type="field"
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
                          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>
        <Documentation>Choose arrays that is going to be
        displayed</Documentation>
      </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
        value</Documentation>
      </StringVectorProperty>
119 120 121 122 123 124 125 126
      <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>
127 128 129 130 131 132 133
      <StringVectorProperty command="SetPostfix"
                            default_values=""
                            name="Suffix"
                            number_of_elements="1">
        <Documentation>Text that is used as a suffix to the field
        value</Documentation>
      </StringVectorProperty>
134 135 136 137 138 139 140
      <Hints>
        <Visibility replace_input="0" />
        <OutputPort index="0"
                    name="Output-0"
                    type="text" />
      </Hints>
      <!-- End AnnotateGlobalData -->
141
    </SourceProxy>
142 143 144
    <SourceProxy class="vtkAnnotateAttributeDataFilter"
                 label="Annotate Attribute Data"
                 name="AnnotateAttributeData">
145 146 147 148 149 150 151 152 153 154
      <Documentation short_help="Adds a text annotation to a Rander View">
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.
155 156 157 158 159 160 161 162 163 164 165 166 167
      </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"
168
                          name="input_array" />
169 170 171 172 173 174
           <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>
175 176 177 178 179 180 181
      <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">
182 183 184 185 186
          <RequiredProperties>
            <Property function="Input"
                      name="Input" />
          </RequiredProperties>
        </ArrayListDomain>
187 188 189 190 191 192 193 194
        <FieldDataDomain name="field_list">
          <RequiredProperties>
            <Property function="Input"
                      name="Input" />
          </RequiredProperties>
        </FieldDataDomain>
        <Documentation>This property indicates the name of the array from which
        to compute the histogram.</Documentation>
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 224 225 226
      </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>
227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252
    <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">
                     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
                     variable, it has to be accessed through a dictionary
                     called arrays (i.e. arrays['array_name']).</Documentation>
      <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">
253
          <DataType value="vtkDataObject" />
254 255
        </DataTypeDomain>
        <Documentation>Set the input of the filter.</Documentation>
256
      </InputProperty>
257 258 259 260 261 262 263 264 265 266 267 268 269
      <IntVectorProperty command="SetArrayAssociation"
                         default_values="2"
                         name="ArrayAssociation"
                         number_of_elements="1">
        <Documentation>Select the attribute to use to popular array names from.</Documentation>
        <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"
270 271 272 273 274 275 276
                            name="Expression"
                            number_of_elements="1">
        <Documentation>The Python expression evaluated during execution.
        FieldData arrays are direclty available through their name. Set of
        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>
277
      </StringVectorProperty>
278
      <StringVectorProperty command="GetComputedAnnotationValue"
279 280 281
                            information_only="1"
                            name="AnnotationValue">
        <Documentation>Text that is used as annotation</Documentation>
282
      </StringVectorProperty>
283 284 285 286 287 288 289
      <Hints>
        <Visibility replace_input="0" />
        <OutputPort index="0"
                    name="Output-0"
                    type="text" />
      </Hints>
      <!-- End PythonAnnotation -->
290
    </SourceProxy>
291 292 293 294 295 296 297 298 299
    <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
300 301 302
                     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>
303 304 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
      <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"/> -->
355 356
          <Entry text="vtkMolecule"
                 value="33" />
357 358 359 360 361 362 363 364 365
        </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>
366
          <Widget type="multi_line" syntax="python" />
367 368
        </Hints>
        <Documentation>This property contains the text of a python program that
369 370 371
        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>
372 373 374 375
      </StringVectorProperty>
      <StringVectorProperty command="SetInformationScript"
                            label="RequestInformation Script"
                            name="InformationScript"
376 377
                            number_of_elements="1"
                            panel_visibility="advanced">
378
        <Hints>
379
          <Widget type="multi_line" syntax="python" />
380 381 382 383 384 385 386 387
        </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"
388 389
                            number_of_elements="1"
                            panel_visibility="advanced">
390
        <Hints>
391
          <Widget type="multi_line" syntax="python" />
392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407
        </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"
408
                            command="SetParameterInternal"
409 410 411 412 413 414
                            is_internal="1"
                            name="Parameters"
                            number_of_elements_per_command="2"
                            repeat_command="1"></StringVectorProperty>
      <StringVectorProperty command="SetPythonPath"
                            name="PythonPath"
415 416
                            number_of_elements="1"
                            panel_visibility="advanced">
417 418 419
        <Documentation>A semi-colon (;) separated list of directories to add to
        the python library search path.</Documentation>
      </StringVectorProperty>
420 421 422 423 424 425 426
      <DoubleVectorProperty information_only="1"
                            name="TimestepValues"
                            repeatable="1">
        <TimeStepsInformationHelper />
        <Documentation>Available timestep values.</Documentation>
      </DoubleVectorProperty>

427
      <!-- End ProgrammableFilter -->
428
    </SourceProxy>
429
  </ProxyGroup>
430
  <!-- =================================================================== -->
431
  <ProxyGroup name="sources">
432 433 434 435 436 437 438 439 440
    <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
441 442 443
                     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>
444 445 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
      <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"/> -->
482 483
          <Entry text="vtkMolecule"
                 value="33" />
484 485 486 487 488 489 490 491 492
        </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>
493
          <Widget type="multi_line" syntax="python" />
494 495
        </Hints>
        <Documentation>This property contains the text of a python program that
496 497 498
        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>
499 500 501 502
      </StringVectorProperty>
      <StringVectorProperty command="SetInformationScript"
                            label="Script (RequestInformation)"
                            name="InformationScript"
503 504
                            number_of_elements="1"
                            panel_visibility="advanced">
505
        <Hints>
506
          <Widget type="multi_line" syntax="python" />
507 508 509 510 511 512 513
        </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"
514
                            command="SetParameterInternal"
515 516 517 518 519 520
                            is_internal="1"
                            name="Parameters"
                            number_of_elements_per_command="2"
                            repeat_command="1"></StringVectorProperty>
      <StringVectorProperty command="SetPythonPath"
                            name="PythonPath"
521 522
                            number_of_elements="1"
                            panel_visibility="advanced">
523 524 525
        <Documentation>A semi-colon (;) separated list of directories to add to
        the python library search path.</Documentation>
      </StringVectorProperty>
526 527 528 529 530 531
      <DoubleVectorProperty information_only="1"
                            name="TimestepValues"
                            repeatable="1">
        <TimeStepsInformationHelper />
        <Documentation>Available timestep values.</Documentation>
      </DoubleVectorProperty>
532
      <!-- End ProgrammableSource -->
533 534
    </SourceProxy>
  </ProxyGroup>
535 536
  <!-- =================================================================== -->
  <ProxyGroup name="animation">
537 538 539 540 541 542 543 544 545
    <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">
546
        <BooleanDomain name="bool" />
547
        <Documentation>Enables this animation cue.</Documentation>
548
      </IntVectorProperty>
549 550 551 552
      <IntVectorProperty command="SetTimeMode"
                         default_values="0"
                         name="TimeMode"
                         number_of_elements="1">
553
        <EnumerationDomain name="enum">
554 555 556 557
          <Entry text="Normalized"
                 value="0" />
          <Entry text="Relative"
                 value="1" />
558 559
        </EnumerationDomain>
      </IntVectorProperty>
560 561 562 563 564 565 566 567 568 569 570 571
      <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">
572
        <Hints>
573
          <Widget type="multi_line" />
574
        </Hints>
575 576
        <Documentation>This property contains the text for the script to
        execute.</Documentation>
577 578 579 580
      </StringVectorProperty>
      <!-- end of PythonAnimationCue -->
    </Proxy>
  </ProxyGroup>
581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624
  <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>
625
</ServerManagerConfiguration>