SoOrthoSliceDragger Class Reference
[Draggers]

VolumeViz Object that moves an SoOrthoSlice by dragging with the mouse. More...

#include <VolumeViz/draggers/SoOrthoSliceDragger.h>

Inheritance diagram for SoOrthoSliceDragger:
SoTranslate1Dragger SoDragger SoInteractionKit SoBaseKit SoNode SoGetView SoFieldContainer SoBase SoRefCounter SoTypedObject

List of all members.

Public Member Functions

virtual SoType getTypeId () const
virtual const SoNodekitCataloggetNodekitCatalog () const
 SoOrthoSliceDragger ()

Static Public Member Functions

static SoType getClassTypeId ()
static const SoNodekitCataloggetClassNodekitCatalog ()

Public Attributes

SoSFPath orthoSlicePath
SoSFVec3i32 volumeDimension
SoSFBox3f volumeExtent

Detailed Description

VolumeViz Object that moves an SoOrthoSlice by dragging with the mouse.

SoOrthoSliceDragger is derived from SoTranslate1Dragger and has similar behavior, but is specifically designed to allow direct manipulation of an SoOrthoSlice. The difference is that this class uses the actual geometry of the ortho slice to detect mouse clicks and automatically updates the slice's SoOrthoSlice::sliceNumber field as the dragger is moved. Conversely the dragger updates itself if the slice's axis or sliceNumber fields are changed by the application.

The dragger will not do anything until all three fields (orthoSlicePath, volumeDimension and volumeExtent) have been set. The path can be a partial path, i.e. it does not need to start at the root of the scene graph. However it must include the SoOrthoSlice node.

The dragger always sets its "translator" part to be the actual ortho slice node. When the dragger is created it sets its "translatorActive" part to be an empty Separator. You can reset this to something else. You can attach callbacks to this dragger in the usual way.

If the camera faces the slice (i.e. the orientation of the slice and the camera are exactly the same), the dragger will automatically change its orientation to another axis so that it can be manipulated (otherwise it can't). When the dragger itself is displayed, this behaviour may be surprising, and it can be disabled by setting the SoPreferences value IVVR_ENABLE_ORTHOSLICE_DRAGGER_AXIS_SWITCH to FALSE.

EXAMPLE

FILE FORMAT/DEFAULT

SEE ALSO

SoDragger, SoTranslate1Dragger, SoOrthoSlice

See related examples:

VolRend


Constructor & Destructor Documentation

SoOrthoSliceDragger::SoOrthoSliceDragger (  ) 

Constructor.


Member Function Documentation

static const SoNodekitCatalog* SoOrthoSliceDragger::getClassNodekitCatalog (  )  [static]

Returns the SoNodekitCatalog for this class.

Reimplemented from SoTranslate1Dragger.

static SoType SoOrthoSliceDragger::getClassTypeId (  )  [static]

Returns the type identifier for this class.

Reimplemented from SoTranslate1Dragger.

virtual const SoNodekitCatalog* SoOrthoSliceDragger::getNodekitCatalog (  )  const [virtual]

Returns the SoNodekitCatalog for this instance.

Reimplemented from SoTranslate1Dragger.

virtual SoType SoOrthoSliceDragger::getTypeId (  )  const [virtual]

Returns the type identifier for this specific instance.

Reimplemented from SoTranslate1Dragger.


Member Data Documentation

Path to the SoOrthoSlice node to drag.


Default is empty (no path).

Dimension of the volume.


Default is 0,0,0 (no volume).

Extent of the volume.


Default is empty (no volume).


The documentation for this class was generated from the following file:

Open Inventor Toolkit reference manual, generated on 12 Feb 2024
Copyright © Thermo Fisher Scientific All rights reserved.
http://www.openinventor.com/