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 More...
 

Static Public Member Functions

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

Public Attributes

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

Protected Member Functions

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

Protected Attributes

void * _reformat
 pointer to the ML OrthoReformat3 module More...
 
int _timePoint [3]
 timepoints of SoView2Ds to recognize, which SoView2D timepoint has changed More...
 
- Protected Attributes inherited from SoOrthoView2DBase
SoSwitch * _switch1
 switch which contain the rendered scene More...
 
SoView2D_view [3]
 list of SoView2D used for the 3 orientations More...
 
SoView2D_lastConnectedView
 remember last view for connectFieldsTo() More...
 
int _timePoint [3]
 timepoints of SoView2Ds to recognize, which SoView2D timepoint has changed More...
 
int _cineMaster
 master view2d index for cine mode. -1 if not running. More...
 
SoFieldSensor * _posSensor
 Field sensors. More...
 
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: More...
 

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() More...
 

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: