
Chapter 8: Creating a Manipulator 195
iTool Developer’s Guide Overview of iTool Manipulators
Note
A manipulator need not always be interactively selected. The
IDLitTool::ActivateManipulator method can be used to programmatically start a
manipulator. This can be especially useful when you need to reactivate a tool’s
default manipulator because none of the conditions required by a custom
manipulator have been met.
An IDLitManipulatorManager object is a specialized manipulator container that acts
as the root of a manipulator hierarchy. The manipulator manager is associated with an
IDLitWindow object via the window’s SetManipulatorManager method. The
manipulator manager passes information about the manipulator to observers such as
toolbars or menu items. See “IDLitManipulatorManager” (IDL Reference Guide) for
details.
Manipulator Visuals
An IDLitManipulatorVisual object is also known as a selection visual. A selection
visual appears when a manipulator is activated. Advanced manipulators can be
configured to interact with a selection visual, defining how a user can modify a
visualization. For example, Figure 8-1 displays objects based upon an
IDLitManipVisRotate object:
• IDLitManipVisRotate2D (used when the target is 2-D)
• IDLitManipVisRotateAxis (one for the x, y, and z axis, and used when the
target is 3-D)
The appearance of the selection visual depends upon whether the data is 2-D (left) or
3-D (right). In the case of 2-D data, the selection visuals indicate an area within the
visualization that will allow rotation when you left-click and drag the mouse cursor.
In the case of 3-D data, the selection visuals allow rotation around the x-, y-, or z-
axis, depending on which portion of the selection visual is selected.