vrpn_Tracker_InterSense::~vrpn_Tracker_InterSense() { #ifdef VRPN_INCLUDE_INTERSENSE int i; ISD_CloseTracker(m_Handle); // Delete any button and analog devices that were created for (i = 0; i < ISD_MAX_STATIONS; i++) { if (is900_buttons[i]) { try { delete is900_buttons[i]; } catch (...) { fprintf(stderr, "vrpn_Tracker_InterSense::~vrpn_Tracker_InterSense(): delete failed\n"); return; } is900_buttons[i] = NULL; } if (is900_analogs[i]) { try { delete is900_analogs[i]; } catch (...) { fprintf(stderr, "vrpn_Tracker_InterSense::~vrpn_Tracker_InterSense(): delete failed\n"); return; } is900_analogs[i] = NULL; } } #endif }
bool IntersenseAPIStandalone::close() { // ISD_CloseTracker() returns true if the tracker identified by mHandle // was closed. If it is closed, then mActive needs to be false. const bool closed = static_cast<bool>(ISD_CloseTracker(mHandle)); mActive = ! closed; return closed; }
vrpn_Tracker_InterSense::~vrpn_Tracker_InterSense() { #ifdef VRPN_INCLUDE_INTERSENSE int i; ISD_CloseTracker(m_Handle); // Delete any button and analog devices that were created for (i = 0; i < ISD_MAX_STATIONS; i++) { if (is900_buttons[i]) { delete is900_buttons[i]; is900_buttons[i] = NULL; } if (is900_analogs[i]) { delete is900_analogs[i]; is900_analogs[i] = NULL; } } #endif }
ISTracker::~ISTracker() { ISD_CloseTracker(handle); }
ISenseDirect::~ISenseDirect() { ISD_CloseTracker(_handle); }