IGSTK
igstkCircularSimulatedTracker.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3 Program: Image Guided Surgery Software Toolkit
4 Module: $RCSfile: igstkCircularSimulatedTracker.h,v $
5 Language: C++
6 Date: $Date: 2008-06-17 16:58:37 $
7 Version: $Revision: 1.2 $
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 #ifndef __igstkCircularSimulatedTracker_h
19 #define __igstkCircularSimulatedTracker_h
20 
21 #include "igstkSimulatedTracker.h"
22 
23 namespace igstk
24 {
25 
38 {
39 public:
40 
43 
44  typedef Superclass::TransformType TransformType;
45 
47  igstkSetMacro( Radius, double );
48  igstkGetMacro( Radius, double );
49 
51  igstkSetMacro( AngularSpeed, double );
52  igstkGetMacro( AngularSpeed, double );
53 
54 protected:
55 
57 
58  virtual ~CircularSimulatedTracker();
59 
62 
63  virtual ResultType InternalOpen( void );
64 
65  virtual ResultType InternalStartTracking( void );
66 
67  virtual ResultType InternalReset( void );
68 
69  virtual ResultType InternalStopTracking( void );
70 
71  virtual ResultType InternalClose( void );
72 
75 
77  const TrackerToolType * );
78 
79 
83  virtual ResultType InternalUpdateStatus( void );
84 
87  virtual void PrintSelf( std::ostream& os, itk::Indent indent ) const;
88 
89 private:
90 
91  CircularSimulatedTracker(const Self&); //purposely not implemented
92  void operator=(const Self&); //purposely not implemented
93 
94  double m_Radius;
95  double m_Angle;
96  double m_AngularSpeed;
97  TimeType m_TimeOfLastUpdate;
98 };
99 
100 }
101 
102 #endif //__igstk_CircularSimulatedTracker_h_