MITK-IGT
IGT Extension of MITK
Loading...
Searching...
No Matches
mitkNDIPolarisHardwareTest.cpp
Go to the documentation of this file.
1/*============================================================================
2
3The Medical Imaging Interaction Toolkit (MITK)
4
5Copyright (c) German Cancer Research Center (DKFZ)
6All rights reserved.
7
8Use of this source code is governed by a 3-clause BSD license that can be
9found in the LICENSE file.
10
11============================================================================*/
12
14#include "mitkNDIPassiveTool.h"
15#include "mitkTestingMacros.h"
16#include "mitkTrackingTypes.h"
17#include "mitkTrackingTool.h"
18#include "mitkStandardFileLocations.h"
19
20
22
23
24int mitkNDIPolarisHardwareTest(int argc , char* argv[])
25{
26 // always start with this!
27 MITK_TEST_BEGIN("NDIPolarisHardware (An NDI tracking device has to be connected to this system!)");
28
29 if (argc<2) {MITK_TEST_FAILED_MSG(<<"Error: test must be called with the com port as second parameter!");}
30
31 //create a polaris tracking device
32 mitk::NDITrackingDevice::Pointer myNDITrackingDevice = mitk::NDITrackingDevice::New();
33 myNDITrackingDevice->SetType(mitk::NDIPolarisTypeInformation::GetTrackingDeviceName());
34
35#ifdef WIN32
36 //set port
37 int comPort = *argv[1] - '0';
38
39 switch (comPort)
40 {
41 case 1:
42 myNDITrackingDevice->SetPortNumber(mitk::SerialCommunication::COM1);
43 break;
44 case 2:
45 myNDITrackingDevice->SetPortNumber(mitk::SerialCommunication::COM2);
46 break;
47 case 3:
48 myNDITrackingDevice->SetPortNumber(mitk::SerialCommunication::COM3);
49 break;
50 case 4:
51 myNDITrackingDevice->SetPortNumber(mitk::SerialCommunication::COM4);
52 break;
53 case 5:
54 myNDITrackingDevice->SetPortNumber(mitk::SerialCommunication::COM5);
55 break;
56 case 6:
57 myNDITrackingDevice->SetPortNumber(mitk::SerialCommunication::COM6);
58 break;
59 case 7:
60 myNDITrackingDevice->SetPortNumber(mitk::SerialCommunication::COM7);
61 break;
62 case 8:
63 myNDITrackingDevice->SetPortNumber(mitk::SerialCommunication::COM8);
64 break;
65 case 9:
66 myNDITrackingDevice->SetPortNumber(mitk::SerialCommunication::COM9);
67 break;
68 }
69
70#else
71 MITK_INFO << std::string(argv[1]);
72 myNDITrackingDevice->SetDeviceName(std::string(argv[1]));
73#endif
74
75 //TODO: add tools
76
77 //OpenConnection
78 MITK_TEST_CONDITION( (myNDITrackingDevice->OpenConnection()), "Testing method OpenConnection().");
79
80 //StartTracking
81 MITK_TEST_CONDITION( (myNDITrackingDevice->StartTracking()), "Testing method StartTracking().");
82
83 //TODO: test if tools are updated correctly
84
85 //Stop tracking
86 MITK_TEST_CONDITION( (myNDITrackingDevice->StopTracking()), "Testing method StopTracking().");
87
88 //CloseConnection
89 MITK_TEST_CONDITION( (myNDITrackingDevice->CloseConnection()), "Testing behavior of method CloseConnection().");
90
91 // always end with this!
92 MITK_TEST_END();
93}
int mitkNDIPolarisHardwareTest(int argc, char *argv[])