コード例 #1
0
        internal static VisionDetectOption FromReader(ushort size, BinaryReader reader)
        {
            Validate(size);
            var result = new VisionDetectOption
            {
                Detected         = reader.ReadUInt32(),
                Type             = GetUInt32Array(reader, DetectionResults),
                Xc               = GetUInt32Array(reader, DetectionResults),
                Yc               = GetUInt32Array(reader, DetectionResults),
                Width            = GetUInt32Array(reader, DetectionResults),
                Height           = GetUInt32Array(reader, DetectionResults),
                Distance         = GetUInt32Array(reader, DetectionResults),
                OrientationAngle = GetSingleArray(reader, DetectionResults),
                Rotation         = Matrix33.GetMatrixArray(reader, DetectionResults),
                Translation      = Vector.GetVectorArray(reader, DetectionResults),
                CameraSource     = GetUInt32Array(reader, DetectionResults)
            };

            return(result);
        }
コード例 #2
0
ファイル: NavData.cs プロジェクト: tadams1138/AR_Drone_Remote
        private void AddOption(NavDataTag optionId, ushort size, BinaryReader reader)
        {
            switch (optionId)
            {
            case NavDataTag.Demo:
                Demo = DemoOption.FromReader(size, reader);
                break;

            case NavDataTag.Checksum:
                CheckSum = ChecksumOption.FromBytes(size, reader);
                break;

            case NavDataTag.VisionDetect:
                VisionDetect = VisionDetectOption.FromReader(size, reader);
                break;

            case NavDataTag.Wifi:
                Wifi = WifiOption.FromReader(size, reader);
                break;

            case NavDataTag.HdVideoStream:
                HdVideoStream = HdVideoStreamOption.FromReader(size, reader);
                break;

            default:
                if (false && Debugger.IsAttached)
                {
                    // An unhandled navdata option was detected; break into the debugger
                    Debugger.Break();
                }
                else
                {
                    for (int i = 0; i < size - 4; i++)
                    {
                        reader.ReadByte();
                    }
                }

                break;
            }
        }