亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? mitab_mapcoordblock.cpp

?? 支持各種柵格圖像和矢量圖像讀取的庫(kù)
?? CPP
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
 * * Set the address (offset from beginning of file) of the coord. block * that follows the current one. **********************************************************************/void     TABMAPCoordBlock::SetNextCoordBlock(GInt32 nNextCoordBlockAddress){    m_nNextCoordBlock = nNextCoordBlockAddress;}/********************************************************************** *                   TABMAPObjectBlock::SetComprCoordOrigin() * * Set the Compressed integer coordinates space origin to be used when * reading compressed coordinates using ReadIntCoord(). **********************************************************************/void     TABMAPCoordBlock::SetComprCoordOrigin(GInt32 nX, GInt32 nY){    m_nComprOrgX = nX;    m_nComprOrgY = nY;}/********************************************************************** *                   TABMAPObjectBlock::ReadIntCoord() * * Read the next pair of integer coordinates value from the block, and * apply the translation relative to the origin of the coord. space * previously set using SetComprCoordOrigin() if bCompressed=TRUE. * * This means that the returned coordinates are always absolute integer * coordinates, even when the source coords are in compressed form. * * Returns 0 if succesful or -1 if an error happened, in which case  * CPLError() will have been called. **********************************************************************/int     TABMAPCoordBlock::ReadIntCoord(GBool bCompressed,                                         GInt32 &nX, GInt32 &nY){    if (bCompressed)    {           nX = m_nComprOrgX + ReadInt16();        nY = m_nComprOrgY + ReadInt16();    }    else    {        nX = ReadInt32();        nY = ReadInt32();    }    if (CPLGetLastErrorType() == CE_Failure)        return -1;    return 0;}/********************************************************************** *                   TABMAPObjectBlock::ReadIntCoords() * * Read the specified number of pairs of X,Y integer coordinates values * from the block, and apply the translation relative to the origin of * the coord. space previously set using SetComprCoordOrigin() if  * bCompressed=TRUE. * * This means that the returned coordinates are always absolute integer * coordinates, even when the source coords are in compressed form. * * panXY should point to an array big enough to receive the specified * number of coordinates. * * Returns 0 if succesful or -1 if an error happened, in which case  * CPLError() will have been called. **********************************************************************/int     TABMAPCoordBlock::ReadIntCoords(GBool bCompressed, int numCoordPairs,                                         GInt32 *panXY){    int i, numValues = numCoordPairs*2;    if (bCompressed)    {           for(i=0; i<numValues; i+=2)        {            panXY[i]   = m_nComprOrgX + ReadInt16();            panXY[i+1] = m_nComprOrgY + ReadInt16();            if (CPLGetLastErrorType() != 0)                return -1;        }    }    else    {        for(i=0; i<numValues; i+=2)        {            panXY[i]   = ReadInt32();            panXY[i+1] = ReadInt32();            if (CPLGetLastErrorType() != 0)                return -1;        }    }    return 0;}/********************************************************************** *                   TABMAPObjectBlock::ReadCoordSecHdrs() * * Read a set of coordinate section headers for PLINE MULTIPLE or REGIONs * and store the result in the array of structures pasHdrs[].  It is assumed * that pasHdrs points to an allocated array of at least numSections  * TABMAPCoordSecHdr structures. * * The function will also set the values of numVerticesTotal to the  * total number of coordinates in the object (the sum of all sections  * headers read). * * At the end of the call, this TABMAPCoordBlock object will be located * at the beginning of the coordinate data. * * In V450 the numVertices is stored on an int32 instead of an int16 * * IMPORTANT: This function makes the assumption that coordinates for all *            the sections are grouped together immediately after the *            last section header block (i.e. that the coord. data is not *            located all over the place).  If it is not the case then *            an error will be produced and the code to read region and *            multipline objects will have to be updated.  * * Returns 0 if succesful or -1 if an error happened, in which case  * CPLError() will have been called. **********************************************************************/int     TABMAPCoordBlock::ReadCoordSecHdrs(GBool bCompressed,                                            GBool bV450Hdr,                                           int numSections,                                           TABMAPCoordSecHdr *pasHdrs,                                           GInt32    &numVerticesTotal){    int i, nTotalHdrSizeUncompressed;    CPLErrorReset();    /*-------------------------------------------------------------     * Note about header+vertices size vs compressed coordinates:     * The uncompressed header sections are actually 16 bytes, but the     * offset calculations are based on prior decompression of the      * coordinates.  Our coordinate offset calculations have     * to take this fact into account.     * Also, V450 header section uses int32 instead of int16 for numVertices     * and we add another 2 bytes to align with a 4 bytes boundary.     *------------------------------------------------------------*/    if (bV450Hdr)        nTotalHdrSizeUncompressed = 28 * numSections;    else        nTotalHdrSizeUncompressed = 24 * numSections;    numVerticesTotal = 0;    for(i=0; i<numSections; i++)    {        /*-------------------------------------------------------------         * Read the coord. section header blocks         *------------------------------------------------------------*/#ifdef TABDUMP        int nHdrAddress = GetCurAddress();#endif        if (bV450Hdr)            pasHdrs[i].numVertices = ReadInt32();        else            pasHdrs[i].numVertices = ReadInt16();        pasHdrs[i].numHoles = ReadInt16();        ReadIntCoord(bCompressed, pasHdrs[i].nXMin, pasHdrs[i].nYMin);        ReadIntCoord(bCompressed, pasHdrs[i].nXMax, pasHdrs[i].nYMax);        pasHdrs[i].nDataOffset = ReadInt32();        if (CPLGetLastErrorType() != 0)            return -1;        numVerticesTotal += pasHdrs[i].numVertices;        pasHdrs[i].nVertexOffset = (pasHdrs[i].nDataOffset -                                     nTotalHdrSizeUncompressed ) / 8;#ifdef TABDUMP        printf("READING pasHdrs[%d] @ %d = \n"               "              { numVertices = %d, numHoles = %d, \n"               "                nXMin=%d, nYMin=%d, nXMax=%d, nYMax=%d,\n"               "                nDataOffset=%d, nVertexOffset=%d }\n",               i, nHdrAddress, pasHdrs[i].numVertices, pasHdrs[i].numHoles,                pasHdrs[i].nXMin, pasHdrs[i].nYMin, pasHdrs[i].nXMax,                pasHdrs[i].nYMax, pasHdrs[i].nDataOffset,                pasHdrs[i].nVertexOffset);        printf("                dX = %d, dY = %d  (center = %d , %d)\n",               pasHdrs[i].nXMax - pasHdrs[i].nXMin,               pasHdrs[i].nYMax - pasHdrs[i].nYMin,               m_nComprOrgX, m_nComprOrgY);#endif    }    for(i=0; i<numSections; i++)    {        /*-------------------------------------------------------------         * Make sure all coordinates are grouped together         * (Well... at least check that all the vertex indices are enclosed         * inside the [0..numVerticesTotal] range.)         *------------------------------------------------------------*/        if ( pasHdrs[i].nVertexOffset < 0 ||              (pasHdrs[i].nVertexOffset +                           pasHdrs[i].numVertices ) > numVerticesTotal)        {            CPLError(CE_Failure, CPLE_AssertionFailed,                     "Unsupported case or corrupt file: MULTIPLINE/REGION "                     "object vertices do not appear to be grouped together.");            return -1;        }    }    return 0;}/********************************************************************** *                   TABMAPObjectBlock::WriteCoordSecHdrs() * * Write a set of coordinate section headers for PLINE MULTIPLE or REGIONs. * pasHdrs should point to an array of numSections TABMAPCoordSecHdr  * structures that have been properly initialized. * * In V450 the numVertices is stored on an int32 instead of an int16 * * At the end of the call, this TABMAPCoordBlock object will be ready to * receive the coordinate data. * * Returns 0 if succesful or -1 if an error happened, in which case  * CPLError() will have been called. **********************************************************************/int     TABMAPCoordBlock::WriteCoordSecHdrs(GBool bV450Hdr,                                            int numSections,                                            TABMAPCoordSecHdr *pasHdrs,                                            GBool bCompressed /*=FALSE*/){    int i;    CPLErrorReset();    for(i=0; i<numSections; i++)    {        /*-------------------------------------------------------------         * Write the coord. section header blocks         *------------------------------------------------------------*/#ifdef TABDUMP        printf("WRITING pasHdrs[%d] @ %d = \n"               "              { numVertices = %d, numHoles = %d, \n"               "                nXMin=%d, nYMin=%d, nXMax=%d, nYMax=%d,\n"               "                nDataOffset=%d, nVertexOffset=%d }\n",               i, GetCurAddress(), pasHdrs[i].numVertices, pasHdrs[i].numHoles,                pasHdrs[i].nXMin, pasHdrs[i].nYMin, pasHdrs[i].nXMax,                pasHdrs[i].nYMax, pasHdrs[i].nDataOffset,                pasHdrs[i].nVertexOffset);        printf("                dX = %d, dY = %d  (center = %d , %d)\n",               pasHdrs[i].nXMax - pasHdrs[i].nXMin,               pasHdrs[i].nYMax - pasHdrs[i].nYMin,               m_nComprOrgX, m_nComprOrgY);#endif        if (bV450Hdr)            WriteInt32(pasHdrs[i].numVertices);        else            WriteInt16(pasHdrs[i].numVertices);        WriteInt16(pasHdrs[i].numHoles);        WriteIntCoord(pasHdrs[i].nXMin, pasHdrs[i].nYMin, bCompressed);        WriteIntCoord(pasHdrs[i].nXMax, pasHdrs[i].nYMax, bCompressed);        WriteInt32(pasHdrs[i].nDataOffset);        if (CPLGetLastErrorType() == CE_Failure )            return -1;    }    return 0;}/********************************************************************** *                   TABMAPCoordBlock::WriteIntCoord() * * Write a pair of integer coordinates values to the current position in the * the block. * * Returns 0 if succesful or -1 if an error happened, in which case  * CPLError() will have been called. **********************************************************************/int     TABMAPCoordBlock::WriteIntCoord(GInt32 nX, GInt32 nY,                                        GBool bCompressed /*=FALSE*/){

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲尤物在线视频观看| 99久久精品国产麻豆演员表| 国产成人免费9x9x人网站视频| 欧美精品一区在线观看| 成人国产免费视频| 亚洲综合网站在线观看| 精品88久久久久88久久久| 不卡av在线免费观看| 亚洲影院在线观看| 久久综合九色综合97婷婷女人| 欧美亚洲自拍偷拍| bt欧美亚洲午夜电影天堂| 久久电影网站中文字幕| 亚洲高清免费一级二级三级| 国产欧美日韩亚州综合| 欧美mv日韩mv| 在线成人av影院| 欧美特级限制片免费在线观看| 99视频国产精品| www.欧美.com| 国产suv一区二区三区88区| 六月丁香婷婷色狠狠久久| 亚洲高清免费一级二级三级| 亚洲精品免费看| 亚洲欧美综合色| 欧美激情一区二区在线| 久久久久久久电影| 久久蜜臀精品av| 精品乱人伦一区二区三区| 欧美成人一级视频| 日韩一区二区视频| 欧美一区二区私人影院日本| 欧美美女一区二区在线观看| 欧美日韩成人在线| 欧美电影一区二区| 8v天堂国产在线一区二区| 欧美少妇bbb| 欧美日韩久久一区二区| 欧美性欧美巨大黑白大战| 欧美日精品一区视频| 欧美日韩精品一区二区三区蜜桃| 欧美在线制服丝袜| 欧美日韩视频在线一区二区| 欧美三级电影在线观看| 欧美一三区三区四区免费在线看| 欧美一区二区二区| 精品毛片乱码1区2区3区| 久久精品一区蜜桃臀影院| 久久精品一区蜜桃臀影院| 中文字幕av一区二区三区免费看 | 久久精品理论片| 麻豆成人在线观看| 黄网站免费久久| 成人aa视频在线观看| 色婷婷av一区二区三区软件| 欧美日韩精品二区第二页| 日韩一区二区三区在线观看| 久久综合色综合88| 亚洲欧洲日韩综合一区二区| 亚洲韩国精品一区| 免费看日韩a级影片| 国产精品18久久久久久久久久久久| 成人性视频免费网站| 色综合天天综合| 日韩欧美精品在线| 中文字幕日本不卡| 五月天久久比比资源色| 韩国欧美国产1区| 99re成人精品视频| 5月丁香婷婷综合| 欧美激情一区二区三区全黄| 亚洲地区一二三色| 国产毛片精品一区| 欧美亚洲综合久久| 久久精品一级爱片| 一区二区三区四区不卡在线| 麻豆精品一区二区综合av| 成人精品高清在线| 51精品视频一区二区三区| 中文字幕av一区二区三区免费看| 亚洲一区免费视频| 国产精华液一区二区三区| 91成人看片片| 国产欧美一区二区三区在线老狼| 亚洲自拍偷拍av| 国产福利一区在线| 欧美日韩国产123区| 国产欧美精品区一区二区三区| 亚洲成人一区在线| 国产69精品久久久久毛片| 欧美电影影音先锋| 亚洲免费色视频| 精品无人码麻豆乱码1区2区| 欧美专区日韩专区| 亚洲国产经典视频| 激情伊人五月天久久综合| 欧美亚洲综合久久| 国产精品久久久久久久久免费桃花| 老司机免费视频一区二区三区| 91蜜桃婷婷狠狠久久综合9色| 精品久久久三级丝袜| 亚洲一区自拍偷拍| 91一区二区三区在线观看| 精品美女在线观看| 天堂午夜影视日韩欧美一区二区| 成人的网站免费观看| www日韩大片| 麻豆精品蜜桃视频网站| 在线免费观看日本一区| **欧美大码日韩| 高清成人在线观看| 精品国产一区二区三区不卡| 奇米影视在线99精品| 在线观看91av| 亚洲bt欧美bt精品| 欧美色爱综合网| 一区二区三区久久| 色就色 综合激情| 国产精品九色蝌蚪自拍| 丁香婷婷综合色啪| 国产午夜精品美女毛片视频| 精品综合久久久久久8888| 欧美一区二区三区日韩| 日韩在线a电影| 91精品一区二区三区在线观看| 香蕉久久一区二区不卡无毒影院| 91久久一区二区| 依依成人综合视频| 一本久道久久综合中文字幕| 亚洲欧美在线aaa| 99久久精品免费| 亚洲精品美腿丝袜| 欧美日韩一本到| 日韩主播视频在线| 欧美一区二区高清| 精品制服美女丁香| 久久人人97超碰com| 国产激情偷乱视频一区二区三区| 久久久另类综合| 国产·精品毛片| 中文字幕中文字幕中文字幕亚洲无线| 不卡一区二区三区四区| 综合自拍亚洲综合图不卡区| 在线免费观看视频一区| 天堂在线一区二区| 欧美v日韩v国产v| 国产91精品在线观看| 18成人在线观看| 欧美午夜一区二区三区免费大片| 婷婷久久综合九色综合绿巨人| 日韩欧美国产综合| 高清不卡一区二区在线| 1024亚洲合集| 欧美精品九九99久久| 精品无人码麻豆乱码1区2区| 欧美国产丝袜视频| 在线观看一区不卡| 美女网站一区二区| 欧美国产在线观看| 欧美体内she精高潮| 久久超碰97中文字幕| 国产精品免费丝袜| 欧美日韩免费高清一区色橹橹 | 亚洲一区在线播放| 精品国产1区二区| 成人激情动漫在线观看| 亚洲第一主播视频| 久久精品亚洲麻豆av一区二区| 色香色香欲天天天影视综合网| 日韩精品一区第一页| 久久精品人人做人人爽人人| 色哟哟国产精品| 韩国精品主播一区二区在线观看| 国产精品护士白丝一区av| 制服丝袜亚洲精品中文字幕| 高清不卡一区二区| 婷婷六月综合网| 国产精品理论片| 日韩欧美高清一区| 97久久超碰国产精品| 美洲天堂一区二卡三卡四卡视频| 综合激情成人伊人| 日韩色视频在线观看| 91免费小视频| 国产在线一区观看| 亚洲午夜久久久久久久久电影院| 久久综合色8888| 欧美人与性动xxxx| 91丨九色丨黑人外教| 国产精品一区二区在线看| 天堂资源在线中文精品| 国产精品欧美久久久久无广告 | 欧美在线观看视频在线| 国产成人av电影在线观看| 午夜精品久久久久久久久久| 国产精品大尺度| www亚洲一区| 欧美一区二区三区免费| 在线观看网站黄不卡| 国产a级毛片一区|