21 #ifndef _mtsMedtronicStealthlink_h
22 #define _mtsMedtronicStealthlink_h
33 namespace MNavStealthLink {
40 class InstrumentPosition;
42 template <
typename T>
class Subscription;
57 virtual void Assign(
const MNavStealthLink::DataItem & item_in) = 0;
69 MNavStealthLink::StealthServer * StealthServerProxy;
73 void * StealthlinkRun(
void *);
75 bool StealthlinkPresent;
80 std::string StealthName;
81 std::string InterfaceName;
83 Tool(
const std::string &stealthName,
const std::string &interfaceName):
myGenericObject(interfaceName),
84 StealthName(stealthName), InterfaceName(interfaceName) {this->myStateTable.AddData(this->TooltipPosition,this->myName +
"Position");
85 this->myStateTable.AddData(this->MarkerPosition,this->myName +
"Marker");}
90 void Assign(
const MNavStealthLink::DataItem & item_in);
98 typedef std::vector<Tool *> ToolsContainer;
104 SurgicalPlan():
myGenericObject(
"SurgicalPlan") {this->entry.SetSize(3);
105 this->target.SetSize(3);
106 this->myStateTable.AddData(this->entry,this->myName +
"entry");
107 this->myStateTable.AddData(this->target,this->myName +
"target");}
108 void Assign(
const MNavStealthLink::DataItem & item_in);
119 this->myStateTable.AddData(this->Valid,this->myName +
"Valid");
120 this->myStateTable.AddData(this->PredictedAccuracy,this->myName +
"PredictedAccuracy");}
122 void Assign(
const MNavStealthLink::DataItem & item_in);
132 void GetRegistrationValid(
bool & valid_out)
const;
139 this->myStateTable.AddData(this->Size,this->myName +
"ExamInformationSize");
140 this->myStateTable.AddData(this->Valid,this->myName +
"ExamInformationValid");}
141 void Assign(
const MNavStealthLink::DataItem & item_in);
144 mtsDouble3 VoxelScale;
149 void RequestExamInformation(
void);
152 void ResetAllTools(
void);
155 Tool * FindTool(
const std::string & stealthName)
const;
158 Tool * AddTool(
const std::string & stealthName,
const std::string & interfaceName);
170 void operator()(
const MNavStealthLink::DataItem& item_in)
const;
175 myCallback myCallbackMember;
176 void LogWarning(
const std::string & string_in){
187 struct less_DataItem : std::binary_function<const MNavStealthLink::DataItem *, const MNavStealthLink::DataItem *, bool>
189 bool operator() (
const MNavStealthLink::DataItem * a,
const MNavStealthLink::DataItem * b)
const ;
192 typedef std::map<const MNavStealthLink::DataItem * ,myGenericObject *,less_DataItem> DataMapContainer;
193 typedef std::pair<const MNavStealthLink::DataItem * ,myGenericObject *> DataMapContainerItem;
194 typedef std::pair<DataMapContainer::iterator,bool> DataMapContainerInsertReturnValue;
195 DataMapContainer myDataMap;
210 void Configure(
const std::string & filename =
"");
221 #endif // _mtsMedtronicStealthlink_h
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
MNavStealthLink::Subscription< MNavStealthLink::Registration > * registrationSubscription
Definition: mtsMedtronicStealthlink.h:139
MNavStealthLink::Subscription< MNavStealthLink::SurgicalPlan > * surgicalPlanSubscription
Definition: mtsMedtronicStealthlink.h:141
Defines a task with a Run method trigger by signals (any queued command or event).
MNavStealthLink::Subscription< MNavStealthLink::Instrument > * instrumentSubscription
Definition: mtsMedtronicStealthlink.h:137
std::string myName
Definition: mtsMedtronicStealthlink2.h:47
mtsStateTable myStateTable
Definition: mtsMedtronicStealthlink2.h:48
void AssignAndAdvance(const MNavStealthLink::DataItem &item_in)
Definition: mtsMedtronicStealthlink2.h:53
Define a thread object.
Definition: osaThread.h:164
const int CMN_DYNAMIC_CREATION_ONEARG
Definition: cmnClassRegisterMacros.h:333
virtual void Startup(void)
Definition: mtsComponent.h:262
Registration()
Definition: mtsMedtronicStealthlink2.h:118
CMN_DECLARE_SERVICES_INSTANTIATION(mtsMedtronicStealthlink)
void operator()(MNavStealthLink::Instrument &instrument_in)
Definition: mtsTaskFromSignal.h:40
Definition: mtsMedtronicStealthlink.h:42
virtual void Configure(const std::string &CMN_UNUSED(filename)="")
Definition: mtsTask.h:218
Definition: mtsMedtronicStealthlink.h:92
MNavStealthLink::Subscription< MNavStealthLink::Frame > * frameSubscription
Definition: mtsMedtronicStealthlink.h:138
Definition: mtsStateTable.h:67
virtual void ConfigureInterfaceProvided(mtsInterfaceProvided *provided_in)=0
void Assign(const OtherT &other)
Definition: cisstVectorEigenAddons.h:3
Definition: mtsMedtronicStealthlink.h:45
#define CMN_LOG_CLASS_RUN_WARNING
Definition: cmnLogger.h:118
virtual void Assign(const MNavStealthLink::DataItem &item_in)=0
mtsFrm3 Transformation
Definition: mtsMedtronicStealthlink2.h:125
#define CMN_DECLARE_SERVICES(hasDynamicCreation, lod)
Definition: cmnClassRegisterMacros.h:116
void SetAutomaticAdvance(bool automaticAdvance)
Definition: mtsStateTable.h:353
Definition: mtsInterfaceProvided.h:96
virtual void Cleanup(void)
Definition: mtsComponent.h:267
Definition: mtsMedtronicStealthlink2.h:45
#define CMN_LOG_ALLOW_DEFAULT
Definition: cmnLogLoD.h:76
myGenericObject(const std::string &name)
Definition: mtsMedtronicStealthlink2.h:49
Definition: prmPositionCartesianGet.h:37