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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ogrlayer.cpp

?? 支持各種柵格圖像和矢量圖像讀取的庫
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/****************************************************************************** * $Id: ogrlayer.cpp 10646 2007-01-18 02:38:10Z warmerdam $ * * Project:  OpenGIS Simple Features Reference Implementation * Purpose:  The generic portions of the OGRSFLayer class. * Author:   Frank Warmerdam, warmerdam@pobox.com * ****************************************************************************** * Copyright (c) 1999,  Les Technologies SoftMap Inc. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. ****************************************************************************/#include "ogrsf_frmts.h"#include "ogr_api.h"#include "ogr_p.h"#include "ogr_attrind.h"CPL_CVSID("$Id: ogrlayer.cpp 10646 2007-01-18 02:38:10Z warmerdam $");/************************************************************************//*                              OGRLayer()                              *//************************************************************************/OGRLayer::OGRLayer(){    m_poStyleTable = NULL;    m_poAttrQuery = NULL;    m_poAttrIndex = NULL;    m_nRefCount = 0;    m_nFeaturesRead = 0;    m_poFilterGeom = NULL;    m_bFilterIsEnvelope = FALSE;}/************************************************************************//*                             ~OGRLayer()                              *//************************************************************************/OGRLayer::~OGRLayer(){    if ( m_poStyleTable )    {        delete m_poStyleTable;        m_poStyleTable = NULL;    }    if( m_poAttrIndex != NULL )    {        delete m_poAttrIndex;        m_poAttrIndex = NULL;    }    if( m_poAttrQuery != NULL )    {        delete m_poAttrQuery;        m_poAttrQuery = NULL;    }    if( m_poFilterGeom )    {        delete m_poFilterGeom;        m_poFilterGeom = NULL;    }}/************************************************************************//*                             Reference()                              *//************************************************************************/int OGRLayer::Reference(){    return ++m_nRefCount;}/************************************************************************//*                          OGR_L_Reference()                           *//************************************************************************/int OGR_L_Reference( OGRLayerH hLayer ){    return ((OGRLayer *) hLayer)->Reference();}/************************************************************************//*                            Dereference()                             *//************************************************************************/int OGRLayer::Dereference(){    return --m_nRefCount;}/************************************************************************//*                         OGR_L_Dereference()                          *//************************************************************************/int OGR_L_Dereference( OGRLayerH hLayer ){    return ((OGRLayer *) hLayer)->Dereference();}/************************************************************************//*                            GetRefCount()                             *//************************************************************************/int OGRLayer::GetRefCount() const{    return m_nRefCount;}/************************************************************************//*                         OGR_L_GetRefCount()                          *//************************************************************************/int OGR_L_GetRefCount( OGRLayerH hLayer ){    return ((OGRLayer *) hLayer)->GetRefCount();}/************************************************************************//*                          GetFeatureCount()                           *//************************************************************************/int OGRLayer::GetFeatureCount( int bForce ){    OGRFeature     *poFeature;    int            nFeatureCount = 0;    if( !bForce )        return -1;    ResetReading();    while( (poFeature = GetNextFeature()) != NULL )    {        nFeatureCount++;        delete poFeature;    }    ResetReading();    return nFeatureCount;}/************************************************************************//*                       OGR_L_GetFeatureCount()                        *//************************************************************************/int OGR_L_GetFeatureCount( OGRLayerH hLayer, int bForce ){    return ((OGRLayer *) hLayer)->GetFeatureCount(bForce);}/************************************************************************//*                             GetExtent()                              *//************************************************************************/OGRErr OGRLayer::GetExtent(OGREnvelope *psExtent, int bForce ){    OGRFeature  *poFeature;    OGREnvelope oEnv;    GBool       bExtentSet = FALSE;/* -------------------------------------------------------------------- *//*      If this layer has a none geometry type, then we can             *//*      reasonably assume there are not extents available.              *//* -------------------------------------------------------------------- */    if( GetLayerDefn()->GetGeomType() == wkbNone )    {        psExtent->MinX = 0.0;        psExtent->MaxX = 0.0;        psExtent->MinY = 0.0;        psExtent->MaxY = 0.0;                return OGRERR_FAILURE;    }/* -------------------------------------------------------------------- *//*      If not forced, we should avoid having to scan all the           *//*      features and just return a failure.                             *//* -------------------------------------------------------------------- */    if( !bForce )        return OGRERR_FAILURE;/* -------------------------------------------------------------------- *//*      OK, we hate to do this, but go ahead and read through all       *//*      the features to collect geometries and build extents.           *//* -------------------------------------------------------------------- */    ResetReading();    while( (poFeature = GetNextFeature()) != NULL )    {        OGRGeometry *poGeom = poFeature->GetGeometryRef();        if (poGeom && !bExtentSet)        {            poGeom->getEnvelope(psExtent);            bExtentSet = TRUE;        }        else if (poGeom)        {            poGeom->getEnvelope(&oEnv);            if (oEnv.MinX < psExtent->MinX)                 psExtent->MinX = oEnv.MinX;            if (oEnv.MinY < psExtent->MinY)                 psExtent->MinY = oEnv.MinY;            if (oEnv.MaxX > psExtent->MaxX)                 psExtent->MaxX = oEnv.MaxX;            if (oEnv.MaxY > psExtent->MaxY)                 psExtent->MaxY = oEnv.MaxY;        }        delete poFeature;    }    ResetReading();    return (bExtentSet ? OGRERR_NONE : OGRERR_FAILURE);}/************************************************************************//*                          OGR_L_GetExtent()                           *//************************************************************************/OGRErr OGR_L_GetExtent( OGRLayerH hLayer, OGREnvelope *psExtent, int bForce ){    return ((OGRLayer *) hLayer)->GetExtent( psExtent, bForce );}/************************************************************************//*                         SetAttributeFilter()                         *//************************************************************************/OGRErr OGRLayer::SetAttributeFilter( const char *pszQuery ){/* -------------------------------------------------------------------- *//*      Are we just clearing any existing query?                        *//* -------------------------------------------------------------------- */    if( pszQuery == NULL || strlen(pszQuery) == 0 )    {        if( m_poAttrQuery )        {            delete m_poAttrQuery;            m_poAttrQuery = NULL;            ResetReading();        }        return OGRERR_NONE;    }/* -------------------------------------------------------------------- *//*      Or are we installing a new query?                               *//* -------------------------------------------------------------------- */    OGRErr      eErr;    if( !m_poAttrQuery )        m_poAttrQuery = new OGRFeatureQuery();    eErr = m_poAttrQuery->Compile( GetLayerDefn(), pszQuery );    if( eErr != OGRERR_NONE )    {        delete m_poAttrQuery;        m_poAttrQuery = NULL;    }    ResetReading();    return eErr;}/************************************************************************//*                      OGR_L_SetAttributeFilter()                      *//************************************************************************/OGRErr OGR_L_SetAttributeFilter( OGRLayerH hLayer, const char *pszQuery ){    return ((OGRLayer *) hLayer)->SetAttributeFilter( pszQuery );}/************************************************************************//*                             GetFeature()                             *//************************************************************************/OGRFeature *OGRLayer::GetFeature( long nFID ){    OGRFeature *poFeature;    ResetReading();    while( (poFeature = GetNextFeature()) != NULL )    {        if( poFeature->GetFID() == nFID )            return poFeature;        else            delete poFeature;    }        return NULL;}/************************************************************************//*                          OGR_L_GetFeature()                          *//************************************************************************/OGRFeatureH OGR_L_GetFeature( OGRLayerH hLayer, long nFeatureId ){    return (OGRFeatureH) ((OGRLayer *)hLayer)->GetFeature( nFeatureId );}/************************************************************************//*                           SetNextByIndex()                           *//************************************************************************/OGRErr OGRLayer::SetNextByIndex( long nIndex ){    OGRFeature *poFeature;    ResetReading();    while( nIndex-- > 0 )    {        poFeature = GetNextFeature();        if( poFeature == NULL )            return OGRERR_FAILURE;        delete poFeature;    }    return OGRERR_NONE;}/************************************************************************//*                        OGR_L_SetNextByIndex()                        *//************************************************************************/OGRErr OGR_L_SetNextByIndex( OGRLayerH hLayer, long nIndex ){    return ((OGRLayer *)hLayer)->SetNextByIndex( nIndex );}/************************************************************************//*                        OGR_L_GetNextFeature()                        *//************************************************************************/OGRFeatureH OGR_L_GetNextFeature( OGRLayerH hLayer ){    return (OGRFeatureH) ((OGRLayer *)hLayer)->GetNextFeature();}/************************************************************************//*                             SetFeature()                             *//************************************************************************/OGRErr OGRLayer::SetFeature( OGRFeature * ){    return OGRERR_UNSUPPORTED_OPERATION;}/************************************************************************//*                          OGR_L_SetFeature()                          *//************************************************************************/OGRErr OGR_L_SetFeature( OGRLayerH hLayer, OGRFeatureH hFeat ){    return ((OGRLayer *)hLayer)->SetFeature( (OGRFeature *) hFeat );}/************************************************************************//*                           CreateFeature()                            *//************************************************************************/OGRErr OGRLayer::CreateFeature( OGRFeature * ){    return OGRERR_UNSUPPORTED_OPERATION;}/************************************************************************//*                        OGR_L_CreateFeature()                         *//************************************************************************/OGRErr OGR_L_CreateFeature( OGRLayerH hLayer, OGRFeatureH hFeat ){    return ((OGRLayer *) hLayer)->CreateFeature( (OGRFeature *) hFeat );}/************************************************************************//*                              GetInfo()                               *//************************************************************************/const char *OGRLayer::GetInfo( const char * pszTag ){    (void) pszTag;    return NULL;}/************************************************************************//*                            CreateField()                             *//************************************************************************/OGRErr OGRLayer::CreateField( OGRFieldDefn * poField, int bApproxOK ){    (void) poField;    (void) bApproxOK;    CPLError( CE_Failure, CPLE_NotSupported,              "CreateField() not supported by this layer.\n" );                  return OGRERR_UNSUPPORTED_OPERATION;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产百合女同互慰| 麻豆一区二区在线| 捆绑调教一区二区三区| 99国产精品一区| 日韩你懂的在线观看| 亚洲主播在线播放| 成人av电影在线网| 国产欧美日韩亚州综合| 日韩av中文字幕一区二区三区| 99国产精品久久| 国产日韩欧美激情| 捆绑紧缚一区二区三区视频| 欧洲色大大久久| 亚洲免费在线看| 成人av免费在线| 国产欧美一区二区精品婷婷 | 国产98色在线|日韩| 日韩欧美国产一二三区| 亚洲mv大片欧洲mv大片精品| 天天综合天天综合色| 欧美精品一区二区三区很污很色的| 欧美日本国产视频| 亚洲靠逼com| 91女神在线视频| 中文字幕日本不卡| 国产v日产∨综合v精品视频| 欧美α欧美αv大片| 美日韩一级片在线观看| 91精品麻豆日日躁夜夜躁| 亚洲v日本v欧美v久久精品| 欧美性xxxxxx少妇| 亚洲成人免费在线观看| 欧美色综合网站| 五月天亚洲婷婷| 日韩欧美一级特黄在线播放| 美女视频一区在线观看| 久久影音资源网| 夫妻av一区二区| 综合久久久久久| 色婷婷亚洲一区二区三区| 亚洲视频资源在线| 精品婷婷伊人一区三区三| 一区二区成人在线视频 | 亚洲男同性视频| 欧亚一区二区三区| 日本亚洲三级在线| 欧美精品一区二区三区久久久| 国产一区二区三区免费播放| 国产亚洲成aⅴ人片在线观看| 夫妻av一区二区| 一区二区三区日韩欧美精品| 337p亚洲精品色噜噜| 激情五月激情综合网| 国产精品午夜免费| 在线视频欧美精品| 久久狠狠亚洲综合| 1区2区3区精品视频| 欧美日韩一区二区电影| 九一久久久久久| 日韩伦理av电影| 欧美一区二区视频观看视频| 国产不卡视频一区二区三区| 亚洲精品少妇30p| 日韩精品中文字幕在线一区| av在线不卡电影| 婷婷久久综合九色国产成人| 久久精品夜色噜噜亚洲a∨| 色乱码一区二区三区88| 九九视频精品免费| 亚洲欧洲色图综合| 日韩精品一区二区三区四区视频| 成年人午夜久久久| 蜜臀a∨国产成人精品| 国产精品色哟哟网站| 欧美福利视频导航| 欧美色成人综合| 九九久久精品视频| 亚洲欧美一区二区不卡| 久久只精品国产| 欧美三级三级三级| 99re热视频精品| 国产一区二区在线看| 午夜精品久久久| 亚洲桃色在线一区| 国产亚洲精品7777| 日韩美女一区二区三区四区| 欧美主播一区二区三区| 大白屁股一区二区视频| 久久99精品久久久久| 日韩专区欧美专区| 一区二区三区久久久| 国产精品久久影院| 国产视频一区二区在线| 日韩欧美在线123| 欧美日本在线一区| 91黄色小视频| 色先锋资源久久综合| 99久久99久久精品免费看蜜桃| 国产精品99久久久久久宅男| 美国三级日本三级久久99| 天天色综合成人网| 亚洲va欧美va人人爽午夜 | 中文字幕一区二区三区四区 | 精品视频色一区| 色噜噜夜夜夜综合网| 91色porny在线视频| 99久久精品情趣| 国产91富婆露脸刺激对白| 国产精品一区二区黑丝| 国产在线精品一区二区夜色| 麻豆国产欧美日韩综合精品二区| 亚洲电影一级黄| 激情综合一区二区三区| 久久99精品久久久久婷婷| 韩国三级在线一区| 精品亚洲国内自在自线福利| 精品一二线国产| 国产二区国产一区在线观看| 国产福利一区二区三区视频在线 | 欧美午夜理伦三级在线观看| 在线观看国产日韩| 欧美另类久久久品| 日韩亚洲欧美中文三级| 亚洲精品一区在线观看| 国产亚洲成年网址在线观看| 国产精品丝袜久久久久久app| 欧美国产97人人爽人人喊| 国产色产综合色产在线视频 | 视频在线观看一区二区三区| 婷婷综合在线观看| 久久草av在线| 白白色亚洲国产精品| 色激情天天射综合网| 欧美伊人久久久久久久久影院 | 亚洲综合视频在线观看| 亚洲综合999| 日本不卡的三区四区五区| 久久99国产乱子伦精品免费| 床上的激情91.| 欧美日韩一区二区三区在线| 精品免费国产二区三区| 亚洲人成精品久久久久| 美女脱光内衣内裤视频久久影院| 国产成人自拍在线| 欧美日韩第一区日日骚| 久久久久久久久99精品| 亚洲午夜视频在线观看| 精品一区二区影视| 懂色av一区二区夜夜嗨| 欧美日韩精品欧美日韩精品| www激情久久| 日韩美女精品在线| 韩国女主播一区| 欧美色图天堂网| 国产视频一区在线播放| 午夜精品在线视频一区| 国产69精品久久久久毛片 | 国产精品乱码人人做人人爱 | 久久精品国产网站| 99久久久久久| 精品久久国产老人久久综合| 一区二区三区中文在线| 国产剧情一区二区三区| 欧美日本在线看| 亚洲免费av在线| 国产成人综合视频| 51久久夜色精品国产麻豆| 日韩一区中文字幕| 国产在线视频不卡二| 欧美精品精品一区| 樱桃国产成人精品视频| 丁香另类激情小说| 精品久久人人做人人爱| 日韩电影一二三区| 在线观看一区日韩| 亚洲私人影院在线观看| 美国三级日本三级久久99| 欧美性xxxxx极品少妇| 亚洲蜜桃精久久久久久久| 波多野结衣中文字幕一区二区三区| 日韩欧美国产一二三区| 日本最新不卡在线| 欧美日韩在线播放三区四区| 一区二区久久久久| 91麻豆123| 日韩一区欧美一区| 99久久99精品久久久久久| 国产色综合一区| 国产99久久久久| 欧美经典三级视频一区二区三区| 精品一区二区在线看| 欧美成人精精品一区二区频| 免费成人av在线播放| 欧美一区二区福利在线| 青青草91视频| 精品国产乱码久久久久久影片| 蜜臂av日日欢夜夜爽一区| 欧美大片拔萝卜| 激情文学综合插| 欧美国产精品中文字幕|