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 00019 #ifndef MITKDISPLAYVECTORINTERACTOR_H_HEADER_INCLUDED_C10DC4EB 00020 #define MITKDISPLAYVECTORINTERACTOR_H_HEADER_INCLUDED_C10DC4EB 00021 00022 #include "mitkCommon.h" 00023 #include "mitkBaseRenderer.h" 00024 #include "mitkStateMachine.h" 00025 00026 namespace mitk { 00027 00028 class Operation; 00029 class OperationActor; 00030 00036 class MITK_CORE_EXPORT DisplayVectorInteractor : public StateMachine 00037 { 00038 public: 00039 mitkClassMacro(DisplayVectorInteractor, StateMachine); 00040 mitkNewMacro2Param(Self, const char*, OperationActor*); 00041 00045 virtual void ExecuteOperation(Operation* operation); 00046 00047 protected: 00051 DisplayVectorInteractor(const char * type, mitk::OperationActor* destination=NULL); 00052 00056 virtual ~DisplayVectorInteractor(); 00057 00061 virtual bool ExecuteAction(Action* action, mitk::StateEvent const* stateEvent); 00062 00063 private: 00064 BaseRenderer::Pointer m_Sender; 00065 00066 mitk::Point2D m_StartDisplayCoordinate; 00067 mitk::Point2D m_LastDisplayCoordinate; 00068 mitk::Point2D m_CurrentDisplayCoordinate; 00069 mitk::Point2D m_StartCoordinateInMM; 00070 00071 OperationActor* m_Destination; 00072 }; 00073 00074 } // namespace mitk 00075 00076 00077 00078 #endif /* MITKDISPLAYVECTORINTERACTOR_H_HEADER_INCLUDED_C10DC4EB */ 00079 00080