Class SoOrthoSliceDragger
- All Implemented Interfaces:
SafeDisposable
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 the field orthoSlicePath has 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.
SoSeparator volSep = new SoSeparator(); root.addChild(volSep); // Create and initialize data node SoVolumeData volData = new SoVolumeData(); volSep.addChild( volData ); // Create and initialize orthoslice node SoOrthoSlice orthoSlice = new SoOrthoSlice(); volSep.addChild( orthoSlice ); // Create path to slice node // Note: Can be a partial path but must include the slice node. SoPath path = new SoPath(volSep); path.regular.append( orthoSlice ); // Create and initialize dragger SoOrthoSliceDragger dragger = new SoOrthoSliceDragger(); dragger.orthoSlicePath.setValue( path ); volSep.addChild(dragger);
File format/default:
OrthoSliceDragger {
| orthoSlicePath | NULL |
| volumeDimension | 0 0 0 |
| volumeExtent | 0 0 0 |
| enableHighlight | true |
| highlightColor | 1.0 1.0 0 |
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.openinventor.inventor.draggers.SoDragger
SoDragger.TrackerDirectModesNested classes/interfaces inherited from class com.openinventor.inventor.nodekits.SoInteractionKit
SoInteractionKit.CachingsNested classes/interfaces inherited from class com.openinventor.inventor.nodes.SoNode
SoNode.RenderModesNested classes/interfaces inherited from class com.openinventor.inventor.Inventor
Inventor.ConstructorCommand -
Field Summary
FieldsModifier and TypeFieldDescriptionfinal SoSFBoolEnables highlighting.final SoSFColorSpecifies the highlight color.final SoSFPathPath to theSoOrthoSlicenode to drag.final SoSFVec3i32Deprecated.As of Open Inventor 101.1.0.0.final SoSFBox3fDeprecated.As of Open Inventor 101.1.0.0.Fields inherited from class com.openinventor.inventor.draggers.SoTranslate1Dragger
translationFields inherited from class com.openinventor.inventor.draggers.SoDragger
enableCallbacks, isActiveFields inherited from class com.openinventor.inventor.nodekits.SoInteractionKit
boundingBoxCaching, pickCulling, renderCaching, renderCullingFields inherited from class com.openinventor.inventor.nodekits.SoBaseKit
boundingBoxIgnoringFields inherited from class com.openinventor.inventor.Inventor
VERBOSE_LEVEL, ZeroHandle -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic SoNodekitCatalogReturns theSoNodekitCatalogfor this class.Methods inherited from class com.openinventor.inventor.draggers.SoDragger
addFinishCallback, addMotionCallback, addStartCallback, addValueChangedCallback, enableValueChangedCallbacks, getInitialTrackerDirectMode, getMinGesture, getMinGestureFloat, getMinScale, getMotionMatrix, getTrackerDirectMode, removeFinishCallback, removeMotionCallback, removeStartCallback, removeValueChangedCallback, setInitialTrackerDirectMode, setInitialTrackerDirectMode, setMinGesture, setMinGesture, setMinScale, setMotionMatrix, setTrackerDirectMode, setTrackerDirectModeMethods inherited from class com.openinventor.inventor.nodekits.SoInteractionKit
setPartAsPathMethods inherited from class com.openinventor.inventor.nodekits.SoBaseKit
getNodekitCatalog, getPart, getPart, getPartString, getViewportIsEnabled, getViewportOrigin, getViewportSize, isSearchingChildren, set, set, setPart, setSearchingChildrenMethods inherited from class com.openinventor.inventor.nodes.SoNode
affectsState, callback, copy, copy, distribute, doAction, getAlternateRep, getBoundingBox, getByName, getMatrix, getPrimitiveCount, getRenderEngineMode, getRenderUnitID, GLRender, GLRenderBelowPath, GLRenderInPath, GLRenderOffPath, grabEventsCleanup, grabEventsSetup, handleEvent, isBoundingBoxIgnoring, isOverride, pick, rayPick, search, setOverride, touch, writeMethods inherited from class com.openinventor.inventor.fields.SoFieldContainer
copyFieldValues, copyFieldValues, enableNotify, fieldsAreEqual, get, getAllFields, getEventIn, getEventOut, getField, getFieldName, hasDefaultValues, isNotifyEnabled, setToDefaultsMethods inherited from class com.openinventor.inventor.misc.SoBase
dispose, getName, isDisposable, isSynchronizable, setName, setSynchronizableMethods inherited from class com.openinventor.inventor.Inventor
getNativeResourceHandle
-
Field Details
-
orthoSlicePath
Path to theSoOrthoSlicenode to drag.
Default is empty (no path). -
volumeDimension
Deprecated.As of Open Inventor 101.1.0.0. This field is ignored. The dimension is fetched automatically from the SoDataSet specified by the field dataSetId of the SoOrthoSlice handled by this dragger.Dimension of the volume.Warning Deprecated since Open Inventor 101100. This field is ignored. The dimension is fetched automatically from the
SoDataSetspecified by the field dataSetId of theSoOrthoSlicehandled by this dragger. -
volumeExtent
Deprecated.As of Open Inventor 101.1.0.0. This field is ignored. The extent is fetched automatically from the SoDataSet specified by the field dataSetId of the SoOrthoSlice handled by this dragger.Extent of the volume.Warning Deprecated since Open Inventor 101100. This field is ignored. The extent is fetched automatically from the
SoDataSetspecified by the field dataSetId of theSoOrthoSlicehandled by this dragger. -
highlightColor
Specifies the highlight color. See alsoenableHighlight. The default color is yellow (1,1,0). -
enableHighlight
Enables highlighting. If this field is true, during a mousemouve, a border is drawn and highlighted according to thehighlightColorwhen the cursor moves over the slice. This border disappears once the cursor is no longer over the slice. Default is true.
-
-
Constructor Details
-
SoOrthoSliceDragger
public SoOrthoSliceDragger()Constructor.
-
-
Method Details
-
getClassNodekitCatalog
Returns theSoNodekitCatalogfor this class.
-