The menu option i) turns on/off interactive mode (alternatively use ``interactive mode on/off'' in the p)age submenu). With this option turned on (the default) and an appropriate device selected (i.e., the X-window, not /gif or /ps), after each plot the program waits for specific commands from the user. With the cursor positioned anywhere in the plot window (but not outside it!), many different commands can be invoked. Some functions you may find useful are: Move through timesteps by pressing the space bar (press `b' to go back); zoom/select particles by selecting an area with the mouse; rotate the particles by using the $<$, $>$,[, ] and $\$, / keys; log the axes by holding the cursor over the appropriate axis and pressing the `l' key. Press `q' in the plot window to quit interactive mode.
A full list of these commands is obtained by holding the cursor in the plot window and pressing the `h' key (h for help). Note that changes made in interactive mode will only be saved by pressing the `s' (for save) key. Otherwise pressing the space bar (to advance to the next timestep) erases the changes made whilst in interactive mode. A more limited interactive mode applies when there is more than one plot per page.
Many more commands could be added to the interactive mode, limited only by your imagination. Please send me your suggestions!
Press `a' in interactive mode to adapt the plot limits to the current minimum and maximum of the quantity being plotted. With the mouse over the colour bar, this applies to the colour bar limits. Also works even when the page is subdivided into panels. To adapt the size of the arrows on a vector plot, press `w'. To use ``adaptive plot limits'' (where the limits change at every timestep), see §??.
Press 'l' in interactive mode with the mouse over either the x or y axis or the colour bar to use a logarithmic axis. Pressing 'l' again changes back to linear axes. To use logarithmic labels as well as logarithmic axes, see §??.
Use `f' in interactive mode on a rendered plot to interactively `flip' forwards to the next quantity in the data columns (e.g. thermal energy instead of density). Use 'F' to flip backwards.
In interactive mode, select a subset of the particles using the mouse (that is left click and resize the box until it contains the region you require), then press either 1-9 to colour the selected particles with colours corresponding to plotting library colour indices 1-9, press 'p' to plot only those particles selected (hiding all other particles), or 'h' to hide the selected particles. An example is shown in the left panel of Figure ??. Particles retain these colours between timesteps and even between plots. This feature can therefore be used to find particles within a certain parameter range (e.g. by plotting density with x, selecting/colouring particles in a given density range, then plotting x vs y in which the particles will appear as previously selected/coloured). An example of this feature is shown in the right panel of Figure ?? where I have plotted an intermediate plot of density vs x on which I selected a subset of particles and hit 'p' (to plot only that subset), then re-plotted x vs y with the new particle selections.
To ``un-hide'' or ``de-colour'' particles, simply select the entire plotting area and press ``1'' to restore all particles to the foreground colour index.
Particles hidden in this manner are also no longer used in the rendering calculation. Thus it is possible to render using only a subset of the particles (e.g. using only half of a box, or only high density particles). An example is shown in Figure ??.
To colour the particles according to the value of a particular quantity, see §??.
Note that selection in this way is based on the particle identity, meaning that the parameter range itself is not preserved for subsequent timesteps, but rather the subset of particles selected from the initial timestep. This can be useful for working out which particles formed a particular object in a simulation by selecting only particles in that object at the end time, and moving backwards through timesteps retaining that selection.
This can be achieved by selecting and colouring particles at a particular timestep and plotting the same selection at an earlier time. See §?? for details.
To turn plotting of certain particle types on and off, see §??. To select a subset of the particles based on restrictions of a particular parameter or by spatial region see §??.
Particles can be selected and `hidden' interactively (see §??) -- for rendered plots `hidden' particles are also not used in the interpolation calculation from the particles to the pixel array. An example is shown in Figure ??, where I have taken one of the rendered examples in §??, selected half of the domain with the mouse and pressed 'p' to plot only the selected particles. The result is the plot shown.
Note that the selection done in this manner is by default a restriction based on particle identity -- that is, the same particles will be used for the plot in subsequent dumps (allowing one to easily track the Lagrangian evolution of a patch of gas). However splash also has the ability to select based on particular parameter ranges (i.e., independent of time), called a `parameter range restriction' which is also more powerful in the sense that it can be saved to the
splash.limits file -- see §?? for more details. A range restriction can be set in interactive mode by selecting the restricted box using the mouse and pressing `x', `y' or `r' to restrict the particles used to the x, y (or r for both x and y) range of the selected box respectively. Pressing `S' at the main menu will save such range restrictions to the
It is possible to take an oblique cross section through 3D data using a combination of rotation and cross section slice plotting. To set the position interactively, press 'x' in interactive mode to draw the position of the cross section line (e.g. on an x-y plot this then produces a z-x plot with the appropriate amount of rotation to give the cross section slice in the position selected). Note that this will work even if the current plot is a 3D column integrated projection (in this case the setting ``projection or cross section'' changes to ``cross section'' in order to plot the slice).