コード例 #1
0
        private void ParseTargetsPacket(BinaryReader br)
        {
            //bear in mind the first int32 is picked off for us.
            LocalMapTargetsMsg targets = new LocalMapTargetsMsg();
            int numTargets             = br.ReadInt32();

            //Console.WriteLine("GOT " + numTargets + " targets!");
            targets.targets   = new List <LocalMapTarget>(numTargets);
            targets.timestamp = br.ReadDouble();
            for (int i = 0; i < numTargets; i++)
            {
                //now get the targets
                LocalMapTarget target    = new LocalMapTarget();
                int            numPoints = br.ReadInt32();
                target.type        = br.ReadInt32();
                target.x           = br.ReadSingle();
                target.y           = br.ReadSingle();
                target.speed       = br.ReadSingle();
                target.heading     = br.ReadSingle();
                target.width       = br.ReadSingle();
                target.orientation = br.ReadSingle();
                for (int k = 0; k < 36; k++)
                {
                    br.ReadSingle();                     //mess the covariance matrix
                }
                target.points = new List <LocalMapPoint>(numPoints);
                for (int j = 0; j < numPoints; j++)
                {
                    short x = br.ReadInt16();
                    short y = br.ReadInt16();
                    target.points.Add(new LocalMapPoint(x / 100.0, y / 100.0));
                    //Console.WriteLine("got to " + i + " " + j);
                }
                targets.targets.Add(target);
            }

            if (TargetsReceived != null)
            {
                TargetsReceived(this, new LocalMapTargetsRXEventArgs(targets));
            }
        }
コード例 #2
0
        private void ParseTargetsPacket(BinaryReader br)
        {
            //bear in mind the first int32 is picked off for us.
            LocalMapTargetsMsg targets = new LocalMapTargetsMsg();
            int numTargets = br.ReadInt32();
            //Console.WriteLine("GOT " + numTargets + " targets!");
            targets.targets = new List<LocalMapTarget>(numTargets);
              targets.timestamp = br.ReadDouble();
            for (int i = 0; i < numTargets; i++)
            {
                //now get the targets
                LocalMapTarget target = new LocalMapTarget();
                int numPoints = br.ReadInt32();
                target.type = br.ReadInt32();
                target.x = br.ReadSingle();
                target.y = br.ReadSingle();
                target.speed = br.ReadSingle();
                target.heading = br.ReadSingle();
                target.width = br.ReadSingle();
                target.orientation = br.ReadSingle();
                for (int k = 0; k < 36; k++)
                    br.ReadSingle(); //mess the covariance matrix
                target.points = new List<LocalMapPoint>(numPoints);
                for (int j = 0; j < numPoints; j++)
                {
                    short x = br.ReadInt16();
                    short y = br.ReadInt16();
                    target.points.Add (new LocalMapPoint (x / 100.0, y / 100.0));
                    //Console.WriteLine("got to " + i + " " + j);
                }
                targets.targets.Add(target);
            }

            if (TargetsReceived != null) TargetsReceived(this, new LocalMapTargetsRXEventArgs(targets));
        }