13 #ifndef mitkDisplayActionEventBroadcast_h
14 #define mitkDisplayActionEventBroadcast_h
41 itkFactorylessNewMacro(Self);
159 bool GetBoolProperty(PropertyList::Pointer propertyList,
const char* propertyName,
bool defaultValue);
170 Point2D m_LastDisplayCoordinate;
172 Point2D m_CurrentDisplayCoordinate;
183 int m_IndexToSliceModifier;
186 std::string m_ScrollDirection;
188 bool m_InvertScrollDirection;
190 std::string m_ZoomDirection;
192 bool m_InvertZoomDirection;
196 bool m_InvertMoveDirection;
198 std::string m_LevelDirection;
200 bool m_InvertLevelWindowDirection;
204 typedef std::vector<SliceNavigationController*> SNCVector;
205 SNCVector m_RotatableSNCs;
206 SNCVector m_SNCsToBeRotated;
Central node class of the MITK data tree, associating a data object with properties and mappers.
Event state machine that observes interaction events and broadcasts display action events.
void ConfigurationChanged() override
Called when the event configuration is set or changed.
void AdjustLevelWindow(StateMachineAction *stateMachineAction, InteractionEvent *interactionEvent)
Broadcast a DisplaySetLevelWindowEvent based on mouse movement.
void Move(StateMachineAction *stateMachineAction, InteractionEvent *interactionEvent)
Broadcast a DisplayMoveEvent based on mouse movement.
void ScrollOneDown(StateMachineAction *stateMachineAction, InteractionEvent *interactionEvent)
Broadcast a DisplayScrollEvent to scroll one slice down.
void ScrollOneUp(StateMachineAction *stateMachineAction, InteractionEvent *interactionEvent)
Broadcast a DisplayScrollEvent to scroll one slice up.
mitkClassMacro(DisplayActionEventBroadcast, EventStateMachine)
bool CheckSwivelPossible(const InteractionEvent *interactionEvent)
Check if swivel is possible given the current interaction state.
void EndRotation(StateMachineAction *stateMachineAction, InteractionEvent *interactionEvent)
End a plane rotation interaction.
void Scroll(StateMachineAction *stateMachineAction, InteractionEvent *interactionEvent)
Broadcast a DisplayScrollEvent based on mouse movement.
void Zoom(StateMachineAction *stateMachineAction, InteractionEvent *interactionEvent)
Broadcast a DisplayZoomEvent based on mouse movement.
bool CheckPositionEvent(const InteractionEvent *interactionEvent)
Check if the given event is an InteractionPositionEvent.
void StartRotation(StateMachineAction *stateMachineAction, InteractionEvent *interactionEvent)
Begin a plane rotation interaction.
void IncreaseTimeStep(StateMachineAction *stateMachineAction, InteractionEvent *interactionEvent)
Increase the current time step by one.
~DisplayActionEventBroadcast() override
Destructor. Unregisters the MicroService.
void SetCrosshair(StateMachineAction *stateMachineAction, InteractionEvent *interactionEvent)
Broadcast a DisplaySetCrosshairEvent at the current position.
bool FilterEvents(InteractionEvent *interactionEvent, DataNode *dataNode) override
Filter events by checking the sender renderer.
void Swivel(StateMachineAction *stateMachineAction, InteractionEvent *interactionEvent)
Perform a plane swivel based on mouse movement.
void DecreaseTimeStep(StateMachineAction *stateMachineAction, InteractionEvent *interactionEvent)
Decrease the current time step by one.
void ConnectActionsAndFunctions() override
Connect the action names from the state machine XML with member functions.
void Notify(InteractionEvent *interactionEvent, bool isHandled) override
Called for every InteractionEvent observed through the InteractionEventObserver interface.
DisplayActionEventBroadcast()
Constructor. Connects actions and registers as a MicroService.
bool CheckRotationPossible(const InteractionEvent *interactionEvent)
Check if rotation is possible given the current interaction state.
void Rotate(StateMachineAction *stateMachineAction, InteractionEvent *interactionEvent)
Perform a plane rotation based on mouse movement.
void Init(StateMachineAction *stateMachineAction, InteractionEvent *interactionEvent)
Initialize interaction coordinates at the start of a gesture.
Provides state machine functionality for DataInteractors.
Base class for all interaction events in MITK.
Represents an action that is executed after a certain event in the state machine mechanism.
Find image slices visible on a given plane.
double ScalarType
Scalar type used throughout MITK for geometric computations.
Interface for observing all InteractionEvents dispatched through the system.