diff --git a/Core/Code/Interactions/StateMachine.xml b/Core/Code/Interactions/StateMachine.xml
index 9fa0ced49c..1b1101895e 100644
--- a/Core/Code/Interactions/StateMachine.xml
+++ b/Core/Code/Interactions/StateMachine.xml
@@ -1,3689 +1,3678 @@
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
+
+
-
+
-
-
+
+
+
-
+
+
+
+
+
-
+
+
diff --git a/Core/Code/Interactions/mitkNodeDepententPointSetInteractor.cpp b/Core/Code/Interactions/mitkNodeDepententPointSetInteractor.cpp
new file mode 100644
index 0000000000..5fb8a11afb
--- /dev/null
+++ b/Core/Code/Interactions/mitkNodeDepententPointSetInteractor.cpp
@@ -0,0 +1,54 @@
+/*=========================================================================
+
+Program: Medical Imaging & Interaction Toolkit
+Language: C++
+Date: $Date: 2010-09-14 09:48:51 +0200 (Di, 14 Sep 2010) $
+Version: $Revision: 26074 $
+
+Copyright (c) German Cancer Research Center, Division of Medical and
+Biological Informatics. All rights reserved.
+See MITKCopyright.txt or http://www.mitk.org/copyright.html for details.
+
+This software is distributed WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. See the above copyright notices for more information.
+
+=========================================================================*/
+
+
+#include "mitkNodeDepententPointSetInteractor.h"
+#include "mitkStateEvent.h"
+#include "mitkEvent.h"
+
+mitk::NodeDepententPointSetInteractor
+::NodeDepententPointSetInteractor(const char * type, DataNode* dataNode, DataNode* dependentDataNode, int n)
+:PointSetInteractor(type, dataNode, n), m_DependentDataNode(dependentDataNode)
+{
+}
+
+mitk::NodeDepententPointSetInteractor::~NodeDepententPointSetInteractor()
+{
+}
+
+float mitk::NodeDepententPointSetInteractor::CanHandleEvent(StateEvent const* stateEvent) const
+{
+ if (m_DependentDataNode.IsNull())
+ return 0;
+
+ // use sender to check if the specified dependentDataNode is visible there
+ mitk::BaseRenderer* sender = stateEvent->GetEvent()->GetSender();
+ if (sender == NULL)
+ return 0;
+
+ bool value = false;
+
+ if ( m_DependentDataNode->GetPropertyList(sender)->GetBoolProperty("visible", value) == false)//property doesn't exist
+ return 0;
+ if (value == false) //the dependent node is invisible
+ return 0;
+
+ //ok, it is visible, so check the standard way.
+ return Superclass::CanHandleEvent(stateEvent);
+}
+
+
diff --git a/Core/Code/Interactions/mitkNodeDepententPointSetInteractor.h b/Core/Code/Interactions/mitkNodeDepententPointSetInteractor.h
new file mode 100644
index 0000000000..9dc8a2ecbb
--- /dev/null
+++ b/Core/Code/Interactions/mitkNodeDepententPointSetInteractor.h
@@ -0,0 +1,78 @@
+/*=========================================================================
+
+Program: Medical Imaging & Interaction Toolkit
+Language: C++
+Date: $Date: 2010-10-04 14:49:09 +0200 (Mo, 04 Okt 2010) $
+Version: $Revision: 26576 $
+
+Copyright (c) German Cancer Research Center, Division of Medical and
+Biological Informatics. All rights reserved.
+See MITKCopyright.txt or http://www.mitk.org/copyright.html for details.
+
+This software is distributed WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. See the above copyright notices for more information.
+
+=========================================================================*/
+
+
+#ifndef MITKNodeDepententPointSetInteractor_H_HEADER_INCLUDED
+#define MITKNodeDepententPointSetInteractor_H_HEADER_INCLUDED
+
+#include "mitkCommon.h"
+#include "mitkVector.h"
+#include
+#include
+#include
+
+
+namespace mitk
+{
+
+ /**
+ * \brief PointSetInteraction that is dependent on the visibility property of a data node.
+ *
+ * The interactor checks if the renderwindow specific property "visible" of a different node (e.g. image)
+ * specified by @param dependentDataNode is true. The specific renderwindow is specified by the sender of the event.
+ * If the property is true the the object behaves as described by PointSetInteractor.
+ * If not, interaction is blocked.
+ *
+ * This class shows how to write an interactor, that is dependent on a special property of the associated node.
+ * See bug #6047 for further information and a patch to test this class embedded in tutorial Step 5.
+ * \ingroup Interaction
+ */
+ class MITK_CORE_EXPORT NodeDepententPointSetInteractor : public PointSetInteractor
+ {
+ public:
+ mitkClassMacro(NodeDepententPointSetInteractor, PointSetInteractor);
+ mitkNewMacro4Param(Self, const char*, DataNode*, DataNode*, int);
+ mitkNewMacro3Param(Self, const char*, DataNode*, DataNode*);
+
+ /**
+ * \brief Checks visibility of the specified node (e.g. image),
+ * returns 0 if node is not visible in sending render window
+ * If Sender within stateEvent is NULL a value of 0 is returned.
+ */
+ virtual float CanHandleEvent(StateEvent const* stateEvent) const;
+
+ protected:
+ /**
+ * \brief Constructor with Param n for limited Set of Points
+ *
+ * If no n is set, then the number of points is unlimited
+ * n=0 is not supported. In this case, n is set to 1.
+ */
+ NodeDepententPointSetInteractor(const char * type, DataNode* dataNode, DataNode* dependentDataNode, int n = -1);
+
+ /**
+ * \brief Default Destructor
+ **/
+ virtual ~NodeDepententPointSetInteractor();
+
+ public:
+
+ mitk::DataNode::Pointer m_DependentDataNode;
+
+ };
+}
+#endif /* MITKNodeDepententPointSetInteractor_H_HEADER_INCLUDED */
diff --git a/Core/Code/Testing/files.cmake b/Core/Code/Testing/files.cmake
index 863a26d197..69c61b54b2 100644
--- a/Core/Code/Testing/files.cmake
+++ b/Core/Code/Testing/files.cmake
@@ -1,90 +1,91 @@
# tests with no extra command line parameter
SET(MODULE_TESTS
mitkCoreObjectFactoryTest.cpp
mitkPointSetWriterTest.cpp
mitkMaterialTest.cpp
mitkDataNodeTest.cpp
mitkActionTest.cpp
mitkDataStorageTest.cpp
mitkEnumerationPropertyTest.cpp
mitkEventMapperTest.cpp
mitkEventTest.cpp
mitkFocusManagerTest.cpp
mitkGenericPropertyTest.cpp
mitkGeometry3DTest.cpp
mitkGeometryDataToSurfaceFilterTest.cpp
mitkGlobalInteractionTest.cpp
mitkImageDataItemTest.cpp
#mitkImageMapper2DTest.cpp
mitkImageTest.cpp
mitkBaseDataTest.cpp
#mitkImageToItkTest.cpp
mitkInteractorTest.cpp
mitkITKThreadingTest.cpp
# mitkLevelWindowManagerTest.cpp
mitkLevelWindowTest.cpp
mitkMessageTest.cpp
#mitkPipelineSmartPointerCorrectnessTest.cpp
mitkPixelTypeTest.cpp
mitkPlaneGeometryTest.cpp
mitkPointSetFileIOTest.cpp
mitkPointSetTest.cpp
mitkPointSetInteractorTest.cpp
+ mitkNodeDependentPointSetInteractorTest.cpp
mitkPropertyListTest.cpp
#mitkRegistrationBaseTest.cpp
#mitkSegmentationInterpolationTest.cpp
mitkSlicedGeometry3DTest.cpp
mitkSliceNavigationControllerTest.cpp
mitkStateMachineTest.cpp
mitkStateMachineFactoryTest.cpp
mitkStateTest.cpp
mitkSurfaceTest.cpp
mitkSurfaceToSurfaceFilterTest.cpp
mitkTimeSlicedGeometryTest.cpp
mitkTransitionTest.cpp
mitkUndoControllerTest.cpp
mitkVtkWidgetRenderingTest.cpp
mitkVerboseLimitedLinearUndoTest.cpp
mitkWeakPointerTest.cpp
mitkTransferFunctionTest.cpp
#mitkAbstractTransformGeometryTest.cpp
#mitkPicFileIOTest.cpp
mitkStepperTest.cpp
itkTotalVariationDenoisingImageFilterTest.cpp
mitkDICOMLocaleTest.cpp
mitkPointSetLocaleTest.cpp
mitkRenderingManagerTest.cpp
vtkMitkThickSlicesFilterTest.cpp
mitkNodePredicateSourceTest.cpp
)
# test with image filename as an extra command line parameter
SET(MODULE_IMAGE_TESTS
mitkSurfaceVtkWriterTest.cpp
mitkPicFileWriterTest.cpp
mitkImageWriterTest.cpp
#mitkImageSliceSelectorTest.cpp
mitkImageTimeSelectorTest.cpp
mitkPicFileReaderTest.cpp
# mitkVtkPropRendererTest.cpp
mitkDataNodeFactoryTest.cpp
#mitkSTLFileReaderTest.cpp
)
# list of images for which the tests are run
SET(MODULE_TESTIMAGES
US4DCyl.pic.gz
Pic3D.pic.gz
Pic2DplusT.pic.gz
BallBinary30x30x30.pic.gz
binary.stl
ball.stl
)
SET(MODULE_CUSTOM_TESTS
#mitkLabeledImageToSurfaceFilterTest.cpp
#mitkExternalToolsTest.cpp
mitkDicomSeriesReaderTest.cpp
)
diff --git a/Core/Code/Testing/mitkNodeDependentPointSetInteractorTest.cpp b/Core/Code/Testing/mitkNodeDependentPointSetInteractorTest.cpp
new file mode 100644
index 0000000000..8042c3a0fe
--- /dev/null
+++ b/Core/Code/Testing/mitkNodeDependentPointSetInteractorTest.cpp
@@ -0,0 +1,203 @@
+/*=========================================================================
+
+Program: Medical Imaging & Interaction Toolkit
+Language: C++
+Date: $Date: 2010-05-03 12:55:29 +0200 (Mo, 03 Mai 2010) $
+Version: $Revision: 22655 $
+
+Copyright (c) German Cancer Research Center, Division of Medical and
+Biological Informatics. All rights reserved.
+See MITKCopyright.txt or http://www.mitk.org/copyright.html for details.
+
+This software is distributed WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. See the above copyright notices for more information.
+
+=========================================================================*/
+
+
+#include "mitkNodeDepententPointSetInteractor.h"
+#include "mitkPointSet.h"
+#include "mitkPositionEvent.h"
+#include "mitkVtkPropRenderer.h"
+#include "mitkStateEvent.h"
+#include "mitkInteractionConst.h"
+#include "mitkGlobalInteraction.h"
+#include "mitkPointOperation.h"
+#include "mitkTestingMacros.h"
+#include "mitkStandaloneDataStorage.h"
+#include "mitkDataNodeFactory.h"
+#include "mitkStandardFileLocations.h"
+#include "mitkNodePredicateDataType.h"
+
+void SendPositionEvent(mitk::BaseRenderer* sender, int type, int button, int buttonState, int key, const mitk::Point2D& displPosition, const mitk::Point3D& worldPosition)
+{
+ mitk::Event *posEvent = new mitk::PositionEvent(sender, type, button, buttonState, key, displPosition, worldPosition);
+ mitk::GlobalInteraction::GetInstance()->GetEventMapper()->MapEvent(posEvent);
+ delete posEvent;
+}
+
+//test related to tutorial Step5.cpp
+int mitkNodeDependentPointSetInteractorTest(int /*argc*/, char* /*argv*/[])
+{
+ MITK_TEST_BEGIN("NodeDependentPointSetInteractor");
+
+ // Global interaction must(!) be initialized if used
+ mitk::GlobalInteraction::GetInstance()->Initialize("global");
+
+ // Create a DataStorage
+ mitk::StandaloneDataStorage::Pointer ds = mitk::StandaloneDataStorage::New();
+ MITK_TEST_CONDITION_REQUIRED(ds.IsNotNull(),"Instantiating DataStorage");
+
+ //read two images and store to datastorage
+ //these two images are used as node the interactors depend on. If the visibility property of one node if false, the
+ //associated interactor may not change the data
+ mitk::DataNode::Pointer node1, node2;
+ mitk::DataNodeFactory::Pointer nodeReader = mitk::DataNodeFactory::New();
+ mitk::StandardFileLocations::Pointer locator = mitk::StandardFileLocations::GetInstance();
+ MITK_TEST_CONDITION_REQUIRED(locator.IsNotNull(),"Instantiating StandardFileLocations");
+
+ try
+ {
+ //file 1
+ const std::string filename1 = locator->FindFile("Pic3D.pic.gz", "Core/Code/Testing/Data");
+ nodeReader->SetFileName(filename1);
+ nodeReader->Update();
+ node1 = nodeReader->GetOutput();
+ ds->Add(node1);
+
+ //file 2
+ const std::string filename2 = locator->FindFile("BallBinary30x30x30.pic.gz", "Core/Code/Testing/Data");
+ nodeReader->SetFileName(filename2);
+ nodeReader->Update();
+ node2 = nodeReader->GetOutput();
+ ds->Add(node2);
+ }
+ catch(...) {
+ MITK_TEST_FAILED_MSG(<< "Could not read file for testing");
+ return NULL;
+ }
+
+ //check for the two images
+ mitk::NodePredicateDataType::Pointer predicate(mitk::NodePredicateDataType::New("Image"));
+ mitk::DataStorage::SetOfObjects::ConstPointer allImagesInDS = ds->GetSubset(predicate);
+ MITK_TEST_CONDITION_REQUIRED(allImagesInDS->Size()==2,"load images to data storage");
+
+ // Create PointSet and a node for it
+ mitk::PointSet::Pointer pointSet1 = mitk::PointSet::New();
+ mitk::DataNode::Pointer pointSetNode1 = mitk::DataNode::New();
+ pointSetNode1->AddProperty( "unselectedcolor", mitk::ColorProperty::New(0.0f, 1.0f, 0.0f));
+ pointSetNode1->SetData(pointSet1);
+ mitk::NodeDepententPointSetInteractor::Pointer interactor1 = mitk::NodeDepententPointSetInteractor::New("pointsetinteractor", pointSetNode1, node1);
+ MITK_TEST_CONDITION_REQUIRED(interactor1.IsNotNull(),"Instanciating NodeDependentPointSetInteractor");
+ // Add the node to the tree
+ ds->Add(pointSetNode1);
+ mitk::GlobalInteraction::GetInstance()->AddInteractor(interactor1);
+
+ mitk::PointSet::Pointer pointSet2 = mitk::PointSet::New();
+ mitk::DataNode::Pointer pointSetNode2 = mitk::DataNode::New();
+ pointSetNode2->AddProperty( "unselectedcolor", mitk::ColorProperty::New(0.0f, 0.0f, 1.0f));
+ pointSetNode2->SetData(pointSet2);
+ mitk::NodeDepententPointSetInteractor::Pointer interactor2 = mitk::NodeDepententPointSetInteractor::New("pointsetinteractor", pointSetNode2, node2);
+ MITK_TEST_CONDITION_REQUIRED(interactor2.IsNotNull(),"Instanciating NodeDependentPointSetInteractor");
+ // Add the node to the tree
+ ds->Add(pointSetNode2);
+ mitk::GlobalInteraction::GetInstance()->AddInteractor(interactor2);
+
+ //check for the two pointsets
+ mitk::NodePredicateDataType::Pointer predicatePS(mitk::NodePredicateDataType::New("PointSet"));
+ mitk::DataStorage::SetOfObjects::ConstPointer allImagesInDSPS = ds->GetSubset(predicatePS);
+ MITK_TEST_CONDITION_REQUIRED(allImagesInDSPS->Size()==2,"create associated pointsets to data storage");
+
+ //create two RenderWindows
+ mitk::RenderingManager::Pointer myRenderingManager = mitk::RenderingManager::New();
+ vtkRenderWindow* vtkRenWin1 = vtkRenderWindow::New();
+ mitk::VtkPropRenderer::Pointer br1 = mitk::VtkPropRenderer::New("testingBR", vtkRenWin1, myRenderingManager);
+ mitk::BaseRenderer::AddInstance(vtkRenWin1,br1);
+ myRenderingManager->AddRenderWindow(vtkRenWin1);
+ mitk::BaseRenderer::Pointer renderer1 = mitk::BaseRenderer::GetInstance(vtkRenWin1);
+
+ vtkRenderWindow* vtkRenWin2 = vtkRenderWindow::New();
+ mitk::VtkPropRenderer::Pointer br2 = mitk::VtkPropRenderer::New("testingBR", vtkRenWin2, myRenderingManager);
+ mitk::BaseRenderer::AddInstance(vtkRenWin2,br2);
+ myRenderingManager->AddRenderWindow(vtkRenWin2);
+ mitk::BaseRenderer::Pointer renderer2 = mitk::BaseRenderer::GetInstance(vtkRenWin2);
+
+ //set properties for renderWindow 1 and 2
+ //1:
+ node1->SetBoolProperty("visible", true, renderer1);
+ node2->SetBoolProperty("visible", false, renderer1);
+ //2:
+ node1->SetBoolProperty("visible", false, renderer2);
+ node2->SetBoolProperty("visible", true, renderer2);
+
+
+ //***************************************************
+ //now start to test if only an event send from renderwindow 1 can interact with interactor 1 and vice versa
+
+ MITK_TEST_CONDITION_REQUIRED(pointSet1->GetPointSet()->GetNumberOfPoints()==0,"Checking empty pointset 1");
+ MITK_TEST_CONDITION_REQUIRED(pointSet2->GetPointSet()->GetNumberOfPoints()==0,"Checking empty pointset 2.");
+
+ //sending an event to interactor1
+ mitk::Point3D pos3D;
+ mitk::Point2D pos2D;
+ pos3D[0]= 10.0; pos3D[1]= 20.0; pos3D[2]= 30.0;
+ pos2D[0]= 100; pos2D[0]= 200;
+
+ //add to pointset 1
+ SendPositionEvent(renderer1, mitk::Type_MouseButtonPress, mitk::BS_LeftButton, mitk::BS_ShiftButton, mitk::Key_none, pos2D, pos3D);
+ MITK_TEST_CONDITION_REQUIRED(pointSet1->GetPointSet()->GetNumberOfPoints()==1,"1 Checking addition of point to pointset 1");
+ MITK_TEST_CONDITION_REQUIRED(pointSet2->GetPointSet()->GetNumberOfPoints()==0,"2 Checking empty pointset 2");
+
+ //add to pointset 2
+ SendPositionEvent(renderer2, mitk::Type_MouseButtonPress, mitk::BS_LeftButton, mitk::BS_ShiftButton, mitk::Key_none, pos2D, pos3D);
+ MITK_TEST_CONDITION_REQUIRED(pointSet1->GetPointSet()->GetNumberOfPoints()==1,"3 Checking untouched state of pointset 1");
+ MITK_TEST_CONDITION_REQUIRED(pointSet2->GetPointSet()->GetNumberOfPoints()==1,"4 Checking addition of point to pointset 2");
+
+ //add to pointset 2
+ SendPositionEvent(renderer2, mitk::Type_MouseButtonPress, mitk::BS_LeftButton, mitk::BS_ShiftButton, mitk::Key_none, pos2D, pos3D);
+ MITK_TEST_CONDITION_REQUIRED(pointSet1->GetPointSet()->GetNumberOfPoints()==1,"5 Checking untouched state of pointset 1");
+ MITK_TEST_CONDITION_REQUIRED(pointSet2->GetPointSet()->GetNumberOfPoints()==2,"6 Checking addition of point to pointset 2");
+
+ //add to pointset 2
+ SendPositionEvent(renderer2, mitk::Type_MouseButtonPress, mitk::BS_LeftButton, mitk::BS_ShiftButton, mitk::Key_none, pos2D, pos3D);
+ MITK_TEST_CONDITION_REQUIRED(pointSet1->GetPointSet()->GetNumberOfPoints()==1,"7 Checking untouched state of pointset 1");
+ MITK_TEST_CONDITION_REQUIRED(pointSet2->GetPointSet()->GetNumberOfPoints()==3,"8 Checking addition of point to pointset 2");
+
+ //add to pointset 1
+ SendPositionEvent(renderer1, mitk::Type_MouseButtonPress, mitk::BS_LeftButton, mitk::BS_ShiftButton, mitk::Key_none, pos2D, pos3D);
+ MITK_TEST_CONDITION_REQUIRED(pointSet1->GetPointSet()->GetNumberOfPoints()==2,"9 Checking addition of point to pointset 1");
+ MITK_TEST_CONDITION_REQUIRED(pointSet2->GetPointSet()->GetNumberOfPoints()==3,"10 Checking untouched state of pointset 2");
+
+ //trying to delete points
+ mitk::Event* delEvent1 = new mitk::Event(renderer1, mitk::Type_KeyPress, mitk::BS_NoButton, mitk::BS_NoButton, mitk::Key_Delete);
+ mitk::Event* delEvent2 = new mitk::Event(renderer2, mitk::Type_KeyPress, mitk::BS_NoButton, mitk::BS_NoButton, mitk::Key_Delete);
+
+ mitk::GlobalInteraction::GetInstance()->GetEventMapper()->MapEvent(delEvent2);
+ MITK_TEST_CONDITION_REQUIRED(pointSet1->GetPointSet()->GetNumberOfPoints()==2,"11 Checking untouched state of pointset 1");
+ MITK_TEST_CONDITION_REQUIRED(pointSet2->GetPointSet()->GetNumberOfPoints()==2,"12 Checking detected point in pointset 2");
+
+ mitk::GlobalInteraction::GetInstance()->GetEventMapper()->MapEvent(delEvent1);
+ MITK_TEST_CONDITION_REQUIRED(pointSet1->GetPointSet()->GetNumberOfPoints()==1,"11 Checking deleted point in pointset 1");
+ MITK_TEST_CONDITION_REQUIRED(pointSet2->GetPointSet()->GetNumberOfPoints()==2,"12 Checking untouched state of pointset 2");
+
+ mitk::GlobalInteraction::GetInstance()->GetEventMapper()->MapEvent(delEvent2);
+ MITK_TEST_CONDITION_REQUIRED(pointSet1->GetPointSet()->GetNumberOfPoints()==1,"13 Checking untouched state of pointset 1");
+ MITK_TEST_CONDITION_REQUIRED(pointSet2->GetPointSet()->GetNumberOfPoints()==1,"14 Checking detected point in pointset 2");
+
+ mitk::GlobalInteraction::GetInstance()->RemoveInteractor(interactor1);
+ mitk::GlobalInteraction::GetInstance()->RemoveInteractor(interactor2);
+ delete delEvent1;
+ delete delEvent2;
+
+ myRenderingManager->RemoveRenderWindow(vtkRenWin1);
+ myRenderingManager->RemoveRenderWindow(vtkRenWin2);
+ vtkRenWin1->Delete();
+ vtkRenWin2->Delete();
+
+ //destroy RenderingManager
+ myRenderingManager = NULL;
+
+
+ MITK_TEST_END()
+}
diff --git a/Core/Code/files.cmake b/Core/Code/files.cmake
index a4e46c9216..6784c9cc9e 100644
--- a/Core/Code/files.cmake
+++ b/Core/Code/files.cmake
@@ -1,224 +1,225 @@
SET(H_FILES
Algorithms/itkLocalVariationImageFilter.h
Algorithms/itkTotalVariationDenoisingImageFilter.h
Algorithms/itkTotalVariationSingleIterationImageFilter.h
DataManagement/mitkCommon.h
Interactions/mitkEventMapperAddOn.h
)
SET(CPP_FILES
Algorithms/mitkBaseDataSource.cpp
Algorithms/mitkBaseProcess.cpp
Algorithms/mitkCoreObjectFactoryBase.cpp
Algorithms/mitkCoreObjectFactory.cpp
Algorithms/mitkDataNodeFactory.cpp
Algorithms/mitkDataNodeSource.cpp
Algorithms/mitkGeometry2DDataToSurfaceFilter.cpp
Algorithms/mitkHistogramGenerator.cpp
Algorithms/mitkImageCaster.cpp
Algorithms/mitkImageCastPart1.cpp
Algorithms/mitkImageCastPart2.cpp
Algorithms/mitkImageCastPart3.cpp
Algorithms/mitkImageCastPart4.cpp
Algorithms/mitkImageChannelSelector.cpp
Algorithms/mitkImageSliceSelector.cpp
Algorithms/mitkImageSource.cpp
Algorithms/mitkImageTimeSelector.cpp
Algorithms/mitkImageToImageFilter.cpp
Algorithms/mitkPointSetSource.cpp
Algorithms/mitkPointSetToPointSetFilter.cpp
Algorithms/mitkRGBToRGBACastImageFilter.cpp
Algorithms/mitkSubImageSelector.cpp
Algorithms/mitkSurfaceSource.cpp
Algorithms/mitkSurfaceToSurfaceFilter.cpp
Algorithms/mitkUIDGenerator.cpp
Algorithms/mitkVolumeCalculator.cpp
Controllers/mitkBaseController.cpp
Controllers/mitkCallbackFromGUIThread.cpp
Controllers/mitkCameraController.cpp
Controllers/mitkCameraRotationController.cpp
Controllers/mitkFocusManager.cpp
Controllers/mitkLimitedLinearUndo.cpp
Controllers/mitkOperationEvent.cpp
Controllers/mitkProgressBar.cpp
Controllers/mitkRenderingManager.cpp
Controllers/mitkSliceNavigationController.cpp
Controllers/mitkSlicesCoordinator.cpp
Controllers/mitkSlicesRotator.cpp
Controllers/mitkSlicesSwiveller.cpp
Controllers/mitkStatusBar.cpp
Controllers/mitkStepper.cpp
Controllers/mitkTestManager.cpp
Controllers/mitkUndoController.cpp
Controllers/mitkVerboseLimitedLinearUndo.cpp
Controllers/mitkVtkInteractorCameraController.cpp
Controllers/mitkVtkLayerController.cpp
DataManagement/mitkAbstractTransformGeometry.cpp
DataManagement/mitkAnnotationProperty.cpp
DataManagement/mitkApplicationCursor.cpp
DataManagement/mitkBaseData.cpp
DataManagement/mitkBaseProperty.cpp
DataManagement/mitkClippingProperty.cpp
DataManagement/mitkColorProperty.cpp
DataManagement/mitkDataStorage.cpp
#DataManagement/mitkDataTree.cpp
DataManagement/mitkDataNode.cpp
#DataManagement/mitkDataTreeStorage.cpp
DataManagement/mitkDisplayGeometry.cpp
DataManagement/mitkEnumerationProperty.cpp
DataManagement/mitkGeometry2D.cpp
DataManagement/mitkGeometry2DData.cpp
DataManagement/mitkGeometry3D.cpp
DataManagement/mitkGeometryData.cpp
DataManagement/mitkGroupTagProperty.cpp
DataManagement/mitkImage.cpp
DataManagement/mitkImageDataItem.cpp
DataManagement/mitkLandmarkBasedCurvedGeometry.cpp
DataManagement/mitkLandmarkProjectorBasedCurvedGeometry.cpp
DataManagement/mitkLandmarkProjector.cpp
DataManagement/mitkLevelWindow.cpp
DataManagement/mitkLevelWindowManager.cpp
DataManagement/mitkLevelWindowPreset.cpp
DataManagement/mitkLevelWindowProperty.cpp
DataManagement/mitkLookupTable.cpp
DataManagement/mitkLookupTables.cpp # specializations of GenericLookupTable
DataManagement/mitkMemoryUtilities.cpp
DataManagement/mitkModalityProperty.cpp
DataManagement/mitkModeOperation.cpp
DataManagement/mitkNodePredicateAnd.cpp
DataManagement/mitkNodePredicateBase.cpp
DataManagement/mitkNodePredicateCompositeBase.cpp
DataManagement/mitkNodePredicateData.cpp
DataManagement/mitkNodePredicateDataType.cpp
DataManagement/mitkNodePredicateDimension.cpp
DataManagement/mitkNodePredicateFirstLevel.cpp
DataManagement/mitkNodePredicateNot.cpp
DataManagement/mitkNodePredicateOr.cpp
DataManagement/mitkNodePredicateProperty.cpp
DataManagement/mitkNodePredicateSource.cpp
DataManagement/mitkPlaneOrientationProperty.cpp
DataManagement/mitkPlaneGeometry.cpp
DataManagement/mitkPlaneOperation.cpp
DataManagement/mitkPointOperation.cpp
DataManagement/mitkPointSet.cpp
DataManagement/mitkProperties.cpp
DataManagement/mitkPropertyList.cpp
DataManagement/mitkRotationOperation.cpp
DataManagement/mitkSlicedData.cpp
DataManagement/mitkSlicedGeometry3D.cpp
DataManagement/mitkSmartPointerProperty.cpp
DataManagement/mitkStandaloneDataStorage.cpp
DataManagement/mitkStateTransitionOperation.cpp
DataManagement/mitkStringProperty.cpp
DataManagement/mitkSurface.cpp
DataManagement/mitkSurfaceOperation.cpp
DataManagement/mitkThinPlateSplineCurvedGeometry.cpp
DataManagement/mitkTimeSlicedGeometry.cpp
DataManagement/mitkTransferFunction.cpp
DataManagement/mitkTransferFunctionInitializer.cpp
DataManagement/mitkVector.cpp
DataManagement/mitkVtkInterpolationProperty.cpp
DataManagement/mitkVtkRepresentationProperty.cpp
DataManagement/mitkVtkResliceInterpolationProperty.cpp
DataManagement/mitkVtkScalarModeProperty.cpp
DataManagement/mitkVtkVolumeRenderingProperty.cpp
DataManagement/mitkWeakPointerProperty.cpp
DataManagement/mitkShaderProperty.cpp
DataManagement/mitkResliceMethodProperty.cpp
DataManagement/mitkMaterial.cpp
Interactions/mitkAction.cpp
Interactions/mitkAffineInteractor.cpp
Interactions/mitkCoordinateSupplier.cpp
Interactions/mitkDisplayCoordinateOperation.cpp
Interactions/mitkDisplayInteractor.cpp
Interactions/mitkDisplayPositionEvent.cpp
Interactions/mitkDisplayVectorInteractor.cpp
Interactions/mitkDisplayVectorInteractorLevelWindow.cpp
Interactions/mitkDisplayVectorInteractorScroll.cpp
Interactions/mitkEvent.cpp
Interactions/mitkEventDescription.cpp
Interactions/mitkEventMapper.cpp
Interactions/mitkGlobalInteraction.cpp
Interactions/mitkInteractor.cpp
Interactions/mitkMouseMovePointSetInteractor.cpp
Interactions/mitkMoveSurfaceInteractor.cpp
+ Interactions/mitkNodeDepententPointSetInteractor.cpp
Interactions/mitkPointSetInteractor.cpp
Interactions/mitkPositionEvent.cpp
Interactions/mitkPositionTracker.cpp
Interactions/mitkState.cpp
Interactions/mitkStateEvent.cpp
Interactions/mitkStateMachine.cpp
Interactions/mitkStateMachineFactory.cpp
Interactions/mitkTransition.cpp
Interactions/mitkWheelEvent.cpp
Interactions/mitkKeyEvent.cpp
Interactions/mitkVtkEventAdapter.cpp
IO/mitkBaseDataIOFactory.cpp
IO/mitkDicomSeriesReader.cpp
IO/mitkFileReader.cpp
IO/mitkFileSeriesReader.cpp
IO/mitkFileWriter.cpp
IO/mitkIpPicGet.c
IO/mitkImageWriter.cpp
IO/mitkImageWriterFactory.cpp
IO/mitkItkImageFileIOFactory.cpp
IO/mitkItkImageFileReader.cpp
IO/mitkItkPictureWrite.cpp
IO/mitkLookupTableProperty.cpp
IO/mitkOperation.cpp
IO/mitkPicFileIOFactory.cpp
IO/mitkPicFileReader.cpp
IO/mitkPicFileWriter.cpp
IO/mitkPicHelper.cpp
IO/mitkPicVolumeTimeSeriesIOFactory.cpp
IO/mitkPicVolumeTimeSeriesReader.cpp
IO/mitkPixelType.cpp
IO/mitkPointSetIOFactory.cpp
IO/mitkPointSetReader.cpp
IO/mitkPointSetWriter.cpp
IO/mitkPointSetWriterFactory.cpp
IO/mitkRawImageFileReader.cpp
IO/mitkStandardFileLocations.cpp
IO/mitkSTLFileIOFactory.cpp
IO/mitkSTLFileReader.cpp
IO/mitkSurfaceVtkWriter.cpp
IO/mitkSurfaceVtkWriterFactory.cpp
IO/mitkVtiFileIOFactory.cpp
IO/mitkVtiFileReader.cpp
IO/mitkVtkImageIOFactory.cpp
IO/mitkVtkImageReader.cpp
IO/mitkVtkSurfaceIOFactory.cpp
IO/mitkVtkSurfaceReader.cpp
IO/vtkPointSetXMLParser.cpp
IO/mitkLog.cpp
Rendering/mitkBaseRenderer.cpp
Rendering/mitkVtkMapper2D.cpp
Rendering/mitkVtkMapper3D.cpp
Rendering/mitkRenderWindowFrame.cpp
Rendering/mitkGeometry2DDataMapper2D.cpp
Rendering/mitkGeometry2DDataVtkMapper3D.cpp
Rendering/mitkGLMapper2D.cpp
Rendering/mitkGradientBackground.cpp
Rendering/mitkManufacturerLogo.cpp
Rendering/mitkMapper2D.cpp
Rendering/mitkMapper3D.cpp
Rendering/mitkMapper.cpp
Rendering/mitkPointSetGLMapper2D.cpp
Rendering/mitkPointSetVtkMapper3D.cpp
Rendering/mitkPolyDataGLMapper2D.cpp
Rendering/mitkSurfaceGLMapper2D.cpp
Rendering/mitkSurfaceVtkMapper3D.cpp
Rendering/mitkVolumeDataVtkMapper3D.cpp
Rendering/mitkVtkPropRenderer.cpp
Rendering/mitkVtkWidgetRendering.cpp
Rendering/vtkMitkRectangleProp.cpp
Rendering/vtkMitkRenderProp.cpp
Rendering/mitkVtkEventProvider.cpp
Rendering/mitkRenderWindow.cpp
Rendering/mitkRenderWindowBase.cpp
Rendering/mitkShaderRepository.cpp
Rendering/mitkImageMapperGL2D.cpp
Rendering/vtkMitkThickSlicesFilter.cpp
)
diff --git a/CoreUI/Bundles/org.mitk.gui.qt.common/resources/StateMachine.xml b/CoreUI/Bundles/org.mitk.gui.qt.common/resources/StateMachine.xml
index 4598c01310..ca7d5dc100 100644
--- a/CoreUI/Bundles/org.mitk.gui.qt.common/resources/StateMachine.xml
+++ b/CoreUI/Bundles/org.mitk.gui.qt.common/resources/StateMachine.xml
@@ -1,3687 +1,3674 @@
-
-
-
-
-
-
+
+
+
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
+
-
+
+
-
-
-
+
+
+
-
-
+
-
-
+
+
+
+
-
+
+
+
+
+
-
+
+