Medical Imaging Interaction Toolkit  2018.4.99-4c24e3cb
Medical Imaging Interaction Toolkit
mitk::DisplayInteractor Class Reference

Observer that manages the interaction with the display. More...

#include <mitkDisplayInteractor.h>

Inheritance diagram for mitk::DisplayInteractor:
Collaboration diagram for mitk::DisplayInteractor:

Public Types

typedef DisplayInteractor Self
 
typedef EventStateMachine Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
- Public Types inherited from mitk::EventStateMachine
typedef EventStateMachine Self
 
typedef InteractionEventHandler Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef std::map< std::string, TActionFunctor * > ActionFunctionsMapType
 
typedef itk::SmartPointer< StateMachineStateStateMachineStateType
 
- Public Types inherited from mitk::InteractionEventHandler
typedef InteractionEventHandler Self
 
typedef itk::Object Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 

Public Member Functions

virtual std::vector< std::string > GetClassHierarchy () const override
 
virtual const char * GetClassName () const
 
Pointer Clone () const
 
void Notify (InteractionEvent *interactionEvent, bool isHandled) override
 
- Public Member Functions inherited from mitk::EventStateMachine
bool LoadStateMachine (const std::string &filename, const us::Module *module=nullptr)
 Loads XML resource. More...
 
bool HandleEvent (InteractionEvent *event, DataNode *dataNode)
 
void EnableUndo (bool enable)
 Enables or disabled Undo. More...
 
void EnableInteraction (bool enable)
 Enables/disables the state machine. In un-enabled state it won't react to any events. More...
 
- Public Member Functions inherited from mitk::InteractionEventHandler
bool SetEventConfig (const std::string &filename, const us::Module *module=nullptr)
 Loads a configuration from an XML resource. More...
 
bool SetEventConfig (const EventConfig &config)
 Loads a configuration from an EventConfig object. More...
 
EventConfig GetEventConfig () const
 Returns the current configuration. More...
 
bool AddEventConfig (const std::string &filename, const us::Module *module=nullptr)
 This method extends the configuration. More...
 
bool AddEventConfig (const EventConfig &config)
 This method extends the configuration. The configuration from the EventConfig object is loaded and only the ones conflicting are replaced by the new one. This way several configurations can be combined. More...
 
- Public Member Functions inherited from mitk::InteractionEventObserver
 InteractionEventObserver ()
 
virtual ~InteractionEventObserver ()
 
void Disable ()
 
void Enable ()
 
bool IsEnabled () const
 

Static Public Member Functions

static const char * GetStaticNameOfClass ()
 
static Pointer New ()
 
- Static Public Member Functions inherited from mitk::EventStateMachine
static const char * GetStaticNameOfClass ()
 
- Static Public Member Functions inherited from mitk::InteractionEventHandler
static const char * GetStaticNameOfClass ()
 

Protected Member Functions

 DisplayInteractor ()
 
 ~DisplayInteractor () override
 
void ConnectActionsAndFunctions () override
 
void ConfigurationChanged () override
 
bool FilterEvents (InteractionEvent *interactionEvent, DataNode *dataNode) override
 
virtual bool CheckPositionEvent (const InteractionEvent *interactionEvent)
 
virtual bool CheckRotationPossible (const InteractionEvent *interactionEvent)
 
virtual bool CheckSwivelPossible (const InteractionEvent *interactionEvent)
 
virtual void Init (StateMachineAction *, InteractionEvent *)
 Initializes an interaction, saves the pointers start position for further reference. More...
 
virtual void Move (StateMachineAction *, InteractionEvent *)
 Performs panning of the data set in the render window. More...
 
virtual void SetCrosshair (StateMachineAction *, InteractionEvent *)
 Sets crosshair at clicked position*. More...
 
virtual void IncreaseTimeStep (StateMachineAction *, InteractionEvent *)
 Increases the time step in 3d+t data. More...
 
virtual void DecreaseTimeStep (StateMachineAction *, InteractionEvent *)
 Decreases the time step in 3d+t data. More...
 
virtual void Zoom (StateMachineAction *, InteractionEvent *)
 Performs zooming relative to mouse/pointer movement. More...
 
virtual void Scroll (StateMachineAction *, InteractionEvent *)
 Performs scrolling relative to mouse/pointer movement. More...
 
virtual void ScrollOneDown (StateMachineAction *, InteractionEvent *)
 Scrolls one layer up. More...
 
virtual void ScrollOneUp (StateMachineAction *, InteractionEvent *)
 Scrolls one layer down. More...
 
virtual void AdjustLevelWindow (StateMachineAction *, InteractionEvent *)
 Adjusts the level windows relative to mouse/pointer movement. More...
 
virtual void StartRotation (StateMachineAction *, InteractionEvent *)
 Starts crosshair rotation. More...
 
virtual void EndRotation (StateMachineAction *, InteractionEvent *)
 Ends crosshair rotation. More...
 
virtual void Rotate (StateMachineAction *, InteractionEvent *event)
 
virtual void Swivel (StateMachineAction *, InteractionEvent *event)
 
virtual void UpdateStatusbar (StateMachineAction *, InteractionEvent *event)
 Updates the Statusbar information with the information about the clicked position. More...
 
bool GetBoolProperty (mitk::PropertyList::Pointer propertyList, const char *propertyName, bool defaultValue)
 Method to retrieve bool-value for given property from string-property in given propertylist. More...
 
- Protected Member Functions inherited from mitk::EventStateMachine
 EventStateMachine ()
 
 ~EventStateMachine () override
 
void AddActionFunction (const std::string &action, TActionFunctor *functor)
 
void AddActionFunction (const std::string &action, const ActionFunctionDelegate &delegate)
 
void AddConditionFunction (const std::string &condition, const ConditionFunctionDelegate &delegate)
 
StateMachineStateGetCurrentState () const
 
void ResetToStartState ()
 ResetToStartState Reset state machine to it initial starting state. More...
 
virtual bool CheckCondition (const StateMachineCondition &condition, const InteractionEvent *interactionEvent)
 
virtual void ExecuteAction (StateMachineAction *action, InteractionEvent *interactionEvent)
 
void SetMouseCursor (const char *xpm[], int hotspotX, int hotspotY)
 Sets the specified mouse cursor. More...
 
void ResetMouseCursor ()
 Resets the mouse cursor (if modified by the SlicesCoordinator) to its original state. More...
 
StateMachineTransitionGetExecutableTransition (InteractionEvent *event)
 Returns the executable transition for the given event. More...
 
- Protected Member Functions inherited from mitk::InteractionEventHandler
 InteractionEventHandler ()
 
 ~InteractionEventHandler () override
 
PropertyList::Pointer GetAttributes () const
 
std::string MapToEventVariant (InteractionEvent *interactionEvent)
 

Additional Inherited Members

- Protected Types inherited from mitk::EventStateMachine
typedef MessageAbstractDelegate2< StateMachineAction *, InteractionEvent *, void > ActionFunctionDelegate
 
typedef MessageAbstractDelegate1< const InteractionEvent *, bool > ConditionFunctionDelegate
 
- Protected Attributes inherited from mitk::EventStateMachine
bool m_IsActive
 
UndoControllerm_UndoController
 
bool m_UndoEnabled
 

Detailed Description

Observer that manages the interaction with the display.

Inherits from mitk::InteractionEventObserver since it doesn't alter any data (only their representation), and its actions cannot be associated with a DataNode. Also inherits from EventStateMachine

This includes the interaction of Zooming, Panning, Scrolling and adjusting the LevelWindow.

Definition at line 33 of file mitkDisplayInteractor.h.

Member Typedef Documentation

◆ ConstPointer

◆ Pointer

◆ Self

◆ Superclass

Constructor & Destructor Documentation

◆ DisplayInteractor()

mitk::DisplayInteractor::DisplayInteractor ( )
protected

Definition at line 53 of file mitkDisplayInteractor.cpp.

◆ ~DisplayInteractor()

mitk::DisplayInteractor::~DisplayInteractor ( )
overrideprotected

Definition at line 70 of file mitkDisplayInteractor.cpp.

Member Function Documentation

◆ AdjustLevelWindow()

void mitk::DisplayInteractor::AdjustLevelWindow ( StateMachineAction ,
InteractionEvent interactionEvent 
)
protectedvirtual

◆ CheckPositionEvent()

bool mitk::DisplayInteractor::CheckPositionEvent ( const InteractionEvent interactionEvent)
protectedvirtual

Definition at line 102 of file mitkDisplayInteractor.cpp.

Referenced by ConnectActionsAndFunctions().

◆ CheckRotationPossible()

◆ CheckSwivelPossible()

◆ Clone()

Pointer mitk::DisplayInteractor::Clone ( ) const

◆ ConfigurationChanged()

void mitk::DisplayInteractor::ConfigurationChanged ( )
overrideprotectedvirtual

Derived function. Is executed when config object is set / changed. Here it is used to read out the parameters set in the configuration file, and set the member variables accordingly.

Reimplemented from mitk::InteractionEventHandler.

Definition at line 829 of file mitkDisplayInteractor.cpp.

References mitk::InteractionEventHandler::GetAttributes(), and GetBoolProperty().

◆ ConnectActionsAndFunctions()

void mitk::DisplayInteractor::ConnectActionsAndFunctions ( )
overrideprotectedvirtual

Derived function. Connects the action names used in the state machine pattern with functions implemented within this InteractionEventObserver. This is only necessary here because the events are processed by the state machine.

Reimplemented from mitk::EventStateMachine.

Reimplemented in mitk::SegmentationInteractor.

Definition at line 75 of file mitkDisplayInteractor.cpp.

References AdjustLevelWindow(), CheckPositionEvent(), CheckRotationPossible(), CheckSwivelPossible(), CONNECT_CONDITION, CONNECT_FUNCTION, DecreaseTimeStep(), EndRotation(), IncreaseTimeStep(), Init(), Move(), Rotate(), Scroll(), ScrollOneDown(), ScrollOneUp(), SetCrosshair(), StartRotation(), Swivel(), UpdateStatusbar(), and Zoom().

◆ DecreaseTimeStep()

void mitk::DisplayInteractor::DecreaseTimeStep ( StateMachineAction ,
InteractionEvent  
)
protectedvirtual

◆ EndRotation()

void mitk::DisplayInteractor::EndRotation ( mitk::StateMachineAction ,
mitk::InteractionEvent  
)
protectedvirtual

Ends crosshair rotation.

Definition at line 620 of file mitkDisplayInteractor.cpp.

References mitk::EventStateMachine::ResetMouseCursor().

Referenced by ConnectActionsAndFunctions().

◆ FilterEvents()

bool mitk::DisplayInteractor::FilterEvents ( InteractionEvent interactionEvent,
DataNode dataNode 
)
overrideprotectedvirtual

Derived function. Is executed when config object is set / changed. Here it is used to read out the parameters set in the configuration file, and set the member variables accordingly.

Reimplemented from mitk::EventStateMachine.

Definition at line 917 of file mitkDisplayInteractor.cpp.

References mitk::BaseRenderer::GetMapperID(), mitk::InteractionEvent::GetSender(), and mitk::BaseRenderer::Standard3D.

◆ GetBoolProperty()

bool mitk::DisplayInteractor::GetBoolProperty ( mitk::PropertyList::Pointer  propertyList,
const char *  propertyName,
bool  defaultValue 
)
protected

Method to retrieve bool-value for given property from string-property in given propertylist.

Definition at line 927 of file mitkDisplayInteractor.cpp.

Referenced by ConfigurationChanged().

◆ GetClassHierarchy()

virtual std::vector<std::string> mitk::DisplayInteractor::GetClassHierarchy ( ) const
inlineoverridevirtual

Reimplemented from mitk::EventStateMachine.

Definition at line 37 of file mitkDisplayInteractor.h.

◆ GetClassName()

virtual const char* mitk::DisplayInteractor::GetClassName ( ) const
virtual

Reimplemented from mitk::EventStateMachine.

◆ GetStaticNameOfClass()

static const char* mitk::DisplayInteractor::GetStaticNameOfClass ( )
inlinestatic

Definition at line 37 of file mitkDisplayInteractor.h.

◆ IncreaseTimeStep()

void mitk::DisplayInteractor::IncreaseTimeStep ( StateMachineAction ,
InteractionEvent  
)
protectedvirtual

◆ Init()

void mitk::DisplayInteractor::Init ( StateMachineAction ,
InteractionEvent interactionEvent 
)
protectedvirtual

Initializes an interaction, saves the pointers start position for further reference.

Definition at line 351 of file mitkDisplayInteractor.cpp.

Referenced by ConnectActionsAndFunctions().

◆ Move()

◆ New()

static Pointer mitk::DisplayInteractor::New ( )
static

◆ Notify()

void mitk::DisplayInteractor::Notify ( InteractionEvent interactionEvent,
bool  isHandled 
)
overridevirtual

By this function the Observer gets notified about new events. Here it is adapted to pass the events to the state machine in order to use its infrastructure. It also checks if event is to be accepted when it already has been processed by a DataInteractor.

Implements mitk::InteractionEventObserver.

Definition at line 43 of file mitkDisplayInteractor.cpp.

References mitk::EventStateMachine::HandleEvent().

◆ Rotate()

◆ Scroll()

void mitk::DisplayInteractor::Scroll ( StateMachineAction ,
InteractionEvent interactionEvent 
)
protectedvirtual

Performs scrolling relative to mouse/pointer movement.

Behavior is determined by

See also
m_ScrollDirection and
m_AutoRepeat.

Definition at line 453 of file mitkDisplayInteractor.cpp.

References mitk::InteractionEvent::GetSender(), and mitk::BaseRenderer::GetSliceNavigationController().

Referenced by ConnectActionsAndFunctions().

◆ ScrollOneDown()

void mitk::DisplayInteractor::ScrollOneDown ( StateMachineAction ,
InteractionEvent interactionEvent 
)
protectedvirtual

◆ ScrollOneUp()

void mitk::DisplayInteractor::ScrollOneUp ( StateMachineAction ,
InteractionEvent interactionEvent 
)
protectedvirtual

◆ SetCrosshair()

◆ StartRotation()

void mitk::DisplayInteractor::StartRotation ( mitk::StateMachineAction ,
mitk::InteractionEvent  
)
protectedvirtual

Starts crosshair rotation.

Definition at line 615 of file mitkDisplayInteractor.cpp.

References mitk::EventStateMachine::SetMouseCursor().

Referenced by ConnectActionsAndFunctions().

◆ Swivel()

◆ UpdateStatusbar()

void mitk::DisplayInteractor::UpdateStatusbar ( mitk::StateMachineAction ,
mitk::InteractionEvent event 
)
protectedvirtual

◆ Zoom()

void mitk::DisplayInteractor::Zoom ( StateMachineAction ,
InteractionEvent interactionEvent 
)
protectedvirtual

Performs zooming relative to mouse/pointer movement.

Behavior is determined by

See also
m_ZoomDirection and
m_ZoomFactor.

Definition at line 412 of file mitkDisplayInteractor.cpp.

References mitk::RenderingManager::GetInstance(), mitk::InteractionEvent::GetSender(), and mitk::RenderingManager::RequestUpdate().

Referenced by ConnectActionsAndFunctions().


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