예제 #1
0
 public void Dispose()
 {
     if (isAvailable)
     {
         ISDllBridge.ISD_CloseTracker(handle);
     }
 }
예제 #2
0
        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;
            }
        }
예제 #3
0
 public void Update(TimeSpan elapsedTime, bool deviceActive)
 {
     if (isAvailable)
     {
         ISDllBridge.ISD_GetTrackingData(handle, ref data);
     }
 }