00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date$ 00006 Version: $Revision$ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or https://www.mitk.org/copyright.html for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 #ifndef MITKPositionTracker_H 00019 #define MITKPositionTracker_H 00020 00021 #include "mitkCommon.h" 00022 #include "mitkStateMachine.h" 00023 00024 00025 namespace mitk 00026 { 00027 class Operation; 00028 class OperationActor; 00029 00030 //##Documentation 00031 //## @brief Interactor for Mouse Tracking 00032 //## 00033 //## Tracks a Point from an input device (usaly mouse pointer) 00034 //## @ingroup Interaction 00035 class MITK_CORE_EXPORT PositionTracker : public StateMachine 00036 { 00037 public: 00038 mitkClassMacro(PositionTracker, StateMachine); 00039 mitkNewMacro2Param(Self, const char*, OperationActor*); 00040 00041 protected: 00042 //##Documentation 00043 //## @brief Constructor with needed arguments 00044 //## @param type: string, that describes the StateMachine-Scheme to take from all SM (see XML-File) 00045 //## @param operationActor: the Data, operations (+ points) are send to 00046 PositionTracker(const char * type, OperationActor* operationActor); 00047 00048 //##Documentation 00049 //## @brief executes the actions that are sent to this statemachine 00050 //## derived from StateMachine 00051 virtual bool ExecuteAction(Action* action, mitk::StateEvent const* stateEvent); 00052 }; 00053 } // namespace mitk 00054 #endif /* MITKPositionTracker_H */