In this chapter, we will discuss the parts of the ParaView user interface. Shown below is the ParaView GUI as it appears at start-up on Windows after an initial data set is loaded.
The parts of the main window of the ParaView user interface labeled in the above image will be described in detail in this chapter. Following the sections about the labeled parts of the interface, we will discuss the Pipeline Browser for moving between data sets in ParaView. Then we will describe some application settings available for ParaView. We will end the chapter by discussing ParaView's rendering parameters.
Because ParaView is built on top of VTK, it inherits its pipeline architecture. ParaView’s user interface is designed to make connecting the pieces of the pipeline more intuitive. A diagram of the current visualization pipeline is visible in the Pipeline Browser. Changing the connections in the pipeline can be done by right-clicking a filter in the Pipeline Browser and selecting Change Input from the context menu or by selecting Change Input from the Edit menu.
There are eight menus in the menu bar at the top of the main ParaView window. The functionality in each of these menus is described below. The Filters menu is initially grayed out because no data has been loaded; filters can only be applied to data that has been loaded into the application.
The File menu handles various tasks involving loading data, saving data, and server connections. Each entry in the File menu is described below.
Open: This allows you to load data files. The data file formats ParaView supports are described in section Error: Reference source not found, Error: Reference source not found.
Recent Files: If you have previously loaded data into ParaView, a list of the most recently opened files will be available from the Recent Files submenu. Files are listed according to the server connection used when they were last loaded. Selecting a file from this submenu will load it into ParaView.
Load State and Save State: These entries handle saving and loading ParaView state files. These files capture the current state of the ParaView server manager, allowing the user to recreate a particular visualization and restore the state of the ParaView application.
Save Data: This menu option allows you to save the data you are currently visualizing to a data file. ParaView allows you to save your data in a variety of data file formats. See section Error: Reference source not found.
Save Screenshot: This allows you to save the selected view (highlighted in red) to an image file. ParaView supports saving images in several standard image formats: PNG, BMP, TIFF, PPM, and JPG. Saving the view image to a PDF is also supported.
Save Animation: This menu option allows you to save the result of an animation. The animation can be saved as a series of images (JPEG, TIFF, or PNG) or as an AVI movie file.
Save Geometry: This entry allows you to save the geometry created by an animation in the PVD file format.
Connect: Connect the ParaView client to a ParaView server. This menu option will disconnect ParaView from the server that it is connected to, and establish a new connection with a server that you choose. Chapter Error: Reference source not found describes the client and server components of ParaView and dialog that this button initiates to let you choose a server in detail.
Disconnect: Disconnect the ParaView client from a ParaView server, and establish a connection with the builtin server. Whenever you disconnect from a server, the server process is shut down and the datasets in its memory are destroyed. Before actually disconnecting, ParaView displays a dialog box that gives you the chance to verify that you have not attempted to disconnect accidentally.
Exit: This last item on the File menu closes the ParaView application. Clicking the X in the upper right corner of the application window has the same effect.
Undo/Redo: Undo the last action (or redo the last undone action) performed in ParaView not related to changing the point of view or orientation for viewing data in a 3D view. This is the same functionality provided by the Undo/Redo controls toolbar.
Undo/Redo Camera: Undo the last camera-related action (or redo the last undone action of this type). Camera-related actions include changing the viewpoint for looking at the data in the 3D scene (rotating, panning, zooming, selecting one of the axis-aligned views) or changing the orientation for viewing the data (rolling).
Change Input: Choose a new input for the item selected in the Pipeline Browser. This only works for filters in the pipeline since sources and readers do not have inputs. The user interface for choosing a new input is discussed in section 1.6 later in this chapter.
Delete: Remove the item selected in the Pipeline Browser from the visualization pipeline. This can only be done if the selected item is at the end of the pipeline (i.e., no filters are connected to it).
Delete All: This option removes any readers, sources, or filters you have created. This is the equivalent of going to the Properties tab for each data set and pressing the Delete button or selecting each data set in the Pipeline Browser and selecting Delete from the View menu (see above) for it
Interact: Click and drag in a 3D view to change the point of view or orientation for viewing the data set. Changing which mouse and key bindings are associated with which interactions is discussed in section Error: Reference source not found.
The next four entries in the View menu change ParaView’s mouse interaction mode so that clicking and dragging in a 3D view draws a selection rectangle. Which points or cells are selected depends on which mode is chosen. Regardless, the appearance of the selection can be specified using the Selection Inspector, discussed later in this chapter.
Select Cells On: Draw a selection rectangle to select cells located on the surface of a data set.
Select Points On: Draw a selection rectangle to select points located on the surface of a data set.
Select Cells Through: Draw a selection rectangle to select cells through a data set regardless of their depth relative to the visible surface.
Select Points Through: Draw a selection rectangle to select points through a data set regardless of their depth relative to the visible surface.
Settings: Selecting this option displays a dialog box that controls the settings for the ParaView application as a whole. In the left column of the dialog box is a tree structure for selecting which settings to view and/or change.
When General is selected in the left column, there is only one control in the main portion of the dialog. It is a drop-down menu for selecting which type of rendering view is the default. The options are 3D View, Bar Chart, XY Plot, 3D View (Comparative), and Spreadsheet View. These different types of views are discussed later in this chapter. The initial value for Default View is 3D View.
Use Immediate Mode Rendering: If immediate mode rendering is not used, then display lists are used during rendering. Display lists can improve rendering speed for small data sets or those whose geometry does not change. For cases other than these, using display lists can slow rendering times because of the memory they consume and the overhead of re-creating them.
Use triangle strips: If this option is selected, then the triangles in your data set will be combined into triangle strips before they are drawn. This may improve rendering speed. However, it also changes how normals are generated during the rendering process if your data set does not already contain them, so the shading of the data set will be different depending on whether this option is selected. Also, you can not currently color by cell-centered attributes properly when triangle strips are enabled.
The LOD Parameters (in Render View, General settings) are described in section Error: Reference source not found.
The Camera settings of the Render View section are discussed in section Error: Reference source not found. These settings control the mapping between mouse movements and interactions in the 3D view.
The Server settings of the Render View section are discussed in sections Error: Reference source not found and Error: Reference source not found. These settings control various properties of remote rendering.
View Settings: The View Settings entry in the Edit menu displays a dialog for changing properties of the selected view. The contents of this dialog change depending on which view type is selected. The various view types are discussed in chapter Error: Reference source not found.
ParaView’s View menu controls which inspectors and views are displayed in the ParaView user interface. (See the next section for a description of inspectors and views.)
Camera: Using the entries in this submenu, you can position the camera (viewing position) to view the 3D scene from any of the six major viewing directions. The first entry, Reset, positions the camera so that the objects in the selected view are all within the viewing frustum, making everything visible so long as it is not behind another object in the scene.
Show Center: Toggle the visibility of the axes marking the center of rotation.
Reset Center: Reposition the center of rotation so that it is at the center of the bounds of the data set selected in the Pipeline Browser.
Pick Center: Left-click in the 3D view to select the center of rotation. If you click on a data set, the center of rotation will lie on the surface of the data set located at the location you clicked.
Show Color Legend: Toggle the visibility of the color legend (scalar bar) for the selected data set in the selected view. The range of values displayed in the color legend is determined by the scalar or vector array chosen for coloring the selected data set.
Toolbars: This submenu lists the various toolbars available in ParaView and allows you to toggle the visibility of each. See the Toolbars section later in this chapter for a description of each toolbar.
Animation Inspector: The Animation Inspector provides a means for adding and editing time frames in an animation. Please see section Error: Reference source not found for more information.
Animation View: The Animation View displays a timeline viewer for animation in ParaView. Such an interface should be fairly familiar to users of movie creation software. Please see section Error: Reference source not found for more information.
Comparative View Inspector: The Comparative View Inspector provides controls for setting up a comparative visualization: rendering in a multi-paned 3D view where each pane shows the output of the visualization pipeline with a different setting for one or two visualization parameters. Please see section Error: Reference source not found for more information.
Selection Inspector: The Selection Inspector entry toggles the visibility of the Selection Inspector in ParaView’s user interface. See section Error: Reference source not found for more information about the Selection Inspector.
The next two entries in the View menu relate to lookmarks. The purpose of lookmarks is to save and restore particular views of one or more datasets.
Lookmark Browser: The Lookmark Browser may be shown or hidden using its entry in the View menu; it is also available from the right-click menu in the Lookmarks toolbar. It contains a list of all lookmarks available in the current ParaView session, and it is useful for the reasons listed below. Using the buttons at the top of the browser, you may export (to a file) or delete multiple lookmarks at once as well as import lookmarks from a file. Importing lookmarks will concatenate them to the end of the Lookmark Browser. Double-clicking an item in the browser will apply that lookmark to the selected view. Finally, if the Lookmark Inspector (see next item) is open at the same time as the Lookmark Browser, the inspector will display the properties of the lookmark currently selected in the browser.
Lookmark Inspector: The Lookmark Inspector displays the properties of a lookmark. The lookmark that it displays is changed by either selecting a new item in the Lookmark Browser or by choosing Edit in the right-click menu of an item in the Lookmarks toolbar. From the Lookmark Inspector, you can apply the lookmark in the active view or delete it entirely by using the buttons at the top. The Pipeline View portion of the lookmark inspector displays the pipeline that has been saved in the lookmark and that will be generated when the lookmark is applied. The name and description of a lookmark can be edited, but the Save button must be pressed for these changes to take effect. The user also has control over two properties of how lookmarks behave when they are applied. When a lookmark is created, the time value and camera properties in the selected view (highlighted in red) are stored in the lookmark. When the lookmark is applied, these saved values (time value and/or camera properties) can be restored. This behavior is controlled by two checkboxes at the bottom of the Lookmark Inspector. By default, neither of these values is applied with the lookmark. If you select or deselect one of these checkboxes, then the Save button must be pressed for the changes to take effect the next time the lookmark is applied.
Object Inspector: Toggle the visibility of the panel containing the Properties, Display, and Information tabs corresponding to the data set selected in the Pipeline Browser. See chapter Error: Reference source not found for more information about the Object Inspector.
Pipeline Browser: This entry from the View menu turns on/off the Pipeline Browser, the user interface component that shows the names of the data sets and filters currently loaded in ParaView and the connections between them. See section 1.6 later in this chapter for more information about the Pipeline Browser.
Statistics View: Selecting this entry toggles the visibility of the Statistics View. This view lists basic statistical information for each instance of a reader, source, or filter used in the current ParaView session, including its name several pieces of information about its output (i.e., the dataset type, the number of cells and points, the amount of memory it consumes, and its spatial bounds).
The Sources menu lists the various sources you can use to create data sets within ParaView. In ParaView, a source is an object that creates data without using another data set as input or reading data from a file. For example, the Cone source creates a cone in the 3D scene. User interface controls are provided to manipulate the parameters of the cone. Each of the sources is described in detail in Appendix Error: Reference source not found.
The Filters menu provides access to the filters you can apply to data sets in ParaView. It contains the following submenus: Recent, Common, Data Analysis, and Alphabetical. The Recent submenu lists the filters (up to 10) that you have most recently added to the visualization pipeline, allowing easier access to the filters you use most frequently. The Common submenu lists the same filters that are available on the Filters toolbar, described later in this chapter. These are filters that most ParaView users will use often. The filters listed in the Data Analysis submenu are useful for analyzing quantitative aspects of a data set. The Alphabetical submenu lists all the filters available in ParaView in alphabetical order. The state of the entries (enabled or disabled) in these submenus changes based on the characteristics of the current data set such as the data set type (polygonal, rectilinear, etc.) and information about the associated point- and cell-based data. (See section Error: Reference source not found for information about the data set types ParaView supports.) The Filters menu is inactive until a data set has been created in ParaView. Appendix Error: Reference source not found contains a description of each of the filters in ParaView.
The entries in this menu control moving between frames in an animation that has already been created. Please see chapter Error: Reference source not found for more information about creating animations in ParaView.
First Frame: Go to the beginning of the animation.
Previous Frame: Go to the previous frame in the animation.
Play: Play the animation.
Next Frame: Go to the next frame in the animation.
Last Frame: Go to the end of the animation.
Loop: When pressed, the animation plays in a loop. To stop the looping behavior, press this button again. The animation will stop when the end of the animation is reached.
Create Custom Filter: Group one or more filters and their properties into a reusable macro with a name you assign. Through a series of dialogs, you may choose which properties of the filter(s) to expose. When you finish, the new filter is listed in the Alphabetical submenu of the Filters menu with the name you assigned it.
Manage Custom Filters: This dialog box lists any custom filters currently loaded into ParaView. From it, you may import custom filters previously saved to a file, export one or more of the ones in the list to a file, or remove any custom filters listed.
Create Lookmark: Selecting Create Lookmark from the Tools menu will create a lookmark of the active view (highlighted in red). The user must enter a unique name for the lookmark in the dialog box that appears and can (optionally) add a text description that will be stored with the lookmark. Clicking the Create button will store a copy of the lookmark. Lookmarks created in one ParaView session are available in subsequent ParaView sessions unless they are deleted.
Manage Links: From the dialog that appears, you can create property, object, or camera links. You can also edit or remove existing links.
A property link causes a single property of two different objects to have the same value. For example, you could link the center of a sphere object with that of a cone object. When the center of one of these objects changes, the center of the other will be updated accordingly.
An object link causes all of the properties of a given object to be linked to all of the properties of another object. This only makes sense if you have two instances of the same object.
Camera links can also be created using Manage Links; Add Camera Link (see below) is a shortcut.
Add Camera Link: A camera link connects the camera (viewpoint) of two different 3D views so that you are viewing both scenes from the same 3D point and looking in the same direction. This menu option creates a camera link from the active view (highlighted in red) to the one you select (by clicking it after you select the menu option). This functionality is also available by right-clicking on a 3D view. In the Link Manager (see above), a camera link is listed as an object link between two render views.
Manage Plugins: From this dialog, you may load server-side or client-side plugins previously created. Server-side plugins create VTK objects on the server(s); client-side plugins add new user interface elements.
Dump Widget Names: This menu option displays a list of all the Qt widgets being used. This is useful in debugging and testing for making sure all the widgets have reasonable names.
Record Test: This entry allows you to record a ParaView test as either XML or Python. You will first be asked to enter a file name and choose the file type. Then a dialog box will appear listing the full path to the test. It also has a Stop Recording button. Perform whatever actions you wish to have recorded in the test as you normally would in ParaView. When you are finished, click Stop Recording. A test file will be saved using the path and file name you specified.
Record Test Screenshot: Typically this option is used after the Play Test option (see below). It captures a 300x300 pixel image of the selected view and saves it with the file name you specify. This is useful for creating a valid image for regression testing.
Play Test: When you select this item, you choose a file containing either an XML or Python test -- typically one you recorded previously with the Record Test option in this menu. When you load the file, ParaView plays through the test contained in it.
Max Window Size: 300x300: When you record a screenshot for a test in ParaView, the image resolution is 300 x 300. If you want to use mouse interactions in the 3D view in the test, you may want to first use this menu option to force the rendering window in the 3D view to be 300 x 300. This is because ParaView stores mouse interactions in normalized coordinates, and if the interactions are captured in a 300 x 300 window, they will be exactly the same during playback of the test as they were during test recording. If you do not use this option, the results of the interactions may be a little different than what you expect.
Timer Log: Choosing this menu option causes a timer log dialog box to be displayed as shown below. It keeps track of the amount of time various operations take to complete. If you leave this dialog open while ParaView is running, you may click the Refresh button to show the most up-to-date timing information. The Clear button removes all the information currently in the timer log. You may set the Timer Threshold to indicate how often to record new timer events. The Buffer Length indicates how many events to keep in the log; earlier entries will be removed first. Additionally, you may save the contents of the timer log to a text file using the Save button.
Output Window: Any errors or warnings ParaView produces are shown in the Output Window. This window appears when an error or warning occurs, but this menu entry allows you to view the list of messages any time you wish to see it. At the bottom of the output window is a Clear button to delete its contents. There is also a Close button which simply closes the dialog.
Python Shell: This menu item displays a dialog for entering Python commands to create and/or control most aspects of the ParaView application including readers, sources, filters, writers, representations, views, etc. Please see chapter Error: Reference source not found for more information about Python scripting in ParaView.
The Help menu contains options for displaying various types of information about the ParaView application.
About: This entry displays a dialog box containing information about the current version of ParaView.
Help: This entry displays ParaView’s on-line help.
Enable Tooltips: Toggle the visibility of the help balloons that appear when the mouse is resting over a user interface element.
Inspectors and Views
Most of the user interface controls in ParaView are displayed in movable panels within the ParaView main window. These panels contain either inspectors or views. An inspector allows you to modify the properties of some associated object. Views only display information; they do not allow you to change the information shown.
The Object Inspector has tabs across the top so that multiple pages are accessible. The contents of the Object Inspector changes based on the reader, source, or filter selected in the Pipeline Browser. The Object Inspector is discussed in detail in chapter Error: Reference source not found. Which inspectors and views are shown depend on the selection(s) in the bottom half of the View menu; there are many different types of views and inspectors used in various aspects of the ParaView application.
At the on-screen divisions between views and/or inspectors, there is a separation bar; the mouse cursor changes to indicate the bar can be moved vertically or horizontally. By left-clicking and dragging this bar, you can change the width or height of one inspector or view with respect to the others surrounding it. Additionally, the views and inspectors listed in the View menu may be repositioned ParaView’s user interface or moved into a separate window by left-clicking and dragging in the title bar for the view or inspector. The positions of two the rendering views (3D View, Spreadsheet View, etc.) may be swapped by dragging the title bar of one to the title bar of another, but these views may not be separated from the main ParaView application window.
Sometimes the contents of a inspector or view may need more vertical space than is available in the ParaView window. When this happens, a vertical scroll bar will be displayed on the right side of the inspector or view. Additionally, many of the main sections of the user interface have a [[Image:]] (minimize) button in the upper left corner. Clicking this [[Image:]] hides the contents of that portion of the interface. The [[Image:]] is replaced with [[Image:]] (maximize button). Clicking the [[Image:]] button expands that portion of the user interface again.
By default, all of ParaView’s toolbars are enabled. The various controls are grouped into toolbars based on their functionality. The visibility of each toolbar may be toggled by selecting / deselecting the entries in the Toolbars submenu of the View menu.
Main Controls Toolbar
[[Image:]]Open a data file to load a dataset into ParaView. Please see section Error: Reference source not found for a list of file formats ParaView can read.
[[Image:]]Save the dataset selected in the Pipeline Browser to a file.
[[Image:]]Connect to an existing server or launch a server to which you wish to connect. See the description of the Connect entry in the File menu earlier in this chapter for more information.
[[Image:]]Disconnect from a server to which you are currently connected. See the description of the Disconnect entry in the File menu earlier in this chapter for more information.
[[Image:]]Display the on-line help browser.
Selection Controls Toolbar
Please see chapter Error: Reference source not found for more information about selection.
[[Image:]]Left-click and drag to rotate the dataset. Middle-click and drag to pan. Right-click and drag to zoom (down to zoom in, up to zoom out).
[[Image:]]The cells/elements lying within the selection rectangle on the surface of the dataset are selected.
[[Image:]]The points/nodes lying within the selection rectangle on the surface of the dataset are selected.
[[Image:]]The cells/elements lying within the selection rectangle all the way through the dataset are selected.
[[Image:]]The points/nodes lying within the selection rectangle all the way through the dataset are selected.
Undo/Redo Controls Toolbar
As you work with ParaView, the program keeps a record of everything you do. The Undo and Redo buttons let you step back and forth through the record of actions. ParaView does not record the data produced by the pipeline at each step, because doing so would quickly consume all available memory. Instead of restoring the data, these buttons cause ParaView to reset its configuration to a recorded state, which causes the visualization pipeline to re-execute.
[[Image:]]Undo the last action performed in ParaView.
[[Image:]]Redo the last undone action in ParaView.
VCR Controls Toolbar
The buttons in this toolbar are exactly the same as the ones in the Animation menu discussed earlier in this chapter. When the Play button is pressed, and the animation starts, the button changes to a Pause button. Pressing it causes the animation to stop, and it also changes the button back to a Play button.
Current Time Controls Toolbar
When active, the entry box on the left of this toolbar allows you to specify a particular time to jump to in an animation. The spin box on the right side of the toolbar allows you to choose a particular time step (by index) in a dataset that supports time. In this case, the text box on the left will contain the time value corresponding to this time step index. Please see chapter Error: Reference source not found for more information about time support in ParaView.
Active Variable Controls Toolbar
[[Image:]]Toggle the visibility of the color legend (scalar bar) for the active variable in the selected 3D view. The active variable is the one by which the data set is being colored.
[[Image:]]Select the active variable in the selected 3D view. This variable is used for coloring the dataset.
This toolbar contains only a single item: the selection menu for determining how the data set selected in the Pipeline Browser is rendered in the selected (outlined in red) 3D view. See page Error: Reference source not found for a description of the representation options available.
Camera Controls Toobar
[[Image:]]Set the viewing position so that all visible datasets in the selected 3D view are within the viewing frustum. The viewing direction is not changed. Some datasets (or portions of them) may not be visible if they are obscured by another dataset closer to the viewing position.
[[Image:]]Set the viewing position to view the data in the selected 3D view along the +X axis.
[[Image:]]Set the viewing position to view the data in the selected 3D view along the -X axis.
[[Image:]]Set the viewing position to view the data in the selected 3D view along the +Y axis.
[[Image:]]Set the viewing position to view the data in the selected 3D view along the -Y axis.
[[Image:]]Set the viewing position to view the data in the selected 3D view along the +Z axis.
[[Image:]]Set the viewing position to view the data in the selected 3D view along the -Z axis.
Center of Rotation Toolbar
The buttons on this toolbar have exactly the same functionality as the Show Center, Reset Center, and Pick Center entries in View menu, described earlier in this chapter.
Common Filters Toolbar
The buttons for the filters in this toolbar are the same as those listed in the Common submenu of the Filters menu. They are the calculator filter, contour (or isosurface) filter, clip filter, slice filter, threshold filter, extract subset filter, glyph filter, stream tracer filter, warp (vector) filter, group datasets filter, and extract group filter. A description of each filter can be found in appendix Error: Reference source not found.
One way to access lookmarks in the user interface is through the lookmarks toolbar. It is located on the right side of the ParaView application window by default, and it contains buttons when lookmarks have been created; initially it is empty. It contains an icon for each lookmark. Hovering your mouse over an icon in the toolbar will display the lookmark's name in a help balloon, while right-clicking an icon will give you the option to delete that lookmark, edit its properties (by displaying the Lookmark Inspector), create a new lookmark (by displaying the Create Lookmark dialog), or display the Lookmark Browser. Left-clicking on an icon in the lookmark toolbar will apply that lookmark in the selected view (highlighted in red).
The display area (by default, to the right of the Object Inspector and Pipeline Browser) is probably the most important part of the user interface because it shows the current view(s) of the scene, in various possible formats. This portion of the user interface displays the results of the current visualization pipeline. Mouse interaction in the display area varies depending on the type of view that is active (highlighted in red).
The status bar at the bottom of the main ParaView window is divided into two sections. The left section displays information about what ParaView is currently doing (e.g., which filter is currently running or a description of the current menu selection). The right part of the status bar contains ParaView’s progress gauge. When a reader, source, or filter could take a non-trivial amount of time to run, the progress gauge shows the percentage of the process that has already been completed.
The Pipeline Browser depicts ParaView’s current visualization pipeline and allows you to easily navigate to the various readers, sources, and filters it contains. (The details of the visualization pipeline are discussed in chapter Error: Reference source not found.) To the left of each entry is an “eye” icon indicating whether that data set is currently visible. A dark icon indicates that the data set is visible; when a data set is invisible, its icon is drawn in light gray. Clicking on the “eye” icon toggles the visibility of the corresponding data set. In this example, iron protein.vtk and Clip1 are visible, but Contour1 is not. Clip1 is also highlighted in blue, indicating that it is the current data set.
Left-clicking the name of one of the data sets causes it to become the current data set. The Object Inspector’s Properties, Display, and Information tabs are updated for the current data set. Double-clicking the name of one of the data sets causes the name to become editable, enabling you to change it to something more meaningful; type a new name for the data set and press Enter.
Right-clicking a data set’s name displays a menu from which you can load a new data file, create a custom filter, and delete the data set (if it is at the end of the visualization pipeline). For filters, this context menu also has an entry for selecting a new input.
Right-clicking Clip1 from the Pipeline Browser example shown above and selecting Change Input causes the Input Editor to be displayed (shown above). From this dialog, the input to a filter can be changed. In this example, the possibilities for input to the clip filter are iron protein.vtk and Contour1; the input editor does not allow the creation of loops in the visualization pipeline, so Clip1 cannot be the input to itself. Left-clicking on one of the possible inputs in the Select Source window causes the Pipeline Preview window to show what the contents of the pipeline browser would be if the input was changed in this way. Clicking OK causes the input to change.