Beispiel #1
0
    /* ========================================================================
     * Methods to add recordings
     * ========================================================================*/

    //Public method that allows to add a tracker recording
    public void AddTracker(string name, float timeTracker, string path)
    {
        if (File.Exists(path))
        {
            BinaryFormatter            bf   = new BinaryFormatter();
            FileStream                 file = File.Open(path, FileMode.Open);
            VRPNTracker.TrackerReports data = (VRPNTracker.TrackerReports)bf.Deserialize(file);

            file.Close();

            VRPNTrackerRecording recording = new VRPNTrackerRecording(name, timeTracker, data);

            VRPNTrackerRecordings test;
            if (VRPNTrackerDevice.TryGetValue(data.deviceType + " " + data.deviceName, out test))
            {
                test.recordings.Add(recording);
            }
            else
            {
                test = new VRPNTrackerRecordings();
                test.recordings.Add(recording);
                VRPNTrackerDevice.Add(data.deviceType + " " + data.deviceName, test);
            }
        }
    }
Beispiel #2
0
    //Public method that allows to stop recording
    //It saves the reports list in the indicated path
    public void StopRecording()
    {
        VRPNEventManager.StopListeningTracker(TrackerType, TrackerName, Record);
        BinaryFormatter bf   = new BinaryFormatter();
        FileStream      file = File.Create(path);

        bf.Serialize(file, data);
        file.Close();
        data        = new VRPNTracker.TrackerReports();
        firstReport = true;
        isRecording = false;
    }
Beispiel #3
0
    //Public method that allows to stop recording
    //It saves the reports list in the indicated path
    public void StopRecording()
    {
        VRPNEventManager.StopListeningTracker(TrackerType, TrackerName, Record);
        BinaryFormatter bf = new BinaryFormatter();
        FileStream file = File.Create(path);

        bf.Serialize(file, data);
        file.Close();
        data = new VRPNTracker.TrackerReports();
        firstReport = true;
        isRecording = false;
    }
Beispiel #4
0
    //Public method that allows to start playing
    //It reads the data from the indicated path
    public void StartPlaying()
    {
        if (File.Exists(path))
        {
            BinaryFormatter bf = new BinaryFormatter();
            FileStream file = File.Open(path, FileMode.Open);
            data = (VRPNTracker.TrackerReports)bf.Deserialize(file);

            file.Close();

            isPlaying = true;

            e = data.list.GetEnumerator();
        }
    }
Beispiel #5
0
    //Public method that allows to start playing
    //It reads the data from the indicated path
    public void StartPlaying()
    {
        if (File.Exists(path))
        {
            BinaryFormatter bf   = new BinaryFormatter();
            FileStream      file = File.Open(path, FileMode.Open);
            data = (VRPNTracker.TrackerReports)bf.Deserialize(file);

            file.Close();

            isPlaying = true;

            e = data.list.GetEnumerator();
        }
    }
Beispiel #6
0
    //VRPNTrackerRecording Constructor
    public VRPNTrackerRecording(string nName, float nTime, VRPNTracker.TrackerReports nData)
    {
        name       = nName;
        reportTime = nTime;
        data       = nData;

        e = data.list.GetEnumerator();

        while (e.MoveNext())
        {
            VRPNTracker.TrackerReportNew report = e.Current;
            int test;
            if (!sensors.TryGetValue(report.sensor, out test))
            {
                sensors.Add(report.sensor, report.sensor);
            }
            lastTime = report.msg_time.tv_sec + (report.msg_time.tv_usec / 1000000f);
        }

        e = data.list.GetEnumerator();
    }
    //VRPNTrackerRecording Constructor
    public VRPNTrackerRecording(string nName, float nTime, VRPNTracker.TrackerReports nData)
    {
        name = nName;
        reportTime = nTime;
        data = nData;

        e = data.list.GetEnumerator();

        while (e.MoveNext())
        {
            VRPNTracker.TrackerReportNew report = e.Current;
            int test;
            if (!sensors.TryGetValue(report.sensor, out test))
            {
                sensors.Add(report.sensor, report.sensor);
            }
            lastTime = report.msg_time.tv_sec + (report.msg_time.tv_usec / 1000000f);
        }

        e = data.list.GetEnumerator();
    }