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_
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.
Transform TransformType
typedefs from Transform class
Definition: igstkTracker.h:166
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
virtual ResultType InternalReset(void)
The "InternalReset" method resets tracker to a known configuration.
virtual ResultType InternalStartTracking(void)
The "InternalStartTracking" method starts tracking.
virtual ResultType InternalStopTracking(void)
The "InternalStopTracking" method stops tracking.
Implementation of a class that simulates a tracker.
double TimeStampType
Define the type for the timestamp.
A simulated tracker that reports a circular movement.
igstkStandardAbstractClassTraitsMacro(Tracker, Object) public typedef TrackerTool TrackerToolType
Macro with standard traits declarations.
Definition: igstkTracker.h:101
#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.