Medical Imaging Interaction Toolkit
2023.12.00
Medical Imaging Interaction Toolkit
|
Controls the selection of the slice the associated BaseRenderer will display. More...
#include <mitkSliceNavigationController.h>
Classes | |
class | GeometrySendEvent |
class | GeometrySliceEvent |
class | GeometryUpdateEvent |
class | TimeGeometryEvent |
Public Types | |
typedef SliceNavigationController | Self |
typedef BaseController | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
Public Types inherited from mitk::BaseController | |
typedef BaseController | Self |
typedef OperationActor | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer< const Self > | ConstPointer |
Public Member Functions | |
virtual std::vector< std::string > | GetClassHierarchy () const override |
virtual const char * | GetClassName () const |
void | SetInputWorldTimeGeometry (const TimeGeometry *geometry) |
Set the input world time geometry out of which the geometries for slicing will be created. More... | |
virtual const TimeGeometry * | GetInputWorldTimeGeometry () |
virtual const TimeGeometry * | GetCreatedWorldGeometry () |
Access the created geometry. More... | |
virtual TimeGeometry * | GetCreatedWorldGeometry () |
itkSetEnumMacro (ViewDirection, AnatomicalPlane) | |
Set the desired view directions. More... | |
itkGetEnumMacro (ViewDirection, AnatomicalPlane) | |
itkSetEnumMacro (DefaultViewDirection, AnatomicalPlane) | |
Set the default view direction. More... | |
itkGetEnumMacro (DefaultViewDirection, AnatomicalPlane) | |
const char * | GetViewDirectionAsString () const |
virtual void | SetViewDirectionToDefault () |
virtual void | Update () |
Do the actual creation and send it to the connected observers (renderers) More... | |
virtual void | Update (AnatomicalPlane viewDirection, bool top=true, bool frontside=true, bool rotated=false) |
Extended version of Update, additionally allowing to specify the direction/orientation of the created geometry. More... | |
virtual void | SendCreatedWorldGeometry () |
Send the created geometry to the connected observers (renderers) More... | |
virtual void | SendCreatedWorldGeometryUpdate () |
Tell observers to re-read the currently selected 2D geometry. More... | |
virtual void | SendSlice () |
Send the currently selected slice to the connected observers (renderers) More... | |
template<typename T > | |
void | ConnectGeometrySendEvent (T *receiver) |
template<typename T > | |
void | ConnectGeometryUpdateEvent (T *receiver) |
template<typename T > | |
void | ConnectGeometrySliceEvent (T *receiver) |
template<typename T > | |
void | Disconnect (T *receiver) |
void | SelectSliceByPoint (const Point3D &point) |
Positions the SNC according to the specified point. More... | |
const BaseGeometry * | GetCurrentGeometry3D () |
Returns the BaseGeometry of the currently selected time step. More... | |
const PlaneGeometry * | GetCurrentPlaneGeometry () |
Returns the currently selected Plane in the current BaseGeometry (if existent). More... | |
virtual void | SetRenderer (BaseRenderer *_arg) |
Sets / gets the BaseRenderer associated with this SNC (if any). While the BaseRenderer is not directly used by SNC, this is a convenience method to enable BaseRenderer access via the SNC. More... | |
virtual BaseRenderer * | GetRenderer () |
void | ReorientSlices (const Point3D &point, const Vector3D &normal) |
Re-orients the slice stack. All slices will be oriented to the given normal vector. The given point (world coordinates) defines the selected slice. Careful: The resulting axis vectors are not clearly defined this way. If you want to define them clearly, use ReorientSlices (const Point3D &point, const Vector3D &axisVec0, const Vector3D &axisVec1). More... | |
void | ReorientSlices (const Point3D &point, const Vector3D &axisVec0, const Vector3D &axisVec1) |
Re-orients the slice stack so that all planes are oriented according to the given axis vectors. The given Point eventually defines selected slice. More... | |
void | ExecuteOperation (Operation *operation) override |
virtual void | SetSliceLocked (bool _arg) |
Feature option to lock planes during mouse interaction. This option flag disables the mouse event which causes the center cross to move near by. More... | |
virtual bool | GetSliceLocked () |
virtual void | SliceLockedOn () |
virtual void | SliceLockedOff () |
virtual void | SetSliceRotationLocked (bool _arg) |
Feature option to lock slice rotation. More... | |
virtual bool | GetSliceRotationLocked () |
virtual void | SliceRotationLockedOn () |
virtual void | SliceRotationLockedOff () |
void | AdjustSliceStepperRange () |
Adjusts the numerical range of the slice stepper according to the current geometry orientation of this SNC's SlicedGeometry. More... | |
Public Member Functions inherited from mitk::BaseController | |
Stepper * | GetStepper () |
Get the stepper through the corresponding dimension. More... | |
const Stepper * | GetStepper () const |
Public Member Functions inherited from mitk::OperationActor | |
itkTypeMacroNoParent (OperationActor) virtual ~OperationActor() | |
Static Public Member Functions | |
static const char * | GetStaticNameOfClass () |
static Pointer | New () |
Static Public Member Functions inherited from mitk::BaseController | |
static const char * | GetStaticNameOfClass () |
static Pointer | New () |
Public Attributes | |
Message1< const Point3D & > | SetCrosshairEvent |
Protected Types | |
typedef std::map< void *, std::list< unsigned long > > | ObserverTagsMapType |
Protected Member Functions | |
SliceNavigationController () | |
~SliceNavigationController () override | |
void | CreateWorldGeometry (bool top, bool frontside, bool rotated) |
Protected Member Functions inherited from mitk::BaseController | |
BaseController () | |
Default Constructor. More... | |
~BaseController () override | |
Default Destructor. More... | |
Protected Attributes | |
TimeGeometry::ConstPointer | m_InputWorldTimeGeometry |
TimeGeometry::Pointer | m_CreatedWorldGeometry |
AnatomicalPlane | m_ViewDirection |
AnatomicalPlane | m_DefaultViewDirection |
RenderingManager::Pointer | m_RenderingManager |
BaseRenderer * | m_Renderer |
bool | m_BlockUpdate |
bool | m_SliceLocked |
bool | m_SliceRotationLocked |
ObserverTagsMapType | m_ReceiverToObserverTagsMap |
Protected Attributes inherited from mitk::BaseController | |
Stepper::Pointer | m_Stepper |
unsigned long | m_LastUpdateTime |
Controls the selection of the slice the associated BaseRenderer will display.
A SliceNavigationController takes a TimeGeometry as input world time geometry and generates a different TimeGeometry as output, depending on the current view direction and the current time step. The TimeGeometry holds a number of SlicedGeometry3Ds and these in turn hold a series of PlaneGeometries. One of these PlaneGeometries is selected as world geometry for the BaseRenderers associated to 2D views.
The SliceNavigationController holds a Stepper, which controls the slice-selection of a single PlaneGeometry from the TimeGeometry. SliceNavigationController generates ITK events to tell observers, like a BaseRenderer, when the selected slice changes.
Example:
You can connect visible navigation widgets to a SliceNavigationController, e.g., a QmitkSliceNavigationWidget (for Qt):
If you do not want that all renderwindows are updated when a new slice is selected, you can use a specific RenderingManager, which updates only those renderwindows that should be updated. This is sometimes useful when a 3D view does not need to be updated when the slices in some 2D views are changed.
Definition at line 130 of file mitkSliceNavigationController.h.
typedef itk::SmartPointer<const Self> mitk::SliceNavigationController::ConstPointer |
Definition at line 134 of file mitkSliceNavigationController.h.
|
protected |
Definition at line 365 of file mitkSliceNavigationController.h.
Definition at line 134 of file mitkSliceNavigationController.h.
Definition at line 134 of file mitkSliceNavigationController.h.
Definition at line 134 of file mitkSliceNavigationController.h.
|
protected |
|
overrideprotected |
void mitk::SliceNavigationController::AdjustSliceStepperRange | ( | ) |
Adjusts the numerical range of the slice stepper according to the current geometry orientation of this SNC's SlicedGeometry.
|
inline |
Definition at line 243 of file mitkSliceNavigationController.h.
|
inline |
Definition at line 261 of file mitkSliceNavigationController.h.
|
inline |
Definition at line 252 of file mitkSliceNavigationController.h.
|
protected |
|
inline |
Definition at line 271 of file mitkSliceNavigationController.h.
|
overridevirtual |
Reimplemented from mitk::BaseController.
|
inlineoverridevirtual |
Reimplemented from mitk::BaseController.
Definition at line 134 of file mitkSliceNavigationController.h.
|
virtual |
Reimplemented from mitk::BaseController.
|
virtual |
Access the created geometry.
|
virtual |
const BaseGeometry* mitk::SliceNavigationController::GetCurrentGeometry3D | ( | ) |
Returns the BaseGeometry of the currently selected time step.
const PlaneGeometry* mitk::SliceNavigationController::GetCurrentPlaneGeometry | ( | ) |
Returns the currently selected Plane in the current BaseGeometry (if existent).
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
inlinestatic |
Definition at line 134 of file mitkSliceNavigationController.h.
const char* mitk::SliceNavigationController::GetViewDirectionAsString | ( | ) | const |
mitk::SliceNavigationController::itkGetEnumMacro | ( | DefaultViewDirection | , |
AnatomicalPlane | |||
) |
mitk::SliceNavigationController::itkGetEnumMacro | ( | ViewDirection | , |
AnatomicalPlane | |||
) |
mitk::SliceNavigationController::itkSetEnumMacro | ( | DefaultViewDirection | , |
AnatomicalPlane | |||
) |
Set the default view direction.
This is used to re-initialize the view direction of the SNC to the default value with SetViewDirectionToDefault()
mitk::SliceNavigationController::itkSetEnumMacro | ( | ViewDirection | , |
AnatomicalPlane | |||
) |
Set the desired view directions.
|
static |
void mitk::SliceNavigationController::ReorientSlices | ( | const Point3D & | point, |
const Vector3D & | axisVec0, | ||
const Vector3D & | axisVec1 | ||
) |
Re-orients the slice stack so that all planes are oriented according to the given axis vectors. The given Point eventually defines selected slice.
void mitk::SliceNavigationController::ReorientSlices | ( | const Point3D & | point, |
const Vector3D & | normal | ||
) |
Re-orients the slice stack. All slices will be oriented to the given normal vector. The given point (world coordinates) defines the selected slice. Careful: The resulting axis vectors are not clearly defined this way. If you want to define them clearly, use ReorientSlices (const Point3D &point, const Vector3D &axisVec0, const Vector3D &axisVec1).
void mitk::SliceNavigationController::SelectSliceByPoint | ( | const Point3D & | point | ) |
Positions the SNC according to the specified point.
|
virtual |
Send the created geometry to the connected observers (renderers)
Called by Update().
|
virtual |
Tell observers to re-read the currently selected 2D geometry.
|
virtual |
Send the currently selected slice to the connected observers (renderers)
Called by Update().
void mitk::SliceNavigationController::SetInputWorldTimeGeometry | ( | const TimeGeometry * | geometry | ) |
Set the input world time geometry out of which the geometries for slicing will be created.
Any previous set input geometry (3D or Time) will be ignored in the future.
|
virtual |
Sets / gets the BaseRenderer associated with this SNC (if any). While the BaseRenderer is not directly used by SNC, this is a convenience method to enable BaseRenderer access via the SNC.
|
virtual |
Feature option to lock planes during mouse interaction. This option flag disables the mouse event which causes the center cross to move near by.
|
virtual |
Feature option to lock slice rotation.
This option flag disables separately the rotation of a slice which is implemented in mitkSliceRotator.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Do the actual creation and send it to the connected observers (renderers)
|
virtual |
Extended version of Update, additionally allowing to specify the direction/orientation of the created geometry.
|
protected |
Definition at line 360 of file mitkSliceNavigationController.h.
|
protected |
Definition at line 351 of file mitkSliceNavigationController.h.
|
protected |
Definition at line 354 of file mitkSliceNavigationController.h.
|
protected |
Definition at line 350 of file mitkSliceNavigationController.h.
|
protected |
Definition at line 366 of file mitkSliceNavigationController.h.
|
protected |
Definition at line 358 of file mitkSliceNavigationController.h.
|
protected |
Definition at line 356 of file mitkSliceNavigationController.h.
|
protected |
Definition at line 362 of file mitkSliceNavigationController.h.
|
protected |
Definition at line 363 of file mitkSliceNavigationController.h.
|
protected |
Definition at line 353 of file mitkSliceNavigationController.h.
Definition at line 284 of file mitkSliceNavigationController.h.