Classes | Functions | Variables

mitkPointSetInteractorTest.cpp File Reference

#include "mitkPointSetInteractor.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 <iostream>

Go to the source code of this file.

Classes

class  mitkPointSetInteractorTestClass
 method to send specified events to EventMapper More...

Functions

int mitkPointSetInteractorTest (int, char *[])

Variables

const char * POINTSETINTERACTORNAME = "pointsetinteractor"
const char * ONLYMOVEPOINTSETINTERACTORNAME = "onlymovepointsetinteractor"
const char * SEEDPOINTSETINTERACTORNAME = "seedpointsetinteractor"
const char * SINGLEPOINTWITHOUTSHIFTCLICKNAME = "singlepointinteractorwithoutshiftclick"

Function Documentation

int mitkPointSetInteractorTest ( int  ,
char *  [] 
)

Definition at line 507 of file mitkPointSetInteractorTest.cpp.

References mitk::GlobalInteraction::GetInstance(), MITK_TEST_BEGIN, MITK_TEST_CONDITION_REQUIRED, MITK_TEST_END, MITK_TEST_OUTPUT, mitk::VtkPropRenderer::New(), mitk::RenderingManager::New(), mitk::DataNode::New(), mitk::PointSet::New(), ONLYMOVEPOINTSETINTERACTORNAME, POINTSETINTERACTORNAME, SEEDPOINTSETINTERACTORNAME, and SINGLEPOINTWITHOUTSHIFTCLICKNAME.

{
  MITK_TEST_BEGIN("PointSetInteractor")

  // Global interaction must(!) be initialized if used
  mitk::GlobalInteraction::GetInstance()->Initialize("global");

  //create the corresponding data
  mitk::PointSet::Pointer pointSet = mitk::PointSet::New();
  mitk::DataNode::Pointer node = mitk::DataNode::New();

  //we need a baserenderer (VtkPropRenderer) to be able to let PointSetInteractor::CanHandleEvent() proccess
  //and for this we need a RenderWindow and a RenderingManager
  
  mitk::RenderingManager::Pointer myRenderingManager = mitk::RenderingManager::New();
  myRenderingManager->SetGlobalInteraction(mitk::GlobalInteraction::GetInstance());
  vtkRenderWindow* vtkRenWin = vtkRenderWindow::New();
  mitk::VtkPropRenderer::Pointer sender = mitk::VtkPropRenderer::New("testingBR", vtkRenWin, myRenderingManager);
  vtkRenWin->Delete();

  //hook everything up into a dataNode. (node doesn't here have to be in DataStorage)
  node->SetData(pointSet);

  //pointset should be empty  
  MITK_TEST_CONDITION_REQUIRED(pointSet->GetPointSet()->GetNumberOfPoints()==0,"Checking if pointset is empty.");

  //instance of testclass
  mitkPointSetInteractorTestClass* test = new mitkPointSetInteractorTestClass();
  
  //test setup regular pointsetinteractor
  MITK_TEST_OUTPUT(<<"--------Testing "<<POINTSETINTERACTORNAME<<" with max 3 points--------");
  test->TestPointSetInteractor(POINTSETINTERACTORNAME, node, sender, 3);
  
  pointSet = mitk::PointSet::New();
  node = mitk::DataNode::New();
  node->SetData(pointSet);

  //test setup with unlimited numbers of points supported
  MITK_TEST_OUTPUT(<<"--------Testing "<<POINTSETINTERACTORNAME<<" with unlimited points --------");
  test->TestPointSetInteractor(POINTSETINTERACTORNAME, node, sender, -1);

  pointSet = mitk::PointSet::New();
  node = mitk::DataNode::New();
  node->SetData(pointSet);

  //test setup only move pointsetinteractor
  MITK_TEST_OUTPUT(<<"--------Testing "<<ONLYMOVEPOINTSETINTERACTORNAME<<" with unlimited points --------");
  test->TestOnlyMovePointSetInteractor(ONLYMOVEPOINTSETINTERACTORNAME, node, sender, -1);

  pointSet = mitk::PointSet::New();
  node = mitk::DataNode::New();
  node->SetData(pointSet);

  MITK_TEST_OUTPUT(<<"--------Testing "<<SEEDPOINTSETINTERACTORNAME<<" with one point --------");
  test->TestSeedPointSetInteractor(SEEDPOINTSETINTERACTORNAME, node, sender);

  pointSet = mitk::PointSet::New();
  node = mitk::DataNode::New();
  node->SetData(pointSet);
  
  MITK_TEST_OUTPUT(<<"--------Testing "<<SINGLEPOINTWITHOUTSHIFTCLICKNAME<<" with one point --------");
  test->TestSinglePointSetInteractorWithoutShiftClick(SINGLEPOINTWITHOUTSHIFTCLICKNAME, node, sender);

  MITK_TEST_END()
}

Variable Documentation

const char* ONLYMOVEPOINTSETINTERACTORNAME = "onlymovepointsetinteractor"

Definition at line 32 of file mitkPointSetInteractorTest.cpp.

Referenced by mitkPointSetInteractorTest().

const char* POINTSETINTERACTORNAME = "pointsetinteractor"

Definition at line 31 of file mitkPointSetInteractorTest.cpp.

Referenced by mitkPointSetInteractorTest().

const char* SEEDPOINTSETINTERACTORNAME = "seedpointsetinteractor"

Definition at line 33 of file mitkPointSetInteractorTest.cpp.

Referenced by mitkPointSetInteractorTest().

const char* SINGLEPOINTWITHOUTSHIFTCLICKNAME = "singlepointinteractorwithoutshiftclick"

Definition at line 34 of file mitkPointSetInteractorTest.cpp.

Referenced by mitkPointSetInteractorTest().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines