public void Dispose() { if (isAvailable) { ISDllBridge.ISD_CloseTracker(handle); } }
InterSense() { handle = ISDllBridge.ISD_OpenTracker(IntPtr.Zero, 0, false, false); maxStations = 0; stationID = 1; if (handle > 0) { tracker = new ISDllBridge.ISD_TRACKER_INFO_TYPE(); hwInfo = new ISDllBridge.ISD_HARDWARE_INFO_TYPE(); station = new ISDllBridge.ISD_STATION_INFO_TYPE[8]; // Get tracker configuration info ISDllBridge.ISD_GetTrackerConfig(handle, ref tracker, false); if (ISDllBridge.ISD_GetSystemHardwareInfo(handle, ref hwInfo)) { if (hwInfo.Valid) { maxStations = hwInfo.Cap_MaxStations; } } ISDllBridge.ISD_GetStationConfig(handle, ref station[stationID - 1], stationID, false); data = new ISDllBridge.ISD_TRACKING_DATA_TYPE(); isAvailable = true; } else { isAvailable = false; } }
public void Update(TimeSpan elapsedTime, bool deviceActive) { if (isAvailable) { ISDllBridge.ISD_GetTrackingData(handle, ref data); } }