Ejemplo n.º 1
0
 private void tf_callback(tfMessage msg)
 {
     lock (transforms)
     {
         transforms.Enqueue(msg);
         DateTime now = DateTime.Now;
     }
 }
Ejemplo n.º 2
0
 private void Update(tfMessage msg)
 {
     foreach (TransformStamped tf in msg.transforms)
     {
         if (!setTransform(new Transform(tf)))
         {
             ROS.Warn()("Failed to setTransform in transformer update function");
         }
     }
 }
Ejemplo n.º 3
0
 public tf_node()
 {
     if (additions == null)
     {
         additions = new Queue <tfMessage>();
     }
     if (tfhandle == null)
     {
         tfhandle = new NodeHandle();
     }
     if (updateThread == null)
     {
         updateThread = new Thread(() =>
         {
             while (ROS.ok)
             {
                 Queue <tfMessage> local;
                 lock (addlock)
                 {
                     local = new Queue <tfMessage>(additions);
                     additions.Clear();
                 }
                 if (local.Count > 0)
                 {
                     while (local.Count > 0)
                     {
                         tfMessage msg = local.Dequeue();
                         foreach (gm.TransformStamped t in msg.transforms)
                         {
                             transformer.setTransform(new emTransform(t));
                         }
                     }
                 }
                 Thread.Sleep(10);
             }
         });
         updateThread.Start();
     }
     tfhandle.subscribe <tfMessage>("/tf", 100, tfCallback);
 }
Ejemplo n.º 4
0
 private void tfCallback(tfMessage msg)
 {
     lock (addlock)
         additions.Enqueue(msg);
 }