Set operations allow sets to be created, destroyed, written to disk, sorted.

- Pick ops
- Activate
- De-activate
- Re-activate
- Set length
- Change Set type
- Copy
- Move
- Drop points
- Join
- Split
- Kill
- Kill all
- Sort
- Write set(s)
- Reverse order
- Coalesce sets
- Swap
- Pack

Pick ops use the point in a set nearest to the location of the pointer when clicked to select the set for the chosen operation. The nearest point is determined by the Euclidean distance which can be very different from the point that is visually closer. As long as there are sets with points, the operation will always be performed, which means that a bit of care should be exercised using these operations.

- Kill nearest set
Kill the set nearest the pointer.

- Copy nearest set
Select a set to copy with one click, and the destination, which may be in another graph, with another click.

- Move nearest set
Select a set to move with one click, and the destination, which may be in another graph, with another click.

- Reverse nearest set
Select a set to reverse by clicking near a point in a set. The result is that the order of the points is reversed (point N becomes point 1, and point 1 becomes point number N, etc.).

- De-activate nearest set
Select a set to deactivate by clicking near a point in a set. The result is that the set will act as if undefined for most operations, and will not be drawn even if the line or symbol selections would cause it to be drawn. The data are not destroyed, and the set can be reactivated using the functions in File/Status or Data/Set ops.

- Join nearest sets
Click near a point in one set to use for the join, then click again near a point in another set to select the second set. The second set will be appended to the end of the first set.

- Delete range in nearest set
Click near a point in one set to use for the start of the range to delete, then again near the point at the end of the range to delete. The result is that all points between the 2 selected points will be removed from the set, including the 2 points selected.

- Cancel operation
Cancel any operation in progress.

The remaining items in the Set ops toolbox allow sets to be created, destroyed, written to disk, moved, sorted, deactivated, reactivated.

Make a set active and able to participate in operations.

To activate a set, select the set number, specify the number of points in the set and click on "Accept."

Make a set inactive and unable to participate in operations. The data associated with a deactivated set are still available and all plot parameters associated with the set are unchanged. Use the Re-activate set item below to make the set known to xmgr again. This item is include for those situations where a set is to be ignored temporarily, but needed later in the session.

Select the set to Deactivate.

Press the button marked **Accept**.

Undo the effect of Deactivate.

Select the set to Reactivate, it is a no-op to Reactivate an unused set.

Press the button marked **Accept**.

Set the length of a set.

Select the set.

Fill in the item marked Length.

Press the button marked **Accept**.

Set the type of a set.

Select the set

Select the type to set

Press the button marked "Accept"

Copy one set to another in a possibly different graph.

Select the set to copy from.

Select the set to copy to.

Select the graph to receive the copy.

Press the button marked **Accept**.

Move one set to another in a possibly different graph.

Select the set to move from.

Select the set to move to.

Select the graph to receive the set.

Press the button marked **Accept**

Exchange one set with another.

Select the sets and the graphs these sets reside.

Click on **Accept**.

The contents of the sets plus all parameters associated with the display of the sets are exchanged.

Drop points from a set.

Select the set.

Fill in the items "Start drop" and "End drop".

Press the button marked **Accept**.

NOTE: Points in a set are numbered from 1 to N, where N is the number of points in the set (as opposed to sets which are numbered from 0).

Merge 2 sets together.

Select the set that will be appended.

Select the set accepting the previous set.

Press the button marked **Accept** to append the first set
to the second.

Divide a set into other sets.

Select the set to split.

Enter the length of the resulting sets (say N).

Press the button marked **Accept** to divide the selected set into
(length of selected set) / N sets with the remainder to the last set.

The first set will be the set selected to split and will contain the first N points.

Eliminate a set.

Select the set to kill or All to kill every active set.

To save the parameter settings, toggle `Preserve parameters.'

Press the button **Accept**.

NOTE: This operation is final.

Kill all active sets.

This is an action item, you'll be asked if it is OK to kill all active sets.

sort x or y of a set.

Select set to sort.

Select which component (x or y) as a key.

Select the order of the sort.

Press the button marked **Accept** to sort the set in place.

Write a set(s) to disk.

Select the set to write or "All" for all sets.

Fill in the format to use to write, syntax is C, default is "%lf %lf".

Fill in the item marked "Write to file" with the filename to write.

Press the button marked **Accept**.

Note: A complete dump of xmgr may be accomplished by selecting All sets, All active graphs and toggling Embed parameters. The generated file may be read as a normal data file and will contain the necessary information to completely reconstruct all graphs in the current session.

Exchange points in a set.

Select set to reverse.

Press the button marked **Accept** to reverse the order of a set.

Merge active sets to an inactive set.

Select set to receive points from all active sets. This selected set should not be an active set.

Press the button marked **Accept** to merge all sets
to the selected set.

Move sets so that the set structure in the current graph has no gaps.

During the course of several operations on sets, gaps can form in the set structure. This can result cause problems when doing a Save all, as the actual location, i.e. set number, of the set is not retained in the Save file. For example after several operations that create and delete sets, the active sets are numbered: 0, 3, 4, 5, 9 Following a Pack, the active sets will be numbered: 0, 1, 2, 3, 4.

Press the button marked **Accept** to pack all sets in the current graph.