17.2. Types of Draggers

For all draggers subclassed from SoDragger( C++ | Java | .NET ), the user employs a click-drag-release motion with the mouse. Table 17.1, “Uses of Draggers” indicates the use of each dragger subclassed from SoDragger( C++ | Java | .NET ). For example, the drag-point dragger responds to dragging by translating in three dimensions.

Subclasses of SoDragger( C++ | Java | .NET ) fall into two general categories: simple draggers and compound draggers. In general, simple draggers perform only one operation, such as a scale or a translation. Compound draggers perform several operations and are composed of multiple simple draggers. Simple draggers can be used in three ways:

Compound draggers are similar to simple draggers, except that they have more parts because they are comprised of two or more draggers. The SoTransformBoxDragger( C++ | Java | .NET ), for example, uses a scale dragger, three rotators, and six translators.

Dragger Classes

Figure 17.1.  Dragger Classes


Table 17.1. Uses of Draggers

Dragger

Use

SoCenterballDragger

rotation, center

SoDirectionalLightDragger

rotation

SoDragPointDragger

translation

SoHandleBoxDragger

translation, scale

SoJackDragger

rotation, translation, uniform scale (three dimensions)

SoPointLightDragger

translation

SoRotateCylindricalDragger

rotation

SoRotateDiscDragger

rotation

SoRotateSphericalDragger

rotation

SoScale1Dragger

scale (one dimension)

SoScale2Dragger

scale (two dimensions)

SoScaleUniformDragger

uniform scale (three dimensions)

SoScale2UniformDragger

uniform scale (two dimensions)

SoSpotLightDragger

translation, rotation, cone angle

SoTabBoxDragger

scale, translation

SoTabPlaneDragger

scale (two dimensions), translation (two dimensions)

SoTrackballDragger

rotation, scale

SoTransformBoxDragger

rotation, translation, scale

SoTranslate1Dragger

translation (one dimension)

SoTranslate2Dragger

translation (two dimensions)