Exemple #1
0
        public void Present(PacketPb data, ICSConverter converter)
        {
            MainThreadInvoker.Enqueue(() => _info.Clear());
            IEnumerable <ICloudItem> objects = Pkg2Pts(data, converter).ToArray();

            MainThreadInvoker.Enqueue(() => _info.Render((data.Message, objects)));
        }
 public static Vector3Pb ToProtobuf(this Vector3 v, ICSConverter converter)
 {
     converter?.ConvertBack(ref v);
     return(new Vector3Pb {
         X = v.x, Y = v.y, Z = v.z
     });
 }
        public static IEnumerable <SlamObservationDiff> ExtractObservations(this PacketPb packet,
                                                                            ICSConverter converter,
                                                                            string imageDir)
        {
            foreach (var o in packet.Observations.Data)
            {
                SlamObservationDiff observation = o;
                if (observation.Point.Position.HasValue)
                {
                    observation.Point.Position = converter?.Convert(observation.Point.Position.Value);
                }

                if (observation.Rotation.HasValue)
                {
                    observation.Rotation = converter?.Convert(observation.Rotation.Value);
                }

                if (!string.IsNullOrEmpty(observation.FileName) &&
                    !Path.IsPathRooted(observation.FileName))
                {
                    observation.FileName = Path.Combine(imageDir, observation.FileName);
                }

                yield return(observation);
            }
        }
 public static TrackedObjPb ToProtobuf(this SlamTrackedObject o, ICSConverter converter)
 => new TrackedObjPb
 {
     Id          = o.Id,
     Position    = o.Position.ToProtobuf(converter),
     Orientation = o.Rotation.ToProtobuf(converter),
     Color       = o.Color,
     Message     = o.Message
 };
 public static InfinitePlanePb ToProtobuf(this SlamInfinitePlane p, ICSConverter converter)
 => new InfinitePlanePb
 {
     Color   = p.Color,
     Id      = p.Id,
     Message = p.Message,
     Normal  = p.Normal.ToProtobuf(converter),
     Offset  = p.Offset.ToProtobuf(converter)
 };
        public static Vector4Pb ToProtobuf(this Quaternion q, ICSConverter converter)
        {
            if (converter != null)
            {
                var v = Vector3.zero;
                converter.ConvertBack(ref v, ref q);
            }

            return(new Vector4Pb {
                X = q.x, Y = q.y, Z = q.z, W = q.w
            });
        }
Exemple #7
0
        protected PacketPb CreateUpdatedPacket <TCloudItem>(IList <TCloudItem> args, int timestamp,
                                                            ICSConverter converter)
            where TCloudItem : struct, ICloudItem
        {
            var packet = new PacketPb
            {
                Action    = PacketPb.Types.ActionType.Update,
                Timestamp = timestamp,
            };

            SetData(args, packet, converter);
            return(packet);
        }
        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);
        }
 public static IEnumerable <SlamInfinitePlaneDiff> ExtractInfinitePlanes(this PacketPb packet,
                                                                         ICSConverter converter = null)
 {
     foreach (var p in packet.InfinitePlanes.Data)
     {
         SlamInfinitePlaneDiff plane = p;
         if (plane.Offset.HasValue)
         {
             plane.Offset = converter?.Convert(plane.Offset.Value);
         }
         if (plane.Normal.HasValue)
         {
             plane.Normal = converter?.Convert(plane.Normal.Value);
         }
         yield return(plane);
     }
 }
        public static IEnumerable <SlamLineDiff> ExtractLines(this PacketPb packet, ICSConverter converter = null)
        {
            foreach (var l in packet.Lines.Data)
            {
                SlamLineDiff line = l;
                if (line.Point1.Position.HasValue)
                {
                    line.Point1.Position = converter?.Convert(line.Point1.Position.Value);
                }

                if (line.Point2.Position.HasValue)
                {
                    line.Point2.Position = converter?.Convert(line.Point2.Position.Value);
                }

                yield return(line);
            }
        }
        public static IEnumerable <SlamTrackedObjectDiff> ExtractTrackedObjects(this PacketPb packet,
                                                                                ICSConverter converter = null)
        {
            foreach (var o in packet.TrackedObjs.Data)
            {
                SlamTrackedObjectDiff trackedObject = o;
                if (trackedObject.Position.HasValue)
                {
                    trackedObject.Position = converter?.Convert(trackedObject.Position.Value);
                }

                if (trackedObject.Rotation.HasValue)
                {
                    trackedObject.Rotation = converter?.Convert(trackedObject.Rotation.Value);
                }

                yield return(trackedObject);
            }
        }
Exemple #12
0
 public DataParser(ICSConverter converter)
 {
     m_converter = converter;
 }
Exemple #13
0
 public TrackingPackageParser(ICSConverter converter) : base(converter)
 {
 }
 /// <summary> Sets converter for this parser and its successors. </summary>
 /// <param name="converter"> Converter to set. </param>
 public virtual void SetConverter(ICSConverter converter)
 {
     Converter = converter;
     Successor?.SetConverter(converter);
 }
 public static LinePb ToProtobuf(this SlamLine l, ICSConverter converter)
 => new LinePb
 {
     Pt1 = l.Point1.ToProtobuf(converter), Pt2 = l.Point2.ToProtobuf(converter)
 };
 public InfoCommand(SlamDataInfoPresenter presenter, PacketPb packet, ICSConverter converter)
 {
     _presenter = presenter;
     _packet = packet;
     _converter = converter;
 }
Exemple #17
0
 public SlamPackageParser(ICSConverter converter) : base(converter)
 {
 }
 public static PointPb ToProtobuf(this SlamPoint p, ICSConverter converter)
 => new PointPb
 {
     Id = p.Id, Position = p.Position.ToProtobuf(converter), Color = p.Color, Message = p.Message ?? ""
 };
 public InfinitePlanesMapManager(IContainer <SlamInfinitePlane> container, ICSConverter converter)
     : base(container)
 {
     _converter = converter;
 }
Exemple #20
0
 public LinesMapManager(IContainer <SlamLine> container, ICSConverter converter) : base(container)
 {
     _converter = converter;
 }
 public ObservationsMapManager(IConnectableObjectsContainer <SlamObservation> container, ICSConverter converter) :
     base(container)
 {
     _converter = converter;
 }
Exemple #22
0
 public PointsMapManager(IConnectableObjectsContainer <SlamPoint> container, ICSConverter converter)
     : base(container)
 {
     _converter = converter;
 }
Exemple #23
0
 public SnapshotContainer(string displayName, IEnumerable <ISourceTree> children, ICSConverter converter)
 {
     _converter  = converter;
     DisplayName = displayName;
     Children    = children;
 }
 public static IEnumerable <SlamPointDiff> ExtractPoints(this PacketPb packet, ICSConverter converter = null)
 {
     foreach (var p in packet.Points.Data)
     {
         SlamPointDiff point = p;
         if (point.Position.HasValue)
         {
             point.Position = converter?.Convert(point.Position.Value);
         }
         yield return(point);
     }
 }
 public TrackedObjsMapManager(IContainer <SlamTrackedObject> container, ICSConverter converter) : base(container)
 {
     _converter = converter;
 }