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; }
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); }
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; } }
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(); } }