18 #ifndef __igstkNDITracker_h
19 #define __igstkNDITracker_h
49 void SetCommunication( CommunicationType *communication );
102 virtual void PrintSelf( std::ostream& os, ::itk::Indent indent )
const;
117 void operator=(
const Self&);
120 ::itk::MutexLock::Pointer m_BufferLock;
123 CommunicationType::Pointer m_Communication;
126 CommunicationType::BaudRateType m_BaudRate;
133 typedef std::string PortIdentifierType;
134 typedef std::map< PortIdentifierType, int > PortHandleContainerType;
135 PortHandleContainerType m_PortHandleContainer;
138 typedef std::map< std::string, int > ToolAbsentStatusContainerType;
139 ToolAbsentStatusContainerType m_ToolAbsentStatusContainer;
142 typedef std::map< std::string, int > ToolStatusContainerType;
143 ToolStatusContainerType m_ToolStatusContainer;
146 typedef std::vector < double > InternalTransformType;
147 typedef std::map< std::string , InternalTransformType >
148 TrackerToolTransformContainerType;
150 TrackerToolTransformContainerType m_ToolTransformBuffer;
153 int m_PortHandleToBeAdded;
159 #endif //__igstk_NDITracker_h_
Mediate between a Tracker and its Communication object.
#define igstkStandardAbstractClassTraitsMacro(classname, superclassname)
Convenience macro for traits of an abstract non-templated class.
virtual ResultType InternalStopTracking(void)
Take the tracking device out of tracking mode.
virtual ResultType InternalOpen(void)
Open communication with the tracking device.
virtual ResultType InternalThreadedUpdateStatus(void)
Update the status and the transforms.
virtual ~NDITracker(void)
Base class for all the IGSTK classes.
virtual ResultType RemoveTrackerToolFromInternalDataContainers(const TrackerToolType *trackerTool)
Remove tracker tool entry from internal containers.
CommandInterpreterType::Pointer GetCommandInterpreter() const
Get method for the command interpreter This will method will be used by the derived classes...
Provides support for the NDI trackers.
::itk::SmartPointer< Self > Pointer
virtual ResultType InternalUpdateStatus(void)
Update the status and the transforms for all TrackerTools.
virtual ResultType InternalReset(void)
Reset the tracking device to put it back to its original state.
Abstract superclass for concrete IGSTK Tracker classes.
virtual ResultType ValidateSpecifiedFrequency(double frequencyInHz)
The "ValidateSpecifiedFrequency" method checks if the specified frequency is valid for the tracking d...
This class implements communication over a serial port via RS-232.
virtual ResultType InternalStartTracking(void)
Put the tracking device into tracking mode.
igstkStandardAbstractClassTraitsMacro(Tracker, Object) public typedef TrackerTool TrackerToolType
Macro with standard traits declarations.
virtual ResultType AddTrackerToolToInternalDataContainers(const TrackerToolType *trackerTool)
Add tracker tool entry to internal containers.
#define igstkSetMacro(name, type)
Set built-in type.
virtual void PrintSelf(std::ostream &os,::itk::Indent indent) const
Print object information.
virtual ResultType VerifyTrackerToolInformation(const TrackerToolType *)=0
Verify tracker tool information.
Tracker::ResultType ResultType
typedef for internal boolean return type
virtual ResultType InternalClose(void)
Close communication with the tracking device.
ResultType CheckError(CommandInterpreterType *) const
Helper function for reporting interpreter errors.
igstk::NDICommandInterpreter CommandInterpreterType
typedef for command interpreter