亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
亚洲激情五月婷婷| 久久久亚洲精华液精华液精华液| 乱一区二区av| 亚洲国产精品一区二区www | 欧美性生活久久| 国产精品夜夜嗨| 日本成人在线网站| 亚洲女与黑人做爰| 国产人伦精品一区二区| 日韩欧美一区二区不卡| 99re热这里只有精品免费视频| 免费高清在线一区| 五月激情综合色| 一区二区三区四区激情| 国产精品电影院| 国产精品美女视频| 国产精品视频在线看| 国产区在线观看成人精品 | 欧美一级片免费看| 6080国产精品一区二区| 欧美日韩成人高清| 欧美疯狂做受xxxx富婆| 欧美伦理影视网| 欧美日韩高清在线| 911国产精品| 666欧美在线视频| 日韩一区二区三区视频在线| 91精品国产一区二区人妖| 欧美日韩高清一区二区| 日韩欧美在线观看一区二区三区| 欧美肥大bbwbbw高潮| 3atv在线一区二区三区| 欧美成人伊人久久综合网| 国产三级久久久| ●精品国产综合乱码久久久久| 亚洲欧美日韩中文字幕一区二区三区| 亚洲天堂久久久久久久| 亚洲成av人片www| 狠狠色综合播放一区二区| 成人一级片网址| 91丨porny丨在线| 日韩欧美高清dvd碟片| 国产欧美一区在线| 亚洲成人精品一区二区| 国产一区欧美二区| 不卡av在线免费观看| 欧美日韩亚洲另类| 中文字幕精品三区| 天天综合网天天综合色| 懂色av一区二区三区蜜臀| 精品视频色一区| 欧美激情一区二区三区在线| 亚洲免费在线看| 国产美女精品人人做人人爽| 在线亚洲+欧美+日本专区| 日韩一级片在线观看| 国产精品美女久久久久久2018| 天天做天天摸天天爽国产一区| hitomi一区二区三区精品| 欧美mv和日韩mv国产网站| 亚洲国产精品一区二区尤物区| 国产黄色成人av| 26uuu国产在线精品一区二区| 亚洲国产日产av| 91麻豆国产福利在线观看| 国产午夜精品美女毛片视频| 日本不卡视频在线| 88在线观看91蜜桃国自产| 一个色妞综合视频在线观看| 大尺度一区二区| 一区二区三区鲁丝不卡| 成a人片亚洲日本久久| 欧美日韩另类一区| 国产精品久久夜| 日本免费在线视频不卡一不卡二| 日韩电影在线观看一区| 久久不见久久见免费视频1| 中文字幕欧美激情一区| 日本不卡在线视频| 91精品国产综合久久小美女| 亚洲国产另类av| 欧美浪妇xxxx高跟鞋交| 日本在线播放一区二区三区| 欧美日韩小视频| 黄色小说综合网站| 国产女主播视频一区二区| 成人动漫在线一区| 中文字幕人成不卡一区| 91丨porny丨蝌蚪视频| 1区2区3区国产精品| 在线观看成人免费视频| 天天色综合天天| 国产午夜精品久久久久久免费视| 成人午夜在线播放| 国产性天天综合网| 97久久超碰精品国产| 日韩av一区二区在线影视| 久久蜜桃av一区精品变态类天堂| www.色综合.com| 麻豆免费看一区二区三区| 一区视频在线播放| 日韩午夜av一区| k8久久久一区二区三区| 日韩国产在线观看一区| 中文字幕在线免费不卡| 日韩女优av电影在线观看| 99国产精品久久久久久久久久久| 日本欧美在线观看| 亚洲一区二区三区激情| 中文字幕欧美日韩一区| 日韩免费福利电影在线观看| 色88888久久久久久影院按摩| 国产在线一区二区综合免费视频| 一区二区三区四区不卡在线 | 中文字幕av不卡| 日韩欧美国产一区在线观看| 色综合亚洲欧洲| 成人h动漫精品一区二区| 激情欧美一区二区| 久久精品999| 久久成人久久爱| 蜜桃传媒麻豆第一区在线观看| 亚洲一区在线观看免费观看电影高清| 亚洲国产精品激情在线观看| 久久蜜桃香蕉精品一区二区三区| 日韩一级二级三级精品视频| 欧美一卡二卡在线| 欧美成人一区二区三区| 精品国精品自拍自在线| 欧美一卡在线观看| 欧美大片在线观看一区二区| 欧美精品一区二区在线观看| 久久香蕉国产线看观看99| 久久久夜色精品亚洲| 国产日韩欧美综合在线| 国产精品妹子av| 亚洲人123区| 五月天一区二区| 精品在线一区二区三区| 国产成人免费视频网站 | 久久久久久97三级| 亚洲图片你懂的| 亚洲.国产.中文慕字在线| 午夜成人免费视频| 久久99精品国产.久久久久久| 国产成人综合网站| 91黄色免费网站| 久久久不卡影院| 一区二区三区在线免费视频| 蜜桃在线一区二区三区| 成人免费精品视频| 4438亚洲最大| 亚洲欧洲成人自拍| 久久电影国产免费久久电影| 国产成人午夜精品影院观看视频 | 99久久精品国产一区| 欧美高清激情brazzers| 国产精品久久久久久妇女6080| 日韩中文字幕区一区有砖一区| 加勒比av一区二区| 裸体一区二区三区| a亚洲天堂av| 欧美性感一类影片在线播放| 欧美日韩日本视频| 中文av一区二区| 麻豆一区二区三| 精品一区二区三区视频在线观看| 国产不卡一区视频| 久久婷婷一区二区三区| 香蕉成人啪国产精品视频综合网 | 欧美一区二区三区的| 欧美一级精品大片| 亚洲国产日韩a在线播放性色| 懂色av一区二区三区免费看| 欧美精品一区二区久久婷婷| 日本va欧美va欧美va精品| 欧美久久婷婷综合色| 亚洲国产精品自拍| 91美女视频网站| 日韩一区有码在线| 欧美性大战久久久久久久蜜臀 | 丝袜亚洲精品中文字幕一区| 一本色道久久综合狠狠躁的推荐| 中文欧美字幕免费| 91免费看`日韩一区二区| 亚洲欧洲精品一区二区三区不卡| 成人美女在线观看| 亚洲精选视频免费看| 欧美日韩成人综合天天影院| 琪琪久久久久日韩精品| 国产亚洲精品aa午夜观看| 99视频一区二区| 日韩激情视频网站| 久久亚洲精华国产精华液| 99九九99九九九视频精品| 亚洲高清一区二区三区| 久久综合网色—综合色88| 色综合久久中文字幕| 麻豆精品国产91久久久久久| 中文字幕免费观看一区|