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 
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 
61  typedef RealTimeClock::TimeStampType TimeType;
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 
74  virtual ResultType VerifyTrackerToolInformation( TrackerToolType * );
75 
77  const TrackerToolType * );
78 
79 
83  virtual ResultType InternalUpdateStatus( void );
84 
85  virtual ResultType InternalThreadedUpdateStatus( void );
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_
virtual ResultType InternalClose(void)
The "InternalClose" method closes communication with a tracking device.
#define igstkGetMacro(name, type)
Get built-in type.
Definition: igstkMacros.h:105
virtual ResultType InternalThreadedUpdateStatus(void)
The "InternalThreadedUpdateStatus" method updates tracker status.
virtual ResultType InternalOpen(void)
The "InternalOpen" method opens communication with a tracking device.
virtual ResultType InternalUpdateStatus(void)
This is the most important method of this class.
Base class for all the IGSTK classes.
Definition: igstkObject.h:40
virtual ResultType VerifyTrackerToolInformation(TrackerToolType *)
Verify tracker tool information.
#define igstkStandardClassTraitsMacro(classname, superclassname)
Convenience macro for traits of a non-templated class.
Definition: igstkMacros.h:275
The RealTimeClock provides a timestamp from a real-time clock.
virtual ResultType InternalReset(void)
The "InternalReset" method resets tracker to a known configuration.
Abstract superclass for concrete IGSTK TrackerTool classes.
Superclass::TransformType TransformType
Macro with standard traits declarations.
virtual ResultType InternalStartTracking(void)
The "InternalStartTracking" method starts tracking.
virtual ResultType InternalStopTracking(void)
The "InternalStopTracking" method stops tracking.
Abstract superclass for concrete IGSTK Tracker classes.
Definition: igstkTracker.h:96
Implementation of a class that simulates a tracker.
::itk::Object Superclass
Definition: igstkObject.h:49
A simulated tracker that reports a circular movement.
#define igstkSetMacro(name, type)
Set built-in type.
Definition: igstkMacros.h:93
virtual ResultType RemoveTrackerToolFromInternalDataContainers(const TrackerToolType *)
This method will remove entries of the traceker tool from internal data containers.
virtual void PrintSelf(std::ostream &os, itk::Indent indent) const
Print object information.