コード例 #1
0
 public Connection(int obsId1, int obsId2, SlamObservation first = null, SlamObservation second = null, int lineId = -1)
 {
     this.first  = first;
     this.second = second;
     this.lineId = lineId;
     this.obsId1 = obsId1;
     this.obsId2 = obsId2;
 }
コード例 #2
0
        public static ObservationPb ToProtobuf(this SlamObservation o, ICSConverter converter)
        {
            var pb = new ObservationPb
            {
                Point       = o.Point.ToProtobuf(converter),
                Orientation = o.Rotation.ToProtobuf(converter),
                Message     = o.Message,
                Filename    = o.FileName,
                Stats       = o.Statistics
            };

            pb.ObservedPoints.AddRange(o.ObservedPoints);
            return(pb);
        }
コード例 #3
0
 private void ProcessRaycast(IContainer <SlamObservation> container, SlamObservation observation,
                             Vector3 mousePosition)
 {
     if (Mouse.current.leftButton.wasReleasedThisFrame)
     {
         CreateOrShowWindow(container, observation, "Observation #{0}");
     }
     else
     {
         if (_floatingViewer.gameObject.activeInHierarchy)
         {
             return;
         }
         _floatingViewer.Render((container, observation));
         _floatingViewer.transform.position = mousePosition;
     }
 }
コード例 #4
0
        private void CreateOrShowWindow(IContainer <SlamObservation> container, SlamObservation observation,
                                        string title)
        {
            var v = _pinnedViewers.FirstOrDefault(w => w.ObservationContainer == container.GetHashCode() &&
                                                  w.ObservationId == observation.Id);

            if (v is null)
            {
                container.OnRemoved += DestroyObsoleteWindows;
                Manager.CreateWindow <ObservationViewer>(title, (viewer, window) =>
                {
                    viewer.Render((container, observation));
                    _pinnedViewers.Add(
                        window.GetComponent <ObservationViewer>());
                },
                                                         observation.Id);
            }
            else
            {
                v.GetComponent <Window>().Show();
            }
        }