cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends | List of all members
mtsMedtronicStealthlink Class Reference

#include <mtsMedtronicStealthlink.h>

Inheritance diagram for mtsMedtronicStealthlink:
mtsTaskFromSignal mtsTaskPeriodic mtsTaskContinuous mtsTaskContinuous mtsTask mtsTask mtsComponent mtsComponent cmnGenericObject cmnGenericObject

Classes

class  ExamInformation
 
class  Registration
 
class  Tool
 

Public Member Functions

 mtsMedtronicStealthlink (const std::string &taskName, const double &periodInSeconds)
 
 mtsMedtronicStealthlink (const mtsTaskPeriodicConstructorArg &arg)
 
 ~mtsMedtronicStealthlink ()
 
void Startup (void)
 
void Configure (const std::string &filename="")
 
void Run (void)
 
void Cleanup (void)
 
 mtsMedtronicStealthlink (const std::string &taskName)
 
 ~mtsMedtronicStealthlink ()
 
void Startup (void)
 
void Configure (const std::string &filename="")
 
void Run (void)
 
void Cleanup (void)
 
- Public Member Functions inherited from mtsTaskFromSignal
 mtsTaskFromSignal (const std::string &name, unsigned int sizeStateTable=256)
 
virtual ~mtsTaskFromSignal ()
 
void Kill (void)
 
mtsInterfaceRequiredAddInterfaceRequiredWithoutSystemEventHandlers (const std::string &interfaceRequiredName, mtsRequiredType required=MTS_REQUIRED)
 
mtsInterfaceProvidedAddInterfaceProvidedWithoutSystemEvents (const std::string &newInterfaceName, mtsInterfaceQueueingPolicy queueingPolicy=MTS_COMPONENT_POLICY, bool isProxy=false)
 
- Public Member Functions inherited from mtsTaskContinuous
 mtsTaskContinuous (const std::string &name, unsigned int sizeStateTable=256, bool newThread=true)
 
 mtsTaskContinuous (const mtsTaskContinuousConstructorArg &arg)
 
virtual ~mtsTaskContinuous ()
 
void Create (void *data=0)
 
void Start (void)
 
- Public Member Functions inherited from mtsTask
 mtsTask (const std::string &name, unsigned int sizeStateTable=256)
 
virtual ~mtsTask ()
 
virtual void OnStartupException (const std::exception &excp)
 
virtual void OnRunException (const std::exception &excp)
 
virtual void Configure (const std::string &CMN_UNUSED(filename)="")
 
void SetInitializationDelay (double delay)
 
void Create (void)
 
double GetAveragePeriod (void) const
 
const std::string GetDefaultStateTableName (void) const
 
mtsStateTableGetDefaultStateTable (void)
 
virtual bool WaitToStart (double timeout)
 
virtual bool WaitToTerminate (double timeout)
 
virtual void WaitForWakeup (void)
 
virtual void Wakeup (void)
 
void ProcessManagerCommandsIfNotActive ()
 
bool CheckForOwnThread (void) const
 
virtual bool IsOverranPeriod (void) const
 
virtual void ResetOverranPeriod (void)
 
- Public Member Functions inherited from mtsComponent
 mtsComponent (const std::string &deviceName)
 
virtual ~mtsComponent ()
 
const std::string & GetName (void) const
 
void GetName (std::string &placeHolder) const
 
void SetName (const std::string &componentName)
 
bool CreateAndWait (double timeoutInSeconds)
 
bool StartAndWait (double timeoutInSeconds)
 
bool KillAndWait (double timeoutInSeconds)
 
mtsInterfaceProvidedAddInterfaceProvided (const std::string &interfaceProvidedName, mtsInterfaceQueueingPolicy queueingPolicy=MTS_COMPONENT_POLICY)
 
CISST_DEPRECATED
mtsInterfaceProvided
AddProvidedInterface (const std::string &interfaceProvidedName)
 
virtual mtsInterfaceOutputAddInterfaceOutput (const std::string &interfaceOutputName)
 
bool InterfaceExists (const std::string &interfaceName, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_VERBOSE) const
 
bool InterfaceProvidedOrOutputExists (const std::string &interfaceName, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_VERBOSE) const
 
bool InterfaceRequiredOrInputExists (const std::string &interfaceName, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_VERBOSE) const
 
mtsInterfaceProvidedGetInterfaceProvided (const std::string &interfaceProvidedName) const
 
mtsInterfaceOutputGetInterfaceOutput (const std::string &interfaceOutputName) const
 
size_t GetNumberOfInterfacesProvided (void) const
 
size_t GetNumberOfInterfacesOutput (void) const
 
bool RemoveInterfaceProvided (const std::string &interfaceProvidedName, const bool skipDisconnect=false)
 
mtsInterfaceRequiredAddInterfaceRequired (const std::string &interfaceRequiredName, mtsRequiredType isRequired=MTS_REQUIRED)
 
CISST_DEPRECATED
mtsInterfaceRequired
AddRequiredInterface (const std::string &requiredInterfaceName)
 
virtual mtsInterfaceInputAddInterfaceInput (const std::string &interfaceInputName)
 
const mtsInterfaceProvidedGetInterfaceProvidedFor (const std::string &interfaceRequiredName)
 
mtsInterfaceRequiredGetInterfaceRequired (const std::string &interfaceRequiredName)
 
mtsInterfaceInputGetInterfaceInput (const std::string &interfaceInputName) const
 
size_t GetNumberOfInterfacesRequired (void) const
 
size_t GetNumberOfInterfacesInput (void) const
 
bool RemoveInterfaceRequired (const std::string &interfaceRequiredName, const bool skipDisconnect=false)
 
const mtsManagerComponentServicesGetManagerComponentServices (void) const
 
mtsManagerComponentServicesGetManagerComponentServices (void)
 
mtsStateTableGetStateTable (const std::string &stateTableName)
 
bool AddStateTable (mtsStateTable *existingStateTable, bool addInterfaceProvided=true)
 
void UseSeparateLogFileDefault (bool forwardToLogger=true)
 
void UseSeparateLogFileDefaultWithDate (bool forwardToLogger=true)
 
void UseSeparateLogFile (const std::string &filename, bool forwardToLogger=true)
 
cmnLogger::StreamBufTypeGetLogMultiplexer (void) const
 
bool IsRunning (void) const
 
bool CISST_DEPRECATED Running (void) const
 
bool IsStarted (void) const
 
bool IsTerminated (void) const
 
bool IsEndTask (void) const
 
const mtsComponentStateGetState (void) const
 
void GetState (mtsComponentState &state) const
 
void ToStream (std::ostream &outputStream) const
 
bool SetReplayMode (void)
 
bool SetReplayData (const std::string &stateTableName, const std::string &fileName)
 
bool SetReplayTime (const double time)
 
std::vector< std::string > GetNamesOfInterfacesProvidedOrOutput (void) const
 
std::vector< std::string > GetNamesOfInterfacesProvided (void) const
 
std::vector< std::string > GetNamesOfInterfacesOutput (void) const
 
std::vector< std::string > GetNamesOfInterfacesRequiredOrInput (void) const
 
std::vector< std::string > GetNamesOfInterfacesRequired (void) const
 
std::vector< std::string > GetNamesOfInterfacesInput (void) const
 
- Public Member Functions inherited from cmnGenericObject
virtual ~cmnGenericObject (void)
 
virtual const
cmnClassServicesBase
Services (void) const =0
 
bool ReconstructFrom (const cmnGenericObject &other)
 
std::string ToString (void) const
 
virtual void ToStreamRaw (std::ostream &outputStream, const char delimiter= ' ', bool headerOnly=false, const std::string &headerPrefix="") const
 
virtual bool FromStreamRaw (std::istream &inputStream, const char delimiter= ' ')
 
virtual void SerializeRaw (std::ostream &outputStream) const
 
virtual void DeSerializeRaw (std::istream &inputStream)
 
virtual size_t ScalarNumber (void) const
 
virtual bool ScalarNumberIsFixed (void) const
 
virtual double Scalar (const size_t CMN_UNUSED(index)) const throw (std::out_of_range)
 
virtual std::string ScalarDescription (const size_t CMN_UNUSED(index), const std::string &CMN_UNUSED(userDescription)) const
 
- Public Member Functions inherited from mtsTaskPeriodic
 mtsTaskPeriodic (const std::string &name, double periodicityInSeconds, bool isHardRealTime=false, unsigned int sizeStateTable=256, bool newThread=true)
 
 mtsTaskPeriodic (const std::string &name, const osaAbsoluteTime &periodicity, bool isHardRealTime=false, unsigned int sizeStateTable=256, bool newThread=true)
 
 mtsTaskPeriodic (const mtsTaskPeriodicConstructorArg &arg)
 
virtual ~mtsTaskPeriodic ()
 
void Suspend (void)
 
double GetPeriodicity (void) const
 
bool IsPeriodic (void) const
 

Protected Types

enum  { MAX_MULT_TOOLS = 5 }
 
typedef std::vector< Tool * > ToolsContainer
 
- Protected Types inherited from mtsTaskFromSignal
typedef mtsTaskContinuous BaseType
 
- Protected Types inherited from mtsComponent
typedef cmnNamedMap
< mtsStateTable
StateTableMapType
 
typedef cmnNamedMap
< mtsInterfaceProvided
InterfacesProvidedMapType
 
typedef cmnNamedMap
< mtsInterfaceOutput
InterfacesOutputMapType
 
typedef cmnNamedMap
< mtsInterfaceRequired
InterfacesRequiredMapType
 
typedef cmnNamedMap
< mtsInterfaceInput
InterfacesInputMapType
 

Protected Member Functions

void RequestExamInformation (void)
 
void RequestSurgicalPlan (void)
 
void GetSurgicalPlan (mtsDoubleVec &plan) const
 
void ResetAllTools (void)
 
ToolFindTool (const std::string &stealthName) const
 
ToolAddTool (const std::string &stealthName, const std::string &interfaceName)
 
void Init (void)
 
void operator() (MNavStealthLink::Instrument &instrument_in)
 
void operator() (const MNavStealthLink::Frame &frame_in)
 
void operator() (const MNavStealthLink::Registration &registration_in)
 
void operator() (const MNavStealthLink::Exam &exam_in)
 
void operator() (MNavStealthLink::SurgicalPlan &surgicalPlan_in)
 
- Protected Member Functions inherited from mtsTaskFromSignal
void * RunInternal (void *argument)
 
void PostCommandQueuedMethod (void)
 
- Protected Member Functions inherited from mtsTask
void RunEventHandler (void)
 
void ChangeStateEventHandler (const mtsComponentState &newState)
 
mtsExecutionResult RunEvent (bool check=true)
 
void DoRunInternal (void)
 
void Sleep (double timeInSeconds)
 
mtsStateIndex::TimeTicksType GetTick (void) const
 
virtual void SaveThreadStartData (void *data)
 
virtual void SetThreadReturnValue (void *returnValue)
 
void ChangeState (mtsComponentState::Enum newState)
 
bool WaitForState (mtsComponentState desiredState, double timeout)
 
- Protected Member Functions inherited from mtsComponent
 mtsComponent (void)
 
 mtsComponent (const mtsComponent &other)
 
void Initialize (void)
 
mtsInterfaceRequiredAddInterfaceRequiredExisting (const std::string &interfaceRequiredName, mtsInterfaceRequired *interfaceRequired)
 
mtsInterfaceRequiredAddInterfaceRequiredUsingMailbox (const std::string &interfaceRequiredName, mtsMailBox *mailBox, mtsRequiredType required)
 
mtsInterfaceProvidedAddInterfaceProvidedUsingMailbox (const std::string &interfaceProvidedName, mtsMailBox *mailBox)
 
mtsInterfaceInputAddInterfaceInputExisting (const std::string &interfaceInputName, mtsInterfaceInput *interfaceInput)
 
mtsInterfaceOutputAddInterfaceOutputExisting (const std::string &interfaceOutputName, mtsInterfaceOutput *interfaceOutput)
 
void KillSeparateLogFile (void)
 
size_t ProcessMailBoxes (InterfacesProvidedMapType &interfaces)
 
size_t ProcessQueuedCommands (void)
 
size_t ProcessQueuedEvents (void)
 
mtsInterfaceRequiredEnableDynamicComponentManagement (void)
 Enable support for dynamic component management services. More...
 
bool AddInterfaceInternal (const bool useMangerComponentServices=false)
 Add internal interfaces. More...
 
void InterfaceInternalCommands_GetEndUserInterface (const mtsEndUserInterfaceArg &argin, mtsEndUserInterfaceArg &argout)
 
void InterfaceInternalCommands_AddObserverList (const mtsEventHandlerList &argin, mtsEventHandlerList &argout)
 
void InterfaceInternalCommands_RemoveEndUserInterface (const mtsEndUserInterfaceArg &argin, mtsEndUserInterfaceArg &argout)
 
void InterfaceInternalCommands_RemoveObserverList (const mtsEventHandlerList &argin, mtsEventHandlerList &argout)
 
void InterfaceInternalCommands_ComponentCreate (const mtsDescriptionComponent &componentDescription, bool &result)
 
void InterfaceInternalCommands_ComponentStartOther (const mtsComponentStatusControl &arg)
 
- Protected Member Functions inherited from mtsTaskPeriodic
virtual void * RunInternal (void *argument)
 
void StartupInternal (void)
 
void CleanupInternal (void)
 
void StartInternal (void)
 

Protected Attributes

AsCL_Client * Client
 
MNavStealthLink::StealthServer * StealthServerProxy
 
mtsMedtronicStealthlink_AsCL_Utils * Utils
 
mtsStealthTool ToolData
 
mtsStealthTool MultToolData
 
mtsStealthFrame FrameData
 
mtsStealthRegistration RegistrationData
 
mtsStealthProbeCal ProbeCal
 
mtsDoubleVec SurgicalPlan
 
bool StealthlinkPresent
 
ToolsContainer Tools
 
ToolCurrentTool
 
ToolCurrentFrame
 
bool TrackMultTools
 
ToolCurrentMultTool [MAX_MULT_TOOLS]
 
Registration RegistrationMember
 
ExamInformation ExamInformationMember
 
MNavStealthLink::Subscription
< MNavStealthLink::Instrument > * 
instrumentSubscription
 
MNavStealthLink::Subscription
< MNavStealthLink::Frame > * 
frameSubscription
 
MNavStealthLink::Subscription
< MNavStealthLink::Registration > * 
registrationSubscription
 
MNavStealthLink::Subscription
< MNavStealthLink::Exam > * 
examSubscription
 
MNavStealthLink::Subscription
< MNavStealthLink::SurgicalPlan > * 
surgicalPlanSubscription
 
- Protected Attributes inherited from mtsTaskFromSignal
mtsCallableVoidBasePostCommandQueuedCallable
 
- Protected Attributes inherited from mtsTaskContinuous
bool NewThread
 
bool CaptureThread
 
- Protected Attributes inherited from mtsTask
osaThread Thread
 
double InitializationDelay
 
osaMutex StateChange
 
osaThreadSignal StateChangeSignal
 
mtsStateTable StateTable
 
bool OverranPeriod
 
void * ThreadStartData
 
void * ReturnValue
 
mtsCallableVoidBaseInterfaceProvidedToManagerCallable
 
mtsInterfaceRequiredExecIn
 
mtsInterfaceProvidedExecOut
 
mtsFunctionVoid RunEventInternal
 
bool RunEventCalled
 
mtsFunctionWrite ChangeStateEvent
 
- Protected Attributes inherited from mtsComponent
std::string Name
 
mtsComponentState State
 
mtsInterfaceProvidedInterfaceProvidedToManager
 
bool UseSeparateLogFileFlag
 
cmnLogger::StreamBufTypeLoDMultiplexerStreambuf
 
std::ofstream * LogFile
 
StateTableMapType StateTables
 
mtsManagerComponentServicesManagerComponentServices
 
mtsFunctionWrite EventGeneratorChangeState
 
bool ReplayMode
 
InterfacesProvidedMapType InterfacesProvided
 
InterfacesOutputMapType InterfacesOutput
 
InterfacesRequiredMapType InterfacesRequired
 
InterfacesInputMapType InterfacesInput
 
- Protected Attributes inherited from mtsTaskPeriodic
osaThreadBuddy ThreadBuddy
 
double Period
 
osaAbsoluteTime AbsoluteTimePeriod
 
bool IsHardRealTime
 

Friends

template<typename T >
class MNavStealthLink::Subscription
 

Additional Inherited Members

- Public Types inherited from mtsTaskContinuous
typedef mtsTask BaseType
 
- Public Types inherited from mtsTask
typedef mtsComponent BaseType
 
- Public Types inherited from mtsComponent
typedef mtsComponent ThisType
 
- Public Types inherited from mtsTaskPeriodic
typedef mtsTaskContinuous BaseType
 
- Static Public Attributes inherited from mtsTask
static std::runtime_error UnknownException
 

Member Typedef Documentation

typedef std::vector<Tool *> mtsMedtronicStealthlink::ToolsContainer
protected

Member Enumeration Documentation

anonymous enum
protected
Enumerator
MAX_MULT_TOOLS 

Constructor & Destructor Documentation

mtsMedtronicStealthlink::mtsMedtronicStealthlink ( const std::string &  taskName,
const double &  periodInSeconds 
)
mtsMedtronicStealthlink::mtsMedtronicStealthlink ( const mtsTaskPeriodicConstructorArg arg)
mtsMedtronicStealthlink::~mtsMedtronicStealthlink ( )
mtsMedtronicStealthlink::mtsMedtronicStealthlink ( const std::string &  taskName)
mtsMedtronicStealthlink::~mtsMedtronicStealthlink ( )

Member Function Documentation

Tool* mtsMedtronicStealthlink::AddTool ( const std::string &  stealthName,
const std::string &  interfaceName 
)
protected

Add a tool using its stealth name and the name of the corresponding provided interface

void mtsMedtronicStealthlink::Cleanup ( void  )
virtual

Virtual method that gets overloaded, and is run after the component gets killed using Kill() method.

Reimplemented from mtsComponent.

void mtsMedtronicStealthlink::Cleanup ( void  )
virtual

Virtual method that gets overloaded, and is run after the component gets killed using Kill() method.

Reimplemented from mtsComponent.

void mtsMedtronicStealthlink::Configure ( const std::string &  filename = "")
virtual

Configure the Stealthlink interface using an XML file. If the XML file is not found, the system uses a default IP address (192.168.0.1) and does not predefine any provided interfaces for the tools. Note that if a tool is not pre-defined via the XML file, it can still be discovered at runtime and a provided interface will be dynamically added.

Reimplemented from mtsComponent.

void mtsMedtronicStealthlink::Configure ( const std::string &  filename = "")
virtual

Configure the Stealthlink interface using an XML file. If the XML file is not found, the system uses a default IP address (192.168.0.1) and does not predefine any provided interfaces for the tools. Note that if a tool is not pre-defined via the XML file, it can still be discovered at runtime and a provided interface will be dynamically added.

Reimplemented from mtsComponent.

Tool* mtsMedtronicStealthlink::FindTool ( const std::string &  stealthName) const
protected

Find a tool using the stealh name

void mtsMedtronicStealthlink::GetSurgicalPlan ( mtsDoubleVec plan) const
protected
void mtsMedtronicStealthlink::Init ( void  )
protected
void mtsMedtronicStealthlink::operator() ( MNavStealthLink::Instrument &  instrument_in)
protected
void mtsMedtronicStealthlink::operator() ( const MNavStealthLink::Frame &  frame_in)
protected
void mtsMedtronicStealthlink::operator() ( const MNavStealthLink::Registration &  registration_in)
protected
void mtsMedtronicStealthlink::operator() ( const MNavStealthLink::Exam &  exam_in)
protected
void mtsMedtronicStealthlink::operator() ( MNavStealthLink::SurgicalPlan &  surgicalPlan_in)
protected
void mtsMedtronicStealthlink::RequestExamInformation ( void  )
protected
void mtsMedtronicStealthlink::RequestSurgicalPlan ( void  )
protected
void mtsMedtronicStealthlink::ResetAllTools ( void  )
protected

Mark all tool data as invalid

void mtsMedtronicStealthlink::Run ( void  )
virtual

Pure virtual method that gets overloaded to run the actual task.

Implements mtsTask.

void mtsMedtronicStealthlink::Run ( void  )
virtual

Pure virtual method that gets overloaded to run the actual task.

Implements mtsTask.

void mtsMedtronicStealthlink::Startup ( void  )
inlinevirtual

Virtual method that gets overloaded, and is run before the component is started.

Reimplemented from mtsComponent.

void mtsMedtronicStealthlink::Startup ( void  )
virtual

Virtual method that gets overloaded, and is run before the component is started.

Reimplemented from mtsComponent.

Friends And Related Function Documentation

template<typename T >
friend class MNavStealthLink::Subscription
friend

Member Data Documentation

AsCL_Client* mtsMedtronicStealthlink::Client
protected
Tool * mtsMedtronicStealthlink::CurrentFrame
protected
Tool* mtsMedtronicStealthlink::CurrentMultTool[MAX_MULT_TOOLS]
protected
Tool* mtsMedtronicStealthlink::CurrentTool
protected
ExamInformation mtsMedtronicStealthlink::ExamInformationMember
protected
MNavStealthLink::Subscription<MNavStealthLink::Exam>* mtsMedtronicStealthlink::examSubscription
protected
mtsStealthFrame mtsMedtronicStealthlink::FrameData
protected
MNavStealthLink::Subscription< MNavStealthLink::Frame > * mtsMedtronicStealthlink::frameSubscription
protected
MNavStealthLink::Subscription< MNavStealthLink::Instrument > * mtsMedtronicStealthlink::instrumentSubscription
protected
mtsStealthTool mtsMedtronicStealthlink::MultToolData
protected
mtsStealthProbeCal mtsMedtronicStealthlink::ProbeCal
protected
mtsStealthRegistration mtsMedtronicStealthlink::RegistrationData
protected
Registration mtsMedtronicStealthlink::RegistrationMember
protected
MNavStealthLink::Subscription< MNavStealthLink::Registration > * mtsMedtronicStealthlink::registrationSubscription
protected
bool mtsMedtronicStealthlink::StealthlinkPresent
protected
MNavStealthLink::StealthServer * mtsMedtronicStealthlink::StealthServerProxy
protected
mtsDoubleVec mtsMedtronicStealthlink::SurgicalPlan
protected
MNavStealthLink::Subscription< MNavStealthLink::SurgicalPlan > * mtsMedtronicStealthlink::surgicalPlanSubscription
protected
mtsStealthTool mtsMedtronicStealthlink::ToolData
protected
ToolsContainer mtsMedtronicStealthlink::Tools
protected
bool mtsMedtronicStealthlink::TrackMultTools
protected
mtsMedtronicStealthlink_AsCL_Utils* mtsMedtronicStealthlink::Utils
protected

The documentation for this class was generated from the following files: