Medical Imaging Interaction Toolkit
2018.4.99-389bf124
Medical Imaging Interaction Toolkit
|
Creates everything needed to load and playback interaction events. More...
#include <mitkInteractionTestHelper.h>
Public Types | |
typedef std::vector< mitk::RenderWindow::Pointer > | RenderWindowListType |
Public Member Functions | |
InteractionTestHelper (const std::string &interactionXmlFilePath) | |
InteractionTestHelper set up all neseccary objects by calling Initialize. More... | |
virtual | ~InteractionTestHelper () |
mitk::DataStorage::Pointer | GetDataStorage () |
Returns the datastorage, in order to modify the data inside a rendering test. More... | |
void | AddNodeToStorage (mitk::DataNode::Pointer node) |
AddNodeToStorage Add a node to the datastorage and perform a reinit which is necessary for rendering. More... | |
void | PlaybackInteraction () |
PlaybackInteraction playback loaded interaction by passing events to the dispatcher. More... | |
void | SetTimeStep (int newTimeStep) |
SetTimeStep Sets timesteps of all SliceNavigationControllers to given timestep. More... | |
const RenderWindowListType & | GetRenderWindowList () |
RenderWindow * | GetRenderWindowByName (const std::string &name) |
GetRenderWindowByName Get renderWindow by the name of its renderer. More... | |
RenderWindow * | GetRenderWindowByDefaultViewDirection (mitk::SliceNavigationController::ViewDirection viewDirection) |
GetRenderWindowByDefaultViewDirection Get a renderWindow by its default viewdirection. More... | |
RenderWindow * | GetRenderWindow (unsigned int index) |
GetRenderWindow Get renderWindow at position 'index'. More... | |
void | AddDisplayPlaneSubTree () |
AddDisplayPlaneSubTree. More... | |
void | Set3dCameraSettings () |
Protected Member Functions | |
void | Initialize (const std::string &interactionXmlFilePath) |
Initialize Internal method to initialize the renderwindow and set the datastorage. More... | |
void | LoadInteraction () |
LoadInteraction loads events from xml file. More... | |
Creates everything needed to load and playback interaction events.
The interaction is loaded from an xml file and the event are created. This file is usually a recorded user interaction with the GUI. This can be done with InteractionEventRecorder plugin. Also all necessary objects to handle interaction events are generated. The user of this class is responsible to add the data object to interact with to the data storage of InteractionTestHelper. And must also make sure that a proper data interactor is associated with the data object.
To test a PointSet interaction for instance make sure you have a PointSet node and a PointSetDataInteractor. Then just add the node to the storage of the your InteractionTestHelper by calling InteractionTestHelper::AddNodeToStorage. Use InteractionTestHelper::PlaybackInteraction to execute. The result can afterwards be compared to a reference object.
Make sure to destroy the test helper instance after each test, since all render windows and its renderers have to be unregistered.
Definition at line 51 of file mitkInteractionTestHelper.h.
typedef std::vector<mitk::RenderWindow::Pointer> mitk::InteractionTestHelper::RenderWindowListType |
Definition at line 88 of file mitkInteractionTestHelper.h.
mitk::InteractionTestHelper::InteractionTestHelper | ( | const std::string & | interactionXmlFilePath | ) |
InteractionTestHelper set up all neseccary objects by calling Initialize.
interactionXmlFilePath | path to xml file containing events and configuration information for the render windows. |
Definition at line 29 of file mitkInteractionTestHelper.cpp.
References Initialize().
|
virtual |
void mitk::InteractionTestHelper::AddDisplayPlaneSubTree | ( | ) |
AddDisplayPlaneSubTree.
Creates DisplayPlanes that are shown in a 3D RenderWindow.
Definition at line 314 of file mitkInteractionTestHelper.cpp.
References mitk::BaseRenderer::GetInstance(), m_DataStorage, m_RenderWindowList, mitk::BoolProperty::New(), mitk::IntProperty::New(), mitk::StringProperty::New(), mitk::PlaneGeometryDataMapper2D::New(), mitk::DataNode::New(), mitk::BaseRenderer::Standard2D, and mitk::BaseRenderer::Standard3D.
Referenced by Initialize().
void mitk::InteractionTestHelper::AddNodeToStorage | ( | mitk::DataNode::Pointer | node | ) |
AddNodeToStorage Add a node to the datastorage and perform a reinit which is necessary for rendering.
node | The data you want to add. |
Definition at line 202 of file mitkInteractionTestHelper.cpp.
References m_DataStorage, and Set3dCameraSettings().
mitk::DataStorage::Pointer mitk::InteractionTestHelper::GetDataStorage | ( | ) |
Returns the datastorage, in order to modify the data inside a rendering test.
Definition at line 197 of file mitkInteractionTestHelper.cpp.
References m_DataStorage.
mitk::RenderWindow * mitk::InteractionTestHelper::GetRenderWindow | ( | unsigned int | index | ) |
GetRenderWindow Get renderWindow at position 'index'.
index | Position within the renderWindow list. |
Definition at line 302 of file mitkInteractionTestHelper.cpp.
References m_RenderWindowList.
mitk::RenderWindow * mitk::InteractionTestHelper::GetRenderWindowByDefaultViewDirection | ( | mitk::SliceNavigationController::ViewDirection | viewDirection | ) |
GetRenderWindowByDefaultViewDirection Get a renderWindow by its default viewdirection.
viewDirection |
Definition at line 287 of file mitkInteractionTestHelper.cpp.
References m_RenderWindowList.
mitk::RenderWindow * mitk::InteractionTestHelper::GetRenderWindowByName | ( | const std::string & | name | ) |
GetRenderWindowByName Get renderWindow by the name of its renderer.
name | The name of the renderer of the desired renderWindow. |
Definition at line 273 of file mitkInteractionTestHelper.cpp.
References m_RenderWindowList.
|
inline |
Definition at line 90 of file mitkInteractionTestHelper.h.
References AddDisplayPlaneSubTree().
|
protected |
Initialize Internal method to initialize the renderwindow and set the datastorage.
mitk::Exception | if interaction xml file can not be loaded. |
Definition at line 35 of file mitkInteractionTestHelper.cpp.
References AddDisplayPlaneSubTree(), mitk::SliceNavigationController::Axial, mitk::RenderingManager::GetInstance(), m_DataStorage, m_InteractionFilePath, m_MouseModeSwitcher, m_RenderWindowList, mitkThrow, mitk::RenderWindow::New(), mitk::StandaloneDataStorage::New(), mitk::MouseModeSwitcher::New(), mitk::BaseRenderer::Standard2D, mitk::BaseRenderer::Standard3D, mitk::InteractionEventConst::xmlCameraFocalPointX(), mitk::InteractionEventConst::xmlCameraFocalPointY(), mitk::InteractionEventConst::xmlCameraFocalPointZ(), mitk::InteractionEventConst::xmlCameraPositionX(), mitk::InteractionEventConst::xmlCameraPositionY(), mitk::InteractionEventConst::xmlCameraPositionZ(), mitk::InteractionEventConst::xmlEventPropertyMapperID(), mitk::InteractionEventConst::xmlEventPropertyRendererName(), mitk::InteractionEventConst::xmlEventPropertyViewDirection(), mitk::InteractionEventConst::xmlRenderSizeX(), mitk::InteractionEventConst::xmlRenderSizeY(), mitk::InteractionEventConst::xmlRenderSizeZ(), mitk::InteractionEventConst::xmlTagConfigRoot(), mitk::InteractionEventConst::xmlTagInteractions(), mitk::InteractionEventConst::xmlTagRenderer(), mitk::InteractionEventConst::xmlViewUpX(), mitk::InteractionEventConst::xmlViewUpY(), and mitk::InteractionEventConst::xmlViewUpZ().
Referenced by InteractionTestHelper().
|
protected |
LoadInteraction loads events from xml file.
interactionXmlPath | path to xml file with interaction events. |
Definition at line 248 of file mitkInteractionTestHelper.cpp.
References m_Events, and m_InteractionFilePath.
Referenced by PlaybackInteraction().
void mitk::InteractionTestHelper::PlaybackInteraction | ( | ) |
PlaybackInteraction playback loaded interaction by passing events to the dispatcher.
Definition at line 209 of file mitkInteractionTestHelper.cpp.
References mitk::RenderingManager::GetInstance(), mitk::RenderingManager::InitializeViewsByBoundingObjects(), LoadInteraction(), m_DataStorage, m_Events, and m_RenderWindowList.
void mitk::InteractionTestHelper::Set3dCameraSettings | ( | ) |
Definition at line 349 of file mitkInteractionTestHelper.cpp.
References mitk::RenderWindowBase::GetRenderer(), mitk::BaseRenderer::GetVtkRenderer(), mitk::RenderWindow::GetVtkRenderWindow(), m_InteractionFilePath, m_RenderWindowList, MITK_ERROR, mitk::VtkPropRenderer::PrepareRender(), mitk::BaseRenderer::Standard2D, mitk::BaseRenderer::Standard3D, mitk::InteractionEventConst::xmlCameraFocalPointX(), mitk::InteractionEventConst::xmlCameraFocalPointY(), mitk::InteractionEventConst::xmlCameraFocalPointZ(), mitk::InteractionEventConst::xmlCameraPositionX(), mitk::InteractionEventConst::xmlCameraPositionY(), mitk::InteractionEventConst::xmlCameraPositionZ(), mitk::InteractionEventConst::xmlEventPropertyMapperID(), mitk::InteractionEventConst::xmlEventPropertyRendererName(), mitk::InteractionEventConst::xmlTagConfigRoot(), mitk::InteractionEventConst::xmlTagInteractions(), mitk::InteractionEventConst::xmlTagRenderer(), mitk::InteractionEventConst::xmlViewUpX(), mitk::InteractionEventConst::xmlViewUpY(), and mitk::InteractionEventConst::xmlViewUpZ().
Referenced by AddNodeToStorage().
void mitk::InteractionTestHelper::SetTimeStep | ( | int | newTimeStep | ) |
SetTimeStep Sets timesteps of all SliceNavigationControllers to given timestep.
newTimeStep | new timestep |
Does the same as using ImageNavigators Time slider. Use this if your data was modified in a timestep other than 0.
Definition at line 259 of file mitkInteractionTestHelper.cpp.
References mitk::SliceNavigationController::GetCreatedWorldGeometry(), mitk::RenderingManager::GetInstance(), mitk::BaseController::GetTime(), mitk::RenderingManager::GetTimeNavigationController(), mitk::RenderingManager::InitializeViewsByBoundingObjects(), mitk::TimeGeometry::IsValidTimeStep(), m_DataStorage, and mitk::Stepper::SetPos().
|
protected |
Definition at line 139 of file mitkInteractionTestHelper.h.
Referenced by AddDisplayPlaneSubTree(), AddNodeToStorage(), GetDataStorage(), Initialize(), PlaybackInteraction(), and SetTimeStep().
|
protected |
Definition at line 134 of file mitkInteractionTestHelper.h.
Referenced by LoadInteraction(), and PlaybackInteraction().
|
protected |
Definition at line 136 of file mitkInteractionTestHelper.h.
Referenced by Initialize(), LoadInteraction(), and Set3dCameraSettings().
|
protected |
Definition at line 140 of file mitkInteractionTestHelper.h.
Referenced by Initialize().
|
protected |
Definition at line 138 of file mitkInteractionTestHelper.h.
Referenced by AddDisplayPlaneSubTree(), GetRenderWindow(), GetRenderWindowByDefaultViewDirection(), GetRenderWindowByName(), Initialize(), PlaybackInteraction(), Set3dCameraSettings(), and ~InteractionTestHelper().