Esempio n. 1
0
 //This is the listener that is called by the event manager
 //It transforms and adds the received report to the reports list
 void Record(string name, VRPNTracker.TrackerReport report)
 {
     if (firstReport)
     {
         firstTime_sec  = report.msg_time.tv_sec;
         firstTime_usec = report.msg_time.tv_usec;
         firstReport    = false;
     }
     if (report.msg_time.tv_usec < firstTime_usec)
     {
         report.msg_time.tv_sec  = report.msg_time.tv_sec - (firstTime_sec + 1);
         report.msg_time.tv_usec = (report.msg_time.tv_usec + 1000000) - firstTime_usec;
     }
     else
     {
         report.msg_time.tv_sec  = report.msg_time.tv_sec - firstTime_sec;
         report.msg_time.tv_usec = report.msg_time.tv_usec - firstTime_usec;
     }
     VRPNTracker.TrackerReportNew newReport  = new VRPNTracker.TrackerReportNew();
     VRPNManager.TimeValNew       newMsgTime = new VRPNManager.TimeValNew();
     newMsgTime.tv_sec  = (int)report.msg_time.tv_sec;
     newMsgTime.tv_usec = (int)report.msg_time.tv_usec;
     newReport.msg_time = newMsgTime;
     newReport.pos      = report.pos;
     newReport.quat     = report.quat;
     newReport.sensor   = report.sensor;
     data.list.Add(newReport);
 }
Esempio n. 2
0
    //To add a trigger for Trackers
    public static void TriggerEventTracker(string deviceType, string deviceName, VRPNTracker.TrackerReport report)
    {
        if (eventManager == null)
        {
            Debug.LogError("There needs to be one active EventManger script on a GameObject in your scene.");
            return;
        }
        VRPNTrackerEvent thisEvent = null;

        if (instance.eventDictionaryTracker.TryGetValue(deviceType + " " + deviceName, out thisEvent))
        {
            thisEvent.Invoke(deviceType + " " + deviceName, report);
        }
    }
Esempio n. 3
0
 //Auxiliar method that sends last frame report for each sensor
 private void sendingReports(Dictionary<int, VRPNTracker.TrackerReportNew> lastReports)
 {
     foreach (KeyValuePair<int, VRPNTracker.TrackerReportNew> pair in lastReports)
     {
         VRPNTracker.TrackerReport newReport = new VRPNTracker.TrackerReport();
         VRPNManager.TimeVal newMsgTime = new VRPNManager.TimeVal();
         newMsgTime.tv_sec = (UInt32)pair.Value.msg_time.tv_sec;
         newMsgTime.tv_usec = (UInt32)pair.Value.msg_time.tv_usec;
         newReport.msg_time = newMsgTime;
         newReport.pos = pair.Value.pos;
         newReport.quat = pair.Value.quat;
         newReport.sensor = pair.Value.sensor;
         VRPNEventManager.TriggerEventTracker(data.deviceType, data.deviceName, newReport);
     }
 }
Esempio n. 4
0
 //Auxiliar method that sends last frame report for each sensor
 private void sendingReports(Dictionary <int, VRPNTracker.TrackerReportNew> lastReports)
 {
     foreach (KeyValuePair <int, VRPNTracker.TrackerReportNew> pair in lastReports)
     {
         VRPNTracker.TrackerReport newReport  = new VRPNTracker.TrackerReport();
         VRPNManager.TimeVal       newMsgTime = new VRPNManager.TimeVal();
         newMsgTime.tv_sec  = (UInt32)pair.Value.msg_time.tv_sec;
         newMsgTime.tv_usec = (UInt32)pair.Value.msg_time.tv_usec;
         newReport.msg_time = newMsgTime;
         newReport.pos      = pair.Value.pos;
         newReport.quat     = pair.Value.quat;
         newReport.sensor   = pair.Value.sensor;
         VRPNEventManager.TriggerEventTracker(data.deviceType, data.deviceName, newReport);
     }
 }