MeVisLab Toolbox Reference
SoOrthoView2D Class Reference

SoOrthoView2D uses three SoView2D nodes to create a 3D ortho viewer with three 2D views. More...

#include <SoOrthoView2D.h>

Inheritance diagram for SoOrthoView2D:
SoOrthoView2DBase

Public Member Functions

 SoOrthoView2D ()
 constructor
 

Static Public Member Functions

static void initClass ()
 inventor runtime type system
 
- Static Public Member Functions inherited from SoOrthoView2DBase
static void initClass ()
 inventor runtime type system
 

Public Attributes

SoSFMLConnector inputImage
 Fields.
 
SoSFBool useGlobalInputImage
 use cache
 
SoSFBool applyModifyPatientOrientationMatrix
 
SoSFMatrixd modifyPatientOrientationMatrix
 
SoSFNode outputViewAxial
 hidden outputs containing the component views
 
SoSFNode outputViewCoronal
 
SoSFNode outputViewSagittal
 
- Public Attributes inherited from SoOrthoView2DBase
SoSFString status
 status of extensions (object editing)
 
SoSFString seriesInstanceUID
 the DICOM seriesInstanceUID of the image currently displayed
 
SoSFBool drawImageData
 Fields.
 
SoSFString viewerId1
 id string for 1st viewer, should be unique in a network
 
SoSFString viewerId2
 id string for 2nd viewer, should be unique in a network
 
SoSFString viewerId3
 id string for 3rd viewer, should be unique in a network
 
SoSFEnum blendMode
 blend mode used for slice rendering
 
SoSFEnum filterMode
 filter mode used for slice rendering
 
SoSFEnum cacheMode
 caching of slices
 
SoSFInt32 slab
 slab of slices that are rendered
 
SoSFEnum layoutMode
 layout of the 3 views
 
SoSFVec3f worldPosition
 current world position
 
SoSFBool worldPosSticky
 set if world position should no change when input image changes
 
SoSFBool snapToCenter
 snap to center of image when image changes
 
SoSFFloat sliceZoom
 the internal slice zoom
 
SoSFVec2f sliceOrigin1
 the internal origin of the slice in voxels (for shifting inside of the 1st view)
 
SoSFVec2f sliceOrigin2
 the internal origin of the slice in voxels (for shifting inside of the 2nd view)
 
SoSFVec2f sliceOrigin3
 the internal origin of the slice in voxels (for shifting inside of the 3rd view)
 
SoSFBool synchronizePanning
 Synchronizes panning so that all viewers are consistent with viewingCenter.
 
SoSFBool keepSlicesInView
 if this is set, the slices are prevented from leaving the visible area.
 
SoSFVec3f viewingCenter
 Common center position (in world CO) of the viewers.
 
SoSFVec3f viewingCenter1
 world position of the current center of the viewer1
 
SoSFVec3f viewingCenter2
 world position of the current center of the viewer2
 
SoSFVec3f viewingCenter3
 world position of the current center of the viewer3
 
SoSFBool invertKeyPanningDirections
 invert panning by keyboard
 
SoSFTrigger unzoom
 unzoom
 
SoSFBool synchronizeZoom
 set if the zooms of the views are synchronized
 
SoSFFloat alphaFactor
 alpha factor for drawing
 
SoSFColor baseColor
 base color for drawing
 
SoSFBool extraViewSpace
 flag if extra space is available (depends on layout)
 
SoSFVec2f extraViewLowerLeft
 normalized 2d coordinates of the space, with 0,0 being lower/left
 
SoSFVec2f extraViewUpperRight
 normalized 2d coordinates of the space, with 0,0 being lower/left
 
SoSFVec2f extraViewSize
 normalized 2d size of the requested extra space. (Only used in LAYOUT_CUBE_CUSTOMIZED mode)
 
SoSFInt32 timePoint
 timepoint that is rendered
 
SoSFInt32 maxTimePoint
 maximum available timepoint
 
SoSFVec2f margin
 margin to the border of the internal viewers
 
SoSFBool alternCubeLayout
 flag if the upper left quarter should be used by a viewer in the cube modi
 
SoSFTrigger deleteSelected
 trigger the deletion of the selected object in a SoView2DExtension
 
SoSFTrigger edit
 trigger the edit mode in a SoView2DExtension
 
SoSFBool useManagedInteraction
 prefer to use managed interaction instead of classical event handling if a SoView2DExtension provides it
 
SoSFEnum zoomMode
 zoom mode that defines mapping to the viewer area
 
SoSFFloat zoomModeParameter
 zoom mode parameter, depends on zoomMode what its value means
 
SoSFFloat minSliceZoomKeyboard
 minimum slice zoom for keyboard modifications
 
SoSFInt32 sliceStep1
 step to next rendered slice for 1st viewer
 
SoSFInt32 sliceStep2
 step to next rendered slice for 2nd viewer
 
SoSFInt32 sliceStep3
 step to next rendered slice for 3rd viewer
 
SoSFInt32 numSlices1
 number of slices that are rendered for 1st viewer
 
SoSFInt32 numSlices2
 number of slices that are rendered for 2nd viewer
 
SoSFInt32 numSlices3
 number of slices that are rendered for 3rd viewer
 
SoSFInt32 numXSlices1
 number of slices that are rendered in X for 1st viewer
 
SoSFInt32 numXSlices2
 number of slices that are rendered in X for 2nd viewer
 
SoSFInt32 numXSlices3
 number of slices that are rendered in X for 3rd viewer
 
SoSFPlane plane1
 plane representing the slice in world coordinates of 1st viewer
 
SoSFPlane plane2
 plane representing the slice in world coordinates of 2nd viewer
 
SoSFPlane plane3
 plane representing the slice in world coordinates of 3rd viewer
 
SoSFBool synchronizeFilterMode
 Enable/Disable synchronizing of filterMode (used for slice rendering) between all viewers.
 
SoSFTrigger startCine
 Cinemode fields, relayed from view2d. However, only timePoint-cine makes sense.
 
SoSFTrigger stopCine
 stop the cine mode
 
SoSFInt32 cineCenterT
 center of timepoint cine
 
SoSFInt32 cineIntervalT
 interval of timepoint cine
 
SoSFEnum cineDirection
 direction of Cinemode
 
SoSFEnum cineRepeat
 flag to indicated if loop or ping-pong is used
 
SoSFFloat cineSpeed
 speed of cine mode (in seconds), minimum cine speed is fixed to one repaint per image
 
SoSFBool cineFullRangeT
 flag if the full time range or the time interval is used
 
SoSFBool cineAlwaysReset
 Always reset to start time point and forward direction on start press (start with current time point and direction otherwise)
 

Protected Member Functions

 ~SoOrthoView2D () override
 
mlFieldgetMLImageField (int viewerIndex) override
 return ML image field for viewer with given viewerIndex (0,1, or 2)
 
void useGlobalInputImageChangedCB (SoField *)
 callback which forwards to sliceChanged()
 
virtual void useGlobalInputImageChanged ()
 handle changed slice in one of the SoView2Ds
 
void applyModifyPatientOrientationMatrixCB (SoField *)
 
void modifyPatientOrientationMatrixCB (SoField *)
 
- Protected Member Functions inherited from SoOrthoView2DBase
 SoOrthoView2DBase ()
 constructor, protected since this class is abstract.
 
 ~SoOrthoView2DBase () override
 
virtual bool isViewerVisible (int viewerIndex) const
 returns true if the viewer with index viewerIndex (in 0..2) is visible in the current layout
 
void positionChangedCB (SoField *)
 callback which forwards to postionChanged()
 
void positionChanged ()
 handle changed worldPosition field
 
void sliceChangedCB (SoField *)
 callback which forwards to sliceChanged()
 
void sliceChanged (SoField *field)
 handle changed slice in one of the SoView2Ds
 
void sliceZoomChangedCB (SoField *)
 callback which forwards to sliceZoomChanged()
 
void sliceZoomChanged1CB (SoField *)
 callback which forwards to sliceZoomChanged()
 
void sliceZoomChanged2CB (SoField *)
 callback which forwards to sliceZoomChanged()
 
void sliceZoomChanged3CB (SoField *)
 callback which forwards to sliceZoomChanged()
 
void sliceZoomChanged (int which)
 handle a changed slice zoom of one of the SoView2Ds
 
void sliceOriginChanged1CB (SoField *)
 callback which updates external field
 
void sliceOriginChanged2CB (SoField *)
 callback which updates external field
 
void sliceOriginChanged3CB (SoField *)
 callback which updates external field
 
void resetPanning ()
 resets panning
 
void synchronizePanningChangedCB (SoField *)
 callback which reacts on synchronizePanning state change
 
void viewingCenterChangedCB (SoField *)
 callback which forwards to viewingCenterChanged()
 
void viewingCenterChanged1CB (SoField *)
 callback which forwards to viewingCenterChanged()
 
void viewingCenterChanged2CB (SoField *)
 callback which forwards to viewingCenterChanged()
 
void viewingCenterChanged3CB (SoField *)
 callback which forwards to viewingCenterChanged()
 
void viewingCenterChanged (int which)
 handle a changed slice origin of one of the SoView2Ds, or the common field (which = -1)
 
void setSliceViewingCenterFor (int which, const SbVec3f &center)
 set viewing center for viewer which to center
 
void maxTimePointChangedCB (SoField *)
 callback which forwards to maxTimePointChanged()
 
void maxTimePointChanged ()
 find max time point in all view2ds and assign to maxTimePoint
 
void timeChangedCB (SoField *)
 callback which forwards to timeChanged()
 
void timeChanged ()
 handle timepoint change of one of the SoView2Ds
 
void marginChangedCB (SoField *)
 callback which forwards to marginChanged()
 
void marginChanged ()
 handle margin change
 
void zoomModeChangedCB (SoField *)
 callback which forwards to zoomModeChanged()
 
void zoomModeChanged ()
 handle zoomMode change
 
void zoomModeParameterChangedCB (SoField *)
 callback which forwards to zoomModeParameterChanged()
 
void zoomModeParameterChanged ()
 handle zoomModeParameter change
 
void plane1ChangedCB (SoField *)
 callback which forwards to plane1Changed()
 
void plane1Changed ()
 handle plane1 change
 
void plane2ChangedCB (SoField *)
 callback which forwards to plane2Changed()
 
void plane2Changed ()
 handle plane2 change
 
void plane3ChangedCB (SoField *)
 callback which forwards to plane3Changed()
 
void plane3Changed ()
 handle plane3 change
 
void filterMode1ChangedCB (SoField *)
 callback which forwards to filterMode1Changed()
 
void filterMode1Changed ()
 handle filterMode1 change
 
void filterMode2ChangedCB (SoField *)
 callback which forwards to filterMode2Changed()
 
void filterMode2Changed ()
 handle filterMode2 change
 
void filterMode3ChangedCB (SoField *)
 callback which forwards to filterMode3Changed()
 
void filterMode3Changed ()
 handle filterMode3 change
 
void startCineModeCB (SoField *)
 callback that calls startCineMode();
 
void startCineMode ()
 Find a valid master viewer and enable time cine mode.
 
void stopCineModeCB (SoField *)
 callback that calls stopCineMode();
 
void stopCineMode ()
 stop the cine mode
 
void seriesInstanceUIDChangedCB (SoField *)
 callback that calls seriesInstanceUIDChanged();
 
void seriesInstanceUIDChanged ()
 stop the cine mode
 
int sliceInit (const SoView2D *view2D, SoSFMLImage *image)
 initialize the slices and worldPosition on image change (called from SoView2D)
 
void updateLayoutCB (SoField *)
 callback which forwards to updateLayout()
 
void updateLayout ()
 update layout depending on the layoutMode
 
void connectFieldsTo (SoView2D *view)
 update internal connections on layout change
 
void updateTimePoints ()
 update time points from SoView2Ds to SoOrthoView
 

Protected Attributes

void_reformat
 pointer to the ML OrthoReformat3 module
 
int _timePoint [3]
 timepoints of SoView2Ds to recognize, which SoView2D timepoint has changed
 
- Protected Attributes inherited from SoOrthoView2DBase
SoSwitch * _switch1
 switch which contain the rendered scene
 
SoView2D_view [3]
 list of SoView2D used for the 3 orientations
 
SoView2D_lastConnectedView
 remember last view for connectFieldsTo()
 
int _timePoint [3]
 timepoints of SoView2Ds to recognize, which SoView2D timepoint has changed
 
int _cineMaster
 master view2d index for cine mode. -1 if not running.
 
SoFieldSensor_posSensor
 Field sensors.
 
SoFieldSensor_sliceSensor1
 
SoFieldSensor_sliceSensor2
 
SoFieldSensor_sliceSensor3
 
SoFieldSensor_zoomSensor
 
SoFieldSensor_zoomSensor1
 
SoFieldSensor_zoomSensor2
 
SoFieldSensor_zoomSensor3
 
SoFieldSensor_viewingCenterSensor
 
bool _inhibitViewingCenterSync
 to temporarily inhibit syncing of viewing centers:
 

Additional Inherited Members

- Static Protected Member Functions inherited from SoOrthoView2DBase
static int sliceInitCB (const SoView2D *view2D, SoSFMLImage *image, void *user)
 callback which forwards to sliceInit()
 

Detailed Description

SoOrthoView2D uses three SoView2D nodes to create a 3D ortho viewer with three 2D views.

This module dynamically loads the MLCoordUtils and creates an internal OrthoReformat3 whose input image is exported as input image of SoOrthoView2D.

Definition at line 51 of file SoOrthoView2D.h.

Constructor & Destructor Documentation

◆ SoOrthoView2D()

SoOrthoView2D::SoOrthoView2D ( )

constructor

◆ ~SoOrthoView2D()

SoOrthoView2D::~SoOrthoView2D ( )
overrideprotected

Member Function Documentation

◆ applyModifyPatientOrientationMatrixCB()

void SoOrthoView2D::applyModifyPatientOrientationMatrixCB ( SoField * )
protected

◆ getMLImageField()

mlField * SoOrthoView2D::getMLImageField ( int viewerIndex)
overrideprotectedvirtual

return ML image field for viewer with given viewerIndex (0,1, or 2)

Reimplemented from SoOrthoView2DBase.

◆ initClass()

static void SoOrthoView2D::initClass ( )
static

inventor runtime type system

◆ modifyPatientOrientationMatrixCB()

void SoOrthoView2D::modifyPatientOrientationMatrixCB ( SoField * )
protected

◆ useGlobalInputImageChanged()

virtual void SoOrthoView2D::useGlobalInputImageChanged ( )
protectedvirtual

handle changed slice in one of the SoView2Ds

◆ useGlobalInputImageChangedCB()

void SoOrthoView2D::useGlobalInputImageChangedCB ( SoField * )
protected

callback which forwards to sliceChanged()

Member Data Documentation

◆ _reformat

void* SoOrthoView2D::_reformat
protected

pointer to the ML OrthoReformat3 module

Definition at line 95 of file SoOrthoView2D.h.

◆ _timePoint

int SoOrthoView2D::_timePoint[3]
protected

timepoints of SoView2Ds to recognize, which SoView2D timepoint has changed

Definition at line 98 of file SoOrthoView2D.h.

◆ applyModifyPatientOrientationMatrix

SoSFBool SoOrthoView2D::applyModifyPatientOrientationMatrix

Definition at line 64 of file SoOrthoView2D.h.

◆ inputImage

SoSFMLConnector SoOrthoView2D::inputImage

Fields.

input ML image

Definition at line 59 of file SoOrthoView2D.h.

◆ modifyPatientOrientationMatrix

SoSFMatrixd SoOrthoView2D::modifyPatientOrientationMatrix

Definition at line 65 of file SoOrthoView2D.h.

◆ outputViewAxial

SoSFNode SoOrthoView2D::outputViewAxial

hidden outputs containing the component views

Definition at line 68 of file SoOrthoView2D.h.

◆ outputViewCoronal

SoSFNode SoOrthoView2D::outputViewCoronal

Definition at line 69 of file SoOrthoView2D.h.

◆ outputViewSagittal

SoSFNode SoOrthoView2D::outputViewSagittal

Definition at line 70 of file SoOrthoView2D.h.

◆ useGlobalInputImage

SoSFBool SoOrthoView2D::useGlobalInputImage

use cache

Definition at line 62 of file SoOrthoView2D.h.


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