<ModuleInterfaces>

<Module name="GlyphSource2D" menu_name="2D Glyph" root_name="Glyph2D"
        module_type="Source"
        long_help="2D glyph source"
        short_help="Create a 3D arrow">
  <Source class="vtkGlyphSource2D"/>
  <SelectionList variable="GlyphType" label="Glyph type"
                 trace_name="GlyphType" help="Select the glyph type."
                 default_value="9">
    <Item name="Vertex"       value="1"/>
    <Item name="Dash"         value="2"/>
    <Item name="Cross"        value="3"/>
    <Item name="Thick Cross"  value="4"/>
    <Item name="Triangle"     value="5"/>
    <Item name="Square"       value="6"/>
    <Item name="Circle"       value="7"/>
    <Item name="Diamond"      value="8"/>
    <Item name="Arrow"        value="9"/>
    <Item name="Thick Arrow"  value="10"/>
  </SelectionList>
  <LabeledToggle variable="Filled" trace_name="Filled" default_value="0"
                 help="Specify whether the glyph is filled (a polygon) or not (a closed polygon defined by line segments). This only applies to 2D closed glyphs"/>
</Module>

#ifdef PARAVIEW_BUILD_DEVELOPMENT
<Module name="CTHFractal" menu_name="CTHFractal" root_name="CTHFractal"
        module_type="Source" 
        long_help="Test source for CTH AMR" 
        short_help="CTH AMR">
  <Source class="vtkCTHFractal"/>
<!-- should use widget that keeps values non-negative -->
  <VectorEntry label="Dimension" trace_name="Dimension"
               variable="Dimensions" type="int" default_value="10"
               help="XYZ cell dimensions of a block"/>
  <VectorEntry label="FractalValue" trace_name="FractalValue"
               variable="FractalValue" type="float" default_value="9.5"
               help="Map this value to 0.5 for use as a volume fraction."/>
<!-- should use widget that keeps value non-negative -->
  <VectorEntry label="MaximumLevel" trace_name="MaximumLevel"
               variable="MaximumLevel" type="int" default_value="6"
               help="Determines how deep to refine the grid."/>
  <LabeledToggle variable="GhostLevels" trace_name="GhostLevels" 
                 default_value="0"
                 help="Set whether to generate overlapping ghost levels." />
</Module>
#endif

<Module name="VectorText" menu_name="3D Text" root_name="VectorText"
        module_type="Source" 
        long_help="3D geometric representation of a text string." 
        short_help="Create a 3D text object">
  <Source class="vtkVectorText"/>
  <StringEntry variable="Text" trace_name="Text"
               help="Enter the text to display"
               default_value="3D Text"/>
</Module>


<Module name="ArrowSource" menu_name="Arrow" root_name="Arrow"
        module_type="Source" 
        long_help="3D arrow with a long cylindrical shaft and a cone for the tip." 
        short_help="Create a 3D arrow">
  <Source class="vtkPVArrowSource"/>
<!-- Scales are used here because vtkArrowSource sets these ranges for these parameters. -->
  <Scale label="Tip resolution" trace_name="TipResolution"
               variable="TipResolution"
               help="Set the number of faces on the tip."
               default_value="6"
               resolution="1"
               range="1 128"
               display_entry="1"
               entry_and_label_on_top="0"
               display_value="0"/>
  <Scale label="Tip radius" trace_name="TipRadius"
               variable="TipRadius"
               help="Set the radius of the widest part of the tip."
               default_value="0.1"
               resolution="0.01"
               range="0 10"
               display_entry="1"
               entry_and_label_on_top="0"
               display_value="0"/>
  <Scale label="Tip length" trace_name="TipLength"
               variable="TipLength"
               help="Set the length of the tip (the whole arrow is length 1)"
               default_value="0.35"
               resolution="0.01"
               range="0 1"
               display_entry="1"
               entry_and_label_on_top="0"
               display_value="0"/>
  <Scale label="Shaft resolution" trace_name="ShaftResolution"
               variable="ShaftResolution"
               help="Set the number of faces on shaft"
               default_value="6"
               resolution="1"
               range="0 128"
               display_entry="1"
               entry_and_label_on_top="0"
               display_value="0"/>
  <Scale label="Shaft radius" trace_name="ShaftRadius"
               variable="ShaftRadius"
               help="Set the radius of the shaft"
               default_value="0.03"
               resolution="0.01"
               range="0 5"
               display_entry="1"
               entry_and_label_on_top="0"
               display_value="0"/>
</Module>

<Module name="Axes" root_name="Axes" module_type="Source" 
        long_help="Three lines representing the axes - red line along X, green line along Y, and blue line along Z." 
        short_help="Create three lines representing X, Y and Z axes">
  <Source class="vtkAxes"/>
  <VectorEntry label="Scale" trace_name="ScaleFactor" variable="ScaleFactor"
               type="float" default_value="1.0"
               help="Set the size of the axes"/>
  <VectorEntry variable="Origin" trace_name="Origin"  type="float" 
               length="3" default_value="0.0 0.0 0.0"
               help="Set the x, y, z coordinates of the origin of the axes" />
  <LabeledToggle variable="Symmetric" trace_name="Symmetric"
                 default_value="0"
                 help="Select whether to display the negative axes" />
</Module>

<Module name="CubeSource" menu_name="Box" root_name="Cube" 
        module_type="Source" 
        long_help="3D box with specified X, Y, and Z lengths." 
        short_help="Create a box with specified X, Y, and Z lengths.">
  <Source class="vtkCubeSource"/>
<!-- should use widget that keeps value non-negative -->
  <VectorEntry label="X length" trace_name="XLength" variable="XLength" 
               type="float" default_value="1.0"
               help="The length of the cube in the x direction." />
<!-- should use widget that keeps value non-negative -->
  <VectorEntry label="Y length" trace_name="YLength" variable="YLength" 
               type="float" default_value="1.0"
               help="The length of the cube in the y direction." />
<!-- should use widget that keeps value non-negative -->
  <VectorEntry label="Z length" trace_name="ZLength" variable="ZLength" 
               type="float" default_value="1.0"
               help="The length of the cube in the z direction." />
  <VectorEntry variable="Center" trace_name="Center" length="3" 
               type="float" default_value="0.0 0.0 0.0"
               help="Set the center of the cube." />
</Module>

<Module name="ConeSource" menu_name="Cone" root_name="Cone" 
        module_type="Source" 
        long_help="3D cone of a given radius and height." 
        short_help="Create a 3D cone of a given radius and height">
  <Source class="vtkConeSource"/>
  <Scale variable="Resolution" trace_name="Resolution"
               default_value="6" resolution="1" range="0 512"
               display_entry="1" display_value="0" entry_and_label_on_top="0"
               help="Set the number of faces on this cone" />
<!-- should use widget that keeps value non-negative -->
  <VectorEntry variable="Radius" trace_name="Radius"
               type="float" default_value="0.5"
               help="Set the radius of the widest part of the cone" />
<!-- should use widget that keeps value non-negative -->
  <VectorEntry variable="Height" trace_name="Height"
               type="float" default_value="1.0"
               help="Set the height of the cone" />
  <LabeledToggle variable="Capping" trace_name="Capping" default_value="1"
                 help="Set whether to draw the base of the cone" />
</Module>

<Module name="CylinderSource" menu_name="Cylinder" root_name="Cyl" 
        module_type="Source" 
        long_help="3D cylinder of a given radius and height." 
        short_help="Create a 3D cylinder of a given radius and height">
  <Source class="vtkCylinderSource"/>
  <Scale variable="Resolution" trace_name="Resolution"
               default_value="6" resolution="1" range="0 512"
               display_entry="1" entry_and_label_on_top="0" display_value="0"
               help="The number of facets used to define the cylinder." />
<!-- should keep value that keeps value non-negative -->
  <VectorEntry variable="Height" trace_name="Height"
               type="float" default_value="1.0"
               help="The height of the cylinder (along the y axis)." />
<!-- should keep value that keeps value non-negative -->
  <VectorEntry variable="Radius" trace_name="Radius"
               type="float" default_value="0.5"
               help="The radius of the cylinder." />
  <VectorEntry variable="Center" trace_name="Center" type="float" length="3"
               default_value="0.0 0.0 0.0" 
               help="Set the center of the cylinder." />
  <LabeledToggle variable="Capping" trace_name="Capping" default_value="1"
                 help="Set whether to draw the ends of the cylinder" />
</Module>

<Module name="LineSource" menu_name="Line" root_name="Line" 
        module_type="Source" 
        long_help="Line between two points. The resolution indicates how many segments are in the line." 
        short_help="Create a line between two points">
  <Source class="vtkLineSource"/>
  <LineWidget trace_name="Line" 
              point1_variable="Point1" point2_variable="Point2"
              point1_label="Point 1" point2_label="Point 2"
              show_resolution="0"
              help="Set the start and end point for the line"/>
<!-- should use widget that keeps value positive -->
  <VectorEntry variable="Resolution" trace_name="Resolution" 
               type="int" default_value="1"
               help="The number of pieces that divide the line into." />
</Module>
<Module name="ImageMandelbrotSource" menu_name="Mandelbrot" 
        root_name="Fractal" module_type="Source" 
        long_help="Representation (unsigned char ) of the Mandlebrot set in up to 3 dimensions." 
        short_help="Create a Mandelbrot representation">
  <Source class="vtkImageMandelbrotSource"/>
  <VectorEntry label="Extent" trace_name="Extent" variable="WholeExtent" 
               type="int" length="6" default_value="0 250 0 250 0 0"
               help="Set the min and max values of the data in each dimension" />
  <VectorEntry label="Sub-space" trace_name="SubSpace" 
               variable="ProjectionAxes" type="int" 
               length="3" default_value="0 1 2"
               help="Choose which axes of the data set to display" />
  <VectorEntry label="Origin" trace_name="Origin" variable="OriginCX" 
               type="float" length="4" default_value="-1.75 -1.25 0.0 0.0"
               help="Set the imaginary and real values for C (constant) and X (initial value)" />
  <VectorEntry label="Size" trace_name="Size" variable="SizeCX" type="float" 
               length="4" default_value="2.5 2.5 2.0 1.5"
               help="Set the inaginary and real values for the world size of the volume for C (constant) and X (initial value)" />
  <Scale label="Max. iterations" trace_name="MaxIterations" 
               variable="MaximumNumberOfIterations"
               default_value="100" resolution="1" range="1 5000"
               display_entry="1" display_value="0" entry_and_label_on_top="0"
               help="The limit on computational iterations. Values less than 2.0 after this many iterations are considered in the set."/>
</Module>
<Module name="MazeSource" menu_name="Maze" root_name="Maze" 
        module_type="Source" 
        long_help="2D Maze of lines." 
        short_help="Random maze">
  <Source class="vtkMazeSource"/>
  <VectorEntry variable="XSize" trace_name="XSize" 
               type="int" default_value="20" 
               help="Width of the maze." />
  <VectorEntry variable="YSize" trace_name="YSize" 
               type="int" default_value="20" 
               help="Height of the maze." />
  <VectorEntry variable="RunFactor" trace_name="RunLength" 
               type="int" default_value="20" 
               help="A value that influences the run length and branching of the maze." />
  <VectorEntry variable="MagnetFactor" trace_name="MagnetFactor" 
               type="int" default_value="4" 
               help="When this value is larger than 1, new paths are preferentially formed adjacent to existing paths." />
  <VectorEntry variable="RandomSeed" trace_name="RandomSeed" 
               type="int" default_value="111" 
               help="Initializes the random number generator." />
  <LabeledToggle variable="ShowSolution" trace_name="ShowSolution" default_value="0"
               help="Show the solution path." />
</Module>
<Module name="PlaneSource" menu_name="Plane" root_name="Plane" 
        module_type="Source" 
        long_help="Parallelogram given an origin and two points. The resolution indicates the number of division along each axis of the plane." 
        short_help="Create a parallelogram from an origin and two points">
  <Source class="vtkPlaneSource"/>
  <VectorEntry variable="Origin" trace_name="Origin" type="float" length="3" 
               default_value="-0.5 -0.5 0.0"
               help="Set the position of the origin of the plane."/>
  <VectorEntry label="First point" variable="Point1" trace_name="Point1" 
               type="float" length="3" default_value="0.5 -0.5 0.0"
               help="Set the position of the point defining the first axis."/>
  <VectorEntry label="Second point" variable="Point2" trace_name="Point2" 
               type="float" length="3" default_value="-0.5 0.5 0.0"
               help="Set the position of the point defining the second axis."/>
<!-- should use widget that keeps value positive -->
  <VectorEntry label="X resolution" trace_name="XResolution"
               variable="XResolution" type="int" default_value="1"
               help="The number of x pieces that divide the plane into."/>
<!-- should use widget that keeps value positive -->
  <VectorEntry label="Y resolution" trace_name="YResolution"
               variable="YResolution" type="int" default_value="1"
               help="The number of y pieces that divide the plane into."/>
</Module>

<Module name="SphereSource" menu_name="Sphere" root_name="Sphere" 
        module_type="Source" 
        long_help="3D sphere given a center and radius." 
        short_help="Create a 3D sphere">
  <Source class="vtkSphereSource"/>
  <VectorEntry variable="Center" trace_name="Center" type="float" length="3"
               default_value="0.0 0.0 0.0" 
               help="Set the coordinates for the center of the sphere." />
<!-- should use widget that keeps value non-negative -->
  <VectorEntry variable="Radius" trace_name="Radius"
               type="float" default_value="0.5"
               help="Set the radius of the sphere" />
  <Scale label="Theta Resolution" trace_name="Theta Resolution" 
               variable="ThetaResolution"
               default_value="8" resolution="1" range="3 1024" 
               display_entry="1" display_value="0" entry_and_label_on_top="0"
               help="Set the number of points in the longitude direction (ranging from Start Theta to End Theta)" />
  <Scale label="Start Theta" trace_name="Start Theta" 
               variable="StartTheta"
               default_value="0.0" resolution="0.01" range="0 360" 
               display_entry="1" display_value="0" entry_and_label_on_top="0"
               help="Set the starting angle in the longitude direction" />
  <Scale label="End Theta" trace_name="End Theta" variable="EndTheta" 
               default_value="360.0" resolution="0.01" range="0 360"
               display_entry="1" display_value="0" entry_and_label_on_top="0"
               help="Set the ending angle in the longitude direction" />
  <Scale label="Phi Resolution" trace_name="Phi Resolution" 
               variable="PhiResolution" default_value="8" resolution="1"
               range="3 1024" display_entry="1" display_value="0"
               entry_and_label_on_top="0"
               help="Set the number of points in the latitude direction (ranging from Start Phi to End Phi)" />
  <Scale label="Start Phi" trace_name="Start Phi" variable="StartPhi" 
               default_value="0.0" resolution="0.01" range="0 360" 
               display_entry="1" display_value="0" entry_and_label_on_top="0"
               help="Set the starting angle in the latitude direction" />
  <Scale label="End Phi" trace_name="End Phi" variable="EndPhi" 
               default_value="180.0" resolution="0.01" range="0 360" 
               display_entry="1" display_value="0" entry_and_label_on_top="0"
               help="Set the ending angle in the latitude direction" />
</Module>

<Module name="SuperquadricSource" menu_name="Superquadric" root_name="SQuad" 
        module_type="Source" 
        long_help="Superquadric according to the theta and phi roundness parameters. This one function can generate a wide variety of 3D objects including a box, a sphere, or a torus." 
        short_help="Create a superquadric according to the theta and phi roundness parameters">
  <Source class="vtkSuperquadricSource"/>
  <VectorEntry variable="Center" trace_name="Center" type="float" length="3" 
               default_value="0.0 0.0 0.0"
               help="Set the center of the superquadric" />
  <VectorEntry variable="Scale" trace_name="Scale" type="float" length="3" 
               default_value="1.0 1.0 1.0" 
               help="Set the scale of the superquadric" />
  <Scale label="Theta resolution" trace_name="ThetaResolution" 
               variable="ThetaResolution" default_value="16" resolution="1"
               range="8 1024" display_entry="1" display_value="0"
               entry_and_label_on_top="0"
               help="The number of points in the longitude direction."/>
  <Scale label="Phi resolution" variable="PhiResolution" 
               trace_name="PhiResolution" default_value="16" resolution="1"
               range="4 1024" display_entry="1" display_value="0"
               entry_and_label_on_top="0"
               help="The number of points in the latitude direction." />
  <Scale variable="Thickness" trace_name="Thickness" type="float"  
               resolution="0.001" range="0.0001 1" default_value="0.3333"
               display_entry="1" display_value="0" entry_and_label_on_top="0"
               help="Changing thickness maintains the outside diameter of the toroid."/>
  <Scale label="Theta roundness" trace_name="ThetaRoundness" 
               variable="ThetaRoundness" default_value="1.0" resolution="0.01"
               range="0 1" display_entry="1" display_value="0"
               entry_and_label_on_top="0"
               help="Values range from 0 (rectangular) to 1 (circular) to higher order." />
  <Scale label="Phi roundness" trace_name="PhiRoundness" 
               variable="PhiRoundness" default_value="1.0" resolution="0.01"
               range="0 1" display_entry="1" display_value="0"
               entry_and_label_on_top="0"
               help="Values range from 0 (rectangular) to 1 (circular) to higher order."/>
  <VectorEntry variable="Size" trace_name="Size"
               type="float" default_value="0.5"
               help="Isotropic size" />
  <LabeledToggle variable="Toroidal" trace_name="Toroidal" default_value="0" 
                 help="Whether or not the superquadric is toroidal or ellipsoidal" />
</Module>

<Module name="RTAnalyticSource" menu_name="Wavelet" root_name="RTSource" 
        module_type="Source" 
        long_help="Regular rectilinear grid in up to three dimensions with values varying according to a periodic function.">
  <Source class="vtkRTAnalyticSource"/>
  <VectorEntry label="Extent" trace_name="WholeExtent" variable="WholeExtent" 
                type="int" length="6" default_value="-10 10 -10 10 -10 10"
                help="Extent (dimensions) of the function." />
  <VectorEntry variable="Center" trace_name="Center" type="int" length="3" 
               default_value="0.0 0.0 0.0"
               help="Center of the function."/>
  <VectorEntry variable="Maximum" trace_name="Maximum" type="float" 
               default_value="255.0" help="Maximum value of the function"/>
  <VectorEntry label="X Freq." trace_name="XFreq" variable="XFreq" 
               type="float" default_value="60" help="Frequency in X"/>
  <VectorEntry label="Y Freq." trace_name="YFreq" variable="YFreq" 
               type="float" default_value="30" help="Frequency in Y"/>
  <VectorEntry label="Z Freq." trace_name="ZFreq" variable="ZFreq" 
               type="float" default_value="40" help="Frequency in Z"/>
  <VectorEntry label="X Mag." trace_name="XMag" variable="XMag" 
               type="float" default_value="10" help="Wave amplitude in X"/>
  <VectorEntry label="Y Mag." trace_name="YMag" variable="YMag" 
               type="float" default_value="18" help="Wave amplitude in Y"/>
  <VectorEntry label="Z Mag." trace_name="ZMag" variable="ZMag" 
               type="float" default_value="5" help="Wave amplitude in Z"/>
  <VectorEntry label="Standard dev." trace_name="StandardDeviation" 
               variable="StandardDeviation" type="float" default_value="0.5" 
               help="Standard deviation of the gaussian" />
</Module>

</ModuleInterfaces>

