IGSTK
igstkMouseTracker.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Image Guided Surgery Software Toolkit
4  Module: $RCSfile: igstkMouseTracker.h,v $
5  Language: C++
6  Date: $Date: 2008-02-13 22:26:12 $
7  Version: $Revision: 1.9 $
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 __igstkMouseTracker_h
19 #define __igstkMouseTracker_h
20 
21 #include "igstkTracker.h"
22 
23 namespace igstk
24 {
25 
37 class MouseTracker : public Tracker
38 {
39 public:
40 
43 
44  typedef Superclass::TransformType TransformType;
45 
47  igstkSetMacro( ScaleFactor, double );
48  igstkGetMacro( ScaleFactor, double );
49 
50 protected:
51 
52  MouseTracker();
53 
54  virtual ~MouseTracker();
55 
57 
58  virtual ResultType InternalOpen( void );
59 
60  virtual ResultType InternalStartTracking( void );
61 
62  virtual ResultType InternalUpdateStatus( void );
63 
65 
66  virtual ResultType InternalReset( void );
67 
68  virtual ResultType InternalStopTracking( void );
69 
70  virtual ResultType InternalClose( void );
71 
74 
76  const TrackerToolType * );
77 
79  const TrackerToolType * );
80 
82  virtual void PrintSelf( std::ostream& os, itk::Indent indent ) const;
83 
84 private:
85 
86  MouseTracker(const Self&); //purposely not implemented
87  void operator=(const Self&); //purposely not implemented
88 
89  double m_ScaleFactor;
90 };
91 
92 }
93 
94 #endif //__igstk_MouseTracker_h_
Implementation of the Mouse TrackerTool class.
#define igstkGetMacro(name, type)
Get built-in type.
Definition: igstkMacros.h:105
virtual void PrintSelf(std::ostream &os, itk::Indent indent) const
Print object information.
Transform TransformType
typedefs from Transform class
Definition: igstkTracker.h:166
Base class for all the IGSTK classes.
Definition: igstkObject.h:40
virtual ResultType RemoveTrackerToolFromInternalDataContainers(const TrackerToolType *)
This method will remove entries of the traceker tool from internal data containers.
virtual ResultType InternalStopTracking(void)
The "InternalStopTracking" method stops tracking.
virtual ~MouseTracker()
virtual ResultType InternalOpen(void)
The "InternalOpen" method opens communication with a tracking device.
#define igstkStandardClassTraitsMacro(classname, superclassname)
Convenience macro for traits of a non-templated class.
Definition: igstkMacros.h:275
Tracker::ResultType ResultType
virtual ResultType VerifyTrackerToolInformation(const TrackerToolType *)
Verify tracker tool information.
virtual ResultType InternalClose(void)
The "InternalClose" method closes communication with a tracking device.
virtual ResultType InternalThreadedUpdateStatus(void)
The "InternalThreadedUpdateStatus" method updates tracker status.
Abstract superclass for concrete IGSTK Tracker classes.
Definition: igstkTracker.h:96
virtual ResultType AddTrackerToolToInternalDataContainers(const TrackerToolType *)
Add tracker tool entry to internal containers.
virtual ResultType InternalReset(void)
The "InternalReset" method resets tracker to a known configuration.
virtual ResultType InternalStartTracking(void)
The "InternalStartTracking" method starts tracking.
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 InternalUpdateStatus(void)
The "InternalUpdateStatus" method updates tracker status.