Пример #1
0
        public void acquireCMUCAMAbstractionData(CommandMsg msg)
        {
            int parmslength = msg.ParamsLength;

            byte[] parms = msg.CmdParams;
            int    i, j;
            int    startindex = AbstractionBytes;

            for (i = 0; i < parmslength; i++)
            {
                RawAbstraction[startindex + i] = parms[i];
                AbstractionBytes++;
            }
            flagAbstractionDataReady = true;

            if (AbstractionBytes == ABSTRACTION_FRAME_HEIGHT * ABSTRACTION_FRAME_WIDTH * 3)
            {
                FrameAbstraction              = new CMUCAMFrame();
                FrameAbstraction.RedChannel   = new byte[ABSTRACTION_FRAME_HEIGHT][];
                FrameAbstraction.GreenChannel = new byte[ABSTRACTION_FRAME_HEIGHT][];
                FrameAbstraction.BlueChannel  = new byte[ABSTRACTION_FRAME_HEIGHT][];

                for (i = 0; i < ABSTRACTION_FRAME_HEIGHT; i++)
                {
                    FrameAbstraction.RedChannel[i]   = new byte[ABSTRACTION_FRAME_WIDTH];
                    FrameAbstraction.GreenChannel[i] = new byte[ABSTRACTION_FRAME_WIDTH];
                    FrameAbstraction.BlueChannel[i]  = new byte[ABSTRACTION_FRAME_WIDTH];

                    for (j = 0; j < ABSTRACTION_FRAME_WIDTH; j++)
                    {
                        FrameAbstraction.RedChannel[i][j]   = RawAbstraction[(i * ABSTRACTION_FRAME_WIDTH + j) * 3];
                        FrameAbstraction.GreenChannel[i][j] = RawAbstraction[(i * ABSTRACTION_FRAME_WIDTH + j) * 3 + 1];
                        FrameAbstraction.BlueChannel[i][j]  = RawAbstraction[(i * ABSTRACTION_FRAME_WIDTH + j) * 3 + 2];
                    }
                }
                flagAbstractionReady     = true;
                flagAbstractionDataReady = false; // rpeventing a new chuynk request
            }
        }
        public void acquireCMUCAMAbstractionData(CommandMsg msg)
        {
            int parmslength = msg.ParamsLength;
            byte[] parms = msg.CmdParams;
            int i, j;
            int startindex = AbstractionBytes;
            for (i = 0; i < parmslength; i++)
            {
                RawAbstraction[startindex + i] = parms[i];
                AbstractionBytes++;
            }
            flagAbstractionDataReady = true;

            if (AbstractionBytes == ABSTRACTION_FRAME_HEIGHT * ABSTRACTION_FRAME_WIDTH * 3)
            {
                FrameAbstraction = new CMUCAMFrame();
                FrameAbstraction.RedChannel = new byte[ABSTRACTION_FRAME_HEIGHT][];
                FrameAbstraction.GreenChannel = new byte[ABSTRACTION_FRAME_HEIGHT][];
                FrameAbstraction.BlueChannel = new byte[ABSTRACTION_FRAME_HEIGHT][];

                for (i = 0; i < ABSTRACTION_FRAME_HEIGHT; i++)
                {
                    FrameAbstraction.RedChannel[i] = new byte[ABSTRACTION_FRAME_WIDTH];
                    FrameAbstraction.GreenChannel[i] = new byte[ABSTRACTION_FRAME_WIDTH];
                    FrameAbstraction.BlueChannel[i] = new byte[ABSTRACTION_FRAME_WIDTH];

                    for (j = 0; j < ABSTRACTION_FRAME_WIDTH; j++)
                    {
                        FrameAbstraction.RedChannel[i][j] = RawAbstraction[(i * ABSTRACTION_FRAME_WIDTH + j) * 3];
                        FrameAbstraction.GreenChannel[i][j] = RawAbstraction[(i * ABSTRACTION_FRAME_WIDTH + j) * 3 + 1];
                        FrameAbstraction.BlueChannel[i][j] = RawAbstraction[(i * ABSTRACTION_FRAME_WIDTH + j) * 3 + 2];
                    }
                }
                flagAbstractionReady = true;
                flagAbstractionDataReady = false; // preventing a new chunk request

            }
        }