<ModuleInterfaces>
  <Module name="PVDReader"
          class="vtkPVDReaderModule"
          root_name="PVDReader"
          module_type="Reader"
          extensions=".pvd"
          file_description="ParaView Data Files">
    <Source class="vtkXMLCollectionReader"/>
  </Module>
  <Module name="XMLPolyDataReader"
          root_name="XMLPolyDataReader"
          class="vtkPVAdvancedReaderModule"
          module_type="Reader"
          extensions=".vtp"
          file_description="VTK PolyData Files">
    <Source class="vtkXMLPolyDataReader"/>
    <ArraySelection attribute_name="Point"
                    trace_name="PointSelection"/>
    <ArraySelection attribute_name="Cell"
                    trace_name="CellSelection"/>
  </Module>
  <Module name="XMLUnstructuredGridReader"
          root_name="XMLUnstructuredGridReader"
          class="vtkPVAdvancedReaderModule"
          module_type="Reader"
          extensions=".vtu"
          file_description="VTK UnstructuredGrid Files">
    <Source class="vtkXMLUnstructuredGridReader"/>
    <ArraySelection attribute_name="Point"
                    trace_name="PointSelection" />
    <ArraySelection attribute_name="Cell"
                    trace_name="CellSelection"/>
  </Module>
  <Module name="XMLImageDataReader"
          root_name="XMLImageDataReader"
          class="vtkPVAdvancedReaderModule"
          module_type="Reader"
          extensions=".vti"
          file_description="VTK ImageData Files">
    <Source class="vtkXMLImageDataReader"/>
    <ArraySelection attribute_name="Point"
                    trace_name="PointSelection" />
    <ArraySelection attribute_name="Cell"
                    trace_name="CellSelection"/>
  </Module>
  <Module name="XMLStructuredGridReader"
          root_name="XMLStructuredGridReader"
          class="vtkPVAdvancedReaderModule"
          module_type="Reader"
          extensions=".vts"
          file_description="VTK StructuredGrid Files">
    <Source class="vtkXMLStructuredGridReader"/>
    <ArraySelection attribute_name="Point"
                    trace_name="PointSelection" />
    <ArraySelection attribute_name="Cell"
                    trace_name="CellSelection"/>
  </Module>
  <Module name="XMLRectilinearGridReader"
          root_name="XMLRectilinearGridReader"
          class="vtkPVAdvancedReaderModule"
          module_type="Reader"
          extensions=".vtr"
          file_description="VTK RectilinearGrid Files">
    <Source class="vtkXMLRectilinearGridReader"/>
    <ArraySelection attribute_name="Point"
                    trace_name="PointSelection" />
    <ArraySelection attribute_name="Cell"
                    trace_name="CellSelection"/>
  </Module>
  <Module name="XMLPPolyDataReader"
          root_name="XMLPPolyDataReader"
          class="vtkPVAdvancedReaderModule"
          module_type="Reader"
          extensions=".pvtp"
          file_description="VTK PolyData Files (partitioned)">
    <Source class="vtkXMLPPolyDataReader"/>
    <ArraySelection attribute_name="Point"
                    trace_name="PointSelection" />
    <ArraySelection attribute_name="Cell"
                    trace_name="CellSelection"/>
  </Module>
  <Module name="XMLPUnstructuredGridReader"
          root_name="XMLPUnstructuredGridReader"
          class="vtkPVAdvancedReaderModule"
          module_type="Reader"
          extensions=".pvtu"
          file_description="VTK UnstructuredGrid Files (partitioned)">
    <Source class="vtkXMLPUnstructuredGridReader"/>
    <ArraySelection attribute_name="Point"
                    trace_name="PointSelection" />
    <ArraySelection attribute_name="Cell"
                    trace_name="CellSelection"/>
  </Module>
  <Module name="XMLPImageDataReader"
          root_name="XMLPImageDataReader"
          class="vtkPVAdvancedReaderModule"
          module_type="Reader"
          extensions=".pvti"
          file_description="VTK ImageData Files (partitioned)">
    <Source class="vtkXMLPImageDataReader"/>
    <ArraySelection attribute_name="Point"
                    trace_name="PointSelection" />
    <ArraySelection attribute_name="Cell"
                    trace_name="CellSelection"/>
  </Module>
  <Module name="XMLPStructuredGridReader"
          root_name="XMLPStructuredGridReader"
          class="vtkPVAdvancedReaderModule"
          module_type="Reader"
          extensions=".pvts"
          file_description="VTK StructuredGrid Files (partitioned)">
    <Source class="vtkXMLPStructuredGridReader"/>
    <ArraySelection attribute_name="Point"
                    trace_name="PointSelection" />
    <ArraySelection attribute_name="Cell"
                    trace_name="CellSelection"/>
  </Module>
  <Module name="XMLPRectilinearGridReader"
          root_name="XMLPRectilinearGridReader"
          class="vtkPVAdvancedReaderModule"
          module_type="Reader"
          extensions=".pvtr"
          file_description="VTK RectilinearGrid Files (partitioned)">
    <Source class="vtkXMLPRectilinearGridReader"/>
    <ArraySelection attribute_name="Point"
                    trace_name="PointSelection" />
    <ArraySelection attribute_name="Cell"
                    trace_name="CellSelection"/>
  </Module>
  <Module name="legacyreader"
          class="vtkPVReaderModule" root_name="LegaVTK"
          module_type="Reader"
          extensions=".vtk"
          file_description="Legacy VTK files">
    <Source class="vtkPDataSetReader"/>
  </Module>
  <Module name="pvtkfile"
          class="vtkPVAdvancedReaderModule"
          root_name="LegaPVTK"
          output="vtkDataSet"
          module_type="Reader"
          extensions=".pvtk"
          file_description="Legacy VTK Files (partitioned)">
    <Source class="vtkPDataSetReader"/>
  </Module>
  <Module name="ensight"
          class="vtkPVEnSightReaderModule"
          root_name="Ensight"
          module_type="Reader"
          extensions=".case"
          file_description="EnSight Files">
    <Source class="vtkPVEnSightMasterServerReader"/>
    <SelectionList label="Byte order"
                   trace_name="ByteOrder"
                   variable="ByteOrder"
                   help="Select the byte order of the binary file"
                   default_value="0">
      <Item name="big endian" value="0"/>
      <Item name="little endian" value="1"/>
    </SelectionList>
    <SelectTimeSet label="Select time value"
                   trace_name="TimeSet" set_command="SetTimeValue"/>
    <ArraySelection attribute_name="Point"
                    trace_name="PointArrays"/>
    <ArraySelection attribute_name="Cell"
                    trace_name="CellArrays"/>
  </Module>
  <Module name="HDF5RawImageReader"
          root_name="HDF5RawImageReader"
          output="vtkImageData"
          class="vtkPVAdvancedReaderModule"
          module_type="Reader"
          extensions=".h5"
          file_description="HDF5 Raw ImageData Files">
    <Source class="vtkHDF5RawImageReader"/>
    <VectorEntry length="3"
                 variable="Stride" trace_name="Stride" type="int"
                 help="Read a subset of data spaced by the stride."
                 default_value="1 1 1"/>
    <ArraySelection attribute_name="Point"
                    trace_name="PointArrays"/>
  </Module>
  <Module name="vrmlreader"
          class="vtkPVReaderModule" root_name="VRML"
          module_type="Reader"
          extensions=".wrl"
          file_description="VRML 2 Files">
    <Source class="vtkVRMLSource"/>
  </Module>
  <Module name="pdbreader"
          class="vtkPVReaderModule" root_name="PDB"
          module_type="Reader"
          extensions=".pdb"
          file_description="Protein Data Bank Files">
    <Source class="vtkPDBReader"/>
  </Module>
  <Module name="xyzreader"
          class="vtkPVReaderModule" root_name="XYZMol"
          module_type="Reader"
          extensions=".xyz"
          file_description="XMol Molecule Files">
    <Source class="vtkXYZMolReader"/>
    <VectorEntry variable="TimeStep"
                 trace_name="TimeStep" type="int"
                 help="Set the TimeStep"
                 default_value="0"/>
  </Module>
  <Module name="P3DReader"
          class="vtkPVPLOT3DReaderModule"
          root_name="Plot3D"
          module_type="Reader"
          extensions=".xyz"
          file_description="PLOT3D Files">
    <Source class="vtkPLOT3DReader"/>
    <FileEntry label="Q File"
               trace_name="QFileName"
               variable="QFileName" extension="q"
               help="Set the plot3d q file to read."/>
    <LabeledToggle label="Binary"
                   trace_name="BinaryFile"
                   variable="BinaryFile"
                   help="Is this a binary file?"
                   default_value="1"/>
    <LabeledToggle label="Multi-block"
                   trace_name="MultiGrid"
                   variable="MultiGrid"
                   help="Does this file have multiple block information"
                   default_value="0"/>
    <LabeledToggle label="Fortran byte count"
                   trace_name="HasByteCount"
                   variable="HasByteCount"
                   help="Does this file use Fortran leading-trailing byte counts"
                   default_value="0"/>
    <LabeledToggle label="I blanking"
                   trace_name="IBlanking"
                   variable="IBlanking"
                   help="Any visibility information?"
                   default_value="0"/>
    <LabeledToggle label="2D geometry"
                   trace_name="TwoDimensionalGeometry"
                   variable="TwoDimensionalGeometry"
                   help="Is there only data for two dimensions?"
                   default_value="0"/>
    <LabeledToggle label="Force read"
                   trace_name="ForceRead"
                   variable="ForceRead"
                   help="Read even if file looks corrupt?"
                   default_value="0"/>
    <SelectionList label="Byte order"
                   trace_name="ByteOrder"
                   variable="ByteOrder"
                   help="Select the byte order of the binary file"
                   default_value="0">
      <Item name="big endian"
            value="0"/>
      <Item name="little endian"
            value="1"/>
    </SelectionList>
  </Module>
  <Module name="stlreader"
          class="vtkPVReaderModule" root_name="STL"
          module_type="Reader"
          extensions=".stl"
          file_description="Stereo Lithography">
    <Source class="vtkSTLReader"/>
  </Module>
  <Module name="byureader"
          class="vtkPVReaderModule" root_name="BYU"
          module_type="Reader"
          extensions=".g"
          file_description="BYU Files">
    <Source class="vtkBYUReader"/>
  </Module>
  <Module name="gaussiancubereader"
          class="vtkPVAdvancedReaderModule"
          root_name="GaussianCube"
          module_type="Reader"
          extensions=".cube"
          file_description="Gaussian Cube Files">
    <Source class="vtkGaussianCubeReader"/>
    <VectorEntry variable="HBScale"
                 trace_name="HBScale" type="float"
                 help="Set the HB scale"
                 default_value="1.0"/>
    <VectorEntry variable="BScale"
                 trace_name="BScale" type="float"
                 help="Set the B scale"
                 default_value="1.0"/>
  </Module>
  <Module name="popreader"
          class="vtkPVAdvancedReaderModule"
          root_name="POP"
          module_type="Reader"
          extensions=".pop"
          file_description="POP Ocean Files">
    <Source class="vtkPOPReader"/>
    <VectorEntry variable="Radius"
                 trace_name="Radius" type="float"
                 help="Set the radius of the data set"
                 default_value="60000"/>
    <VectorEntry label="Clip Extent"
                 variable="ClipExtent" type="int"
                 length="6"
                 trace_name="ClipExtent"
                 help="For reading a smaller extent."
                 default_value="-2147483647 2147483647 -2147483647 2147483647 -2147483647 2147483647"/>
    <VectorEntry label="Ghost Levels"
                 trace_name="NumberOfGhostLevels"
                 variable="NumberOfGhostLevels"
                 type="int"
                 help="Set the number of ghost levels to read."
                 default_value="1"/>
  </Module>
  <Module name="ensightMS"
          class="vtkPVEnSightReaderModule"
          root_name="EnsightMS"
          module_type="Reader"
          extensions=".sos"
          file_description="EnSight Master Server Files">
    <Source class="vtkPVEnSightMasterServerReader"/>
    <SelectTimeSet label="Select time value"
                   trace_name="TimeSet"
                   set_command="SetTimeValue"/>
    <ArraySelection attribute_name="Point"
                    trace_name="PointArrays"/>
    <ArraySelection attribute_name="Cell"
                    trace_name="CellArrays"/>
  </Module>
  <Module name="ImageReader"
          menu_name="Raw File Reader"
          root_name="ImageRead"
          module_type="Reader"
          class="vtkPVRawReaderModule"
          extensions=".raw"
          file_description="Raw (binary) Files"
          long_help="Read raw regular rectilinear grid data from a file. The dimensions and type of the data must be specified."
          short_help="Read raw regular rectilinear grid data from a file">
    <Source class="vtkImageReader"/>
    <StringEntry label="File pattern"
                 trace_name="FilePattern"
                 variable="FilePattern"
                 default_value="%s"
                 help="Set the format string for building filename. In creating the filename, %s will be replaced by the prefix and %d by a digit which represents the slice number in Z"/>
    <SelectionList label="Data type"
                   trace_name="DataScalarType"
                   variable="DataScalarType" default_value="4"
                   help="Select the pixel type in the file: short, int, float ...">
      <Item name="char" value="2"/>
      <Item name="unsigned char" value="3"/>
      <Item name="short" value="4"/>
      <Item name="unsigned short" value="5"/>
      <Item name="int" value="6"/>
      <Item name="unsigned int" value="7"/>
      <Item name="long" value="8"/>
      <Item name="unsigned long" value="9"/>
      <Item name="float" value="10"/>
      <Item name="double" value="11"/>
    </SelectionList>
    <SelectionList label="Byte order"
                   trace_name="DataByteOrder"
                   variable="DataByteOrder"
                   help="Select the byte order of the binary file"
                   suppress_reset="1"
                   default_value="0">
      <Item name="big endian"
            value="0"/>
      <Item name="little endian"
            value="1"/>
    </SelectionList>
    <SelectionList label="File Dimensionality"
                   trace_name="Dimensionality"
                   variable="FileDimensionality"
                   help="The number of dimensions stored in a file."
                   default_value="3">
      <Item name="2"
            value="2"/>
      <Item name="3"
            value="3"/>
    </SelectionList>
    <VectorEntry label="Origin"
                 trace_name="Origin" variable="DataOrigin"
                 type="float" length="3"
                 help="Set the position of the point with index (0,0,0)"
                 default_value="0.0 0.0 0.0"/>
    <VectorEntry label="Spacing"
                 trace_name="Spacing" variable="DataSpacing"
                 type="float" length="3"
                 help="Set the size of a voxel in each dimension."
                 default_value="1.0 1.0 1.0"/>
    <VectorEntry label="Extent"
                 trace_name="Extent" variable="DataExtent"
                 type="int" length="6"
                 help="Set the min and max values of the data in each dimension"
                 default_value="0 0 0 0 0 0"/>
    <VectorEntry label="Num. components"
                 trace_name="NumberOfScalarComponents"
                 variable="NumberOfScalarComponents" type="int"
                 help="How many componenets does each pixel have. (i.e. RGB would be 3.)"
                 default_value="1"/>
    <StringEntry label="Array name"
                 trace_name="ArrayName"
                 variable="ScalarArrayName"
                 help="Name to assign to array read"
                 default_value="ImageFile"/>
  </Module>
#ifdef PARAVIEW_LINK_XDMF
  <Module name="XdmfReader"
          root_name="XdmfReader"
          output="vtkDataSet"
          class="vtkXDMFReaderModule"
          module_type="Reader"
          extensions=".xmf .xdmf"
          file_description="Xdmf Reader">
    <Source class="vtkXdmfReader"/>
    <ArraySelection trace_name="point_array_sel"
                    attribute_name="Cell" />
    <ArraySelection trace_name="cell_array_sel"
                    attribute_name="Point" />
    <VectorEntry label="Stride"
                 trace_name="stride" variable="Stride" type="int"
                 length="3"
                 default_value="1 1 1"
                 help="Set the number of steps to skip between each point (structured data only)."/>
    <XDMFParameters trace_name="xdmf_parameters"
                    label="Parameters" />
  </Module>
#endif
#ifdef PARAVIEW_USE_EXODUS
  <Module name="ExodusReader"
          root_name="ExodusReader"
          output="vtkUnstructuredGrid"
          class="vtkPVAdvancedReaderModule"
          module_type="Reader"
          extensions=".e .ex2 .exo .gen .0 .00 .000 .0000"
          file_description="Exodus">
    <StringEntry variable="FilePrefix"
                 extension="*" label="File prefix"
                 init_source="FilePrefix"
                 trace_name="file_prefix"
                 help="Set the file root. Used with file pattern to format a file name." />
    <StringEntry variable="FilePattern"
                 label="File Pattern"
                 init_source="FilePattern"
                 trace_name="file_pattern"
                 help="Pattern used to load files. There are two parts to it prefix (%s) and the file number (%i)" />
    <VectorEntry variable="FileRange"
                 label="Range of files" type="int"
                 trace_name="file_range"
                 length="2"
                 help="Range of files that are loaded" />
    <Scale variable="TimeStep"
           type="int"
           label="Time step" trace_name="TimeStep"
           help="Set the current timestep."
           range_source="TimeStepRange" />
    <Source class="vtkPExodusReader"/>
    <ArraySelection trace_name="cell_array_sel"
                    attribute_name="Cell" />
    <ArraySelection trace_name="point_array_sel"
                    attribute_name="Point" />
    <ArraySelection trace_name="block_sel"
                    attribute_name="Block"/>
    <LabeledToggle label="Block Ids"
                   variable="GenerateBlockIdCellArray"
                   trace_name="block_ids"
                   help="Select whether the reader generates block ids" default_value="1"/>
    <LabeledToggle label="Global Node Ids"
                   variable="GenerateGlobalNodeIdArray"
                   trace_name="global_node_ids"
                   help="Select whether the reader generates global node ids" default_value="1"/>
    <LabeledToggle label="Global Element Ids"
                   variable="GenerateGlobalElementIdArray"
                   trace_name="blobal_element_ids"
                   help="Select whether the reader generates global element ids" default_value="0"/>
  </Module>
#endif
#ifdef PARAVIEW_USE_SAF
  <Module name="SAFReader"
          root_name="SAFReader"
          output="vtkUnstructuredGrid"
          class="vtkPVSAFReaderModule"
          module_type="Reader" extensions=".saf"
          file_description="SAF Reader">
    <Source class="vtkSAFPVReader"/>
    <Scale variable="TimeStep"
           type="int"
           label="Time step" trace_name="TimeStep"
           help="Set the current timestep."
           range_source="TimeStepRange" />
    <ArraySelection trace_name="variable_sel"
                    attribute_name="Variable"  />
    <ArraySelection trace_name="block_sel"
                    attribute_name="Block"  />
  </Module>
#endif
  <Module name="AVSucdReader"
          class="vtkPVAdvancedReaderModule"
          root_name="UCD"
          output="vtkUnstructuredGrid" module_type="Reader"
          extensions=".inp"
          file_description="AVS UCD Binary/ASCII Files">
    <Source class="vtkAVSucdReader"/>
    <ArraySelection trace_name="point_array_sel"
                    attribute_name="Point"/>
    <ArraySelection trace_name="cell_array_sel"
                    attribute_name="Cell"/>
  </Module>
  <Module name="Meta Image Reader"
          class="vtkPVReaderModule"
          root_name="MIReader"
          module_type="Reader"
          extensions=".mhd .mha"
          file_description="Meta Image Data Files">
    <Source class="vtkMetaImageReader"/>
  </Module>
</ModuleInterfaces>
