~ubuntu-branches/ubuntu/lucid/igstk/lucid

« back to all changes in this revision

Viewing changes to Testing/igstkAuroraTrackerToolObserverToOpenIGTLinkRelayTest.cxx

  • Committer: Bazaar Package Importer
  • Author(s): Dominique Belhachemi
  • Date: 2009-10-07 17:35:43 UTC
  • mfrom: (2.1.3 squeeze)
  • Revision ID: james.westby@ubuntu.com-20091007173543-69eyhyjrh0bfoqe5
Tags: 4.2.0-2
* Fixed link issue (Closes: #549799)
* switch to quilt

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*=========================================================================
 
2
 
 
3
  Program:   Image Guided Surgery Software Toolkit
 
4
  Module:    $RCSfile: igstkAuroraTrackerToolObserverToOpenIGTLinkRelayTest.cxx,v $
 
5
  Language:  C++
 
6
  Date:      $Date: 2009-06-02 21:36:17 $
 
7
  Version:   $Revision: 1.1 $
 
8
 
 
9
  Copyright (c) ISC  Insight Software Consortium.  All rights reserved.
 
10
  See IGSTKCopyright.txt or http://www.igstk.org/copyright.htm for details.
 
11
 
 
12
     This software is distributed WITHOUT ANY WARRANTY; without even
 
13
     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
 
14
     PURPOSE.  See the above copyright notices for more information.
 
15
 
 
16
=========================================================================*/
 
17
 
 
18
#if defined(_MSC_VER)
 
19
// Warning about: identifier was truncated to '255' characters 
 
20
// in the debug information (MVC6.0 Debug)
 
21
#pragma warning( disable : 4786 )
 
22
#endif
 
23
 
 
24
#include <iostream>
 
25
 
 
26
 
 
27
#include "igstkRealTimeClock.h"
 
28
#include "igstkSystemInformation.h"
 
29
#include "igstkSerialCommunication.h"
 
30
#include "igstkAuroraTracker.h"
 
31
#include "igstkSimulatedTrackerTool.h"
 
32
#include "igstkTrackerToolObserverToOpenIGTLinkRelay.h"
 
33
 
 
34
 
 
35
int igstkAuroraTrackerToolObserverToOpenIGTLinkRelayTest( int argc, char * argv [] )
 
36
{
 
37
 
 
38
  if( argc < 6 )
 
39
    {
 
40
    std::cerr << "Usage: " << std::endl;
 
41
    std::cerr << argv[0] << " hostname portnumber numberOfTransformsToSend auroraPortNumber framesPerSecond" << std::endl;
 
42
    return EXIT_FAILURE;
 
43
    }
 
44
 
 
45
  igstk::RealTimeClock::Initialize();
 
46
 
 
47
  typedef igstk::AuroraTracker                         TrackerType;
 
48
  typedef igstk::AuroraTrackerTool                     TrackerToolType;
 
49
  typedef igstk::TrackerToolObserverToOpenIGTLinkRelay       ObserverType;
 
50
 
 
51
  TrackerType::Pointer      tracker      = TrackerType::New();
 
52
  TrackerToolType::Pointer  trackerTool  = TrackerToolType::New();
 
53
  ObserverType::Pointer     toolObserver = ObserverType::New();
 
54
 
 
55
  igstk::SerialCommunication::Pointer 
 
56
                     serialComm = igstk::SerialCommunication::New();
 
57
 
 
58
  typedef igstk::SerialCommunication::PortNumberType PortNumberType; 
 
59
  unsigned int portNumberIntegerValue = atoi(argv[4]);
 
60
  PortNumberType  polarisPortNumber = PortNumberType(portNumberIntegerValue); 
 
61
  serialComm->SetPortNumber( polarisPortNumber );
 
62
  serialComm->SetParity( igstk::SerialCommunication::NoParity );
 
63
  serialComm->SetBaudRate( igstk::SerialCommunication::BaudRate115200 );
 
64
  serialComm->SetDataBits( igstk::SerialCommunication::DataBits8 );
 
65
  serialComm->SetStopBits( igstk::SerialCommunication::StopBits1 );
 
66
  serialComm->SetHardwareHandshake( igstk::SerialCommunication::HandshakeOff );
 
67
 
 
68
  serialComm->SetCaptureFileName( "RecordedStreamByAuroraTrackerTest.txt" );
 
69
  serialComm->SetCapture( true );
 
70
 
 
71
  serialComm->OpenCommunication();
 
72
 
 
73
  tracker->SetCommunication( serialComm );
 
74
 
 
75
  double frequency = atof( argv[5] ); 
 
76
  tracker->RequestSetFrequency( frequency );
 
77
  tracker->RequestOpen();
 
78
 
 
79
  trackerTool->RequestSelect6DOFTrackerTool();
 
80
  trackerTool->RequestSetPortNumber( portNumberIntegerValue );
 
81
  trackerTool->RequestConfigure();
 
82
 
 
83
  trackerTool->RequestAttachToTracker( tracker );
 
84
 
 
85
  toolObserver->RequestSetTrackerTool( trackerTool );
 
86
  toolObserver->RequestSetHostName( argv[1] );
 
87
  toolObserver->RequestSetPort( atoi( argv[2] ) );
 
88
  toolObserver->RequestSetFramesPerSecond( frequency );
 
89
  toolObserver->RequestStart();
 
90
 
 
91
  tracker->RequestStartTracking();
 
92
 
 
93
  const unsigned int numberOfTransformsToSend = atoi( argv[3] );
 
94
 
 
95
  for( unsigned int i = 0; i < numberOfTransformsToSend; i++ )
 
96
    {
 
97
    igstk::PulseGenerator::Sleep(10);
 
98
    igstk::PulseGenerator::CheckTimeouts();
 
99
    }
 
100
 
 
101
  tracker->RequestStopTracking();
 
102
  tracker->RequestReset();
 
103
  tracker->RequestClose();
 
104
 
 
105
  return EXIT_SUCCESS;
 
106
}