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

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

?? mitab_imapinfofile.cpp

?? 支持各種柵格圖像和矢量圖像讀取的庫
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
 * to retreive the next OGRFeature. **********************************************************************/OGRFeature *IMapInfoFile::GetNextFeature(){    OGRFeature *poFeatureRef;    OGRGeometry *poGeom;    int nFeatureId;    while( (nFeatureId = GetNextFeatureId(m_nCurFeatureId)) != -1 )    {        poFeatureRef = GetFeatureRef(nFeatureId);        if (poFeatureRef == NULL)            return NULL;        else if( (m_poFilterGeom == NULL ||                  ((poGeom = poFeatureRef->GetGeometryRef()) != NULL &&                   FilterGeometry( poGeom )))                 && (m_poAttrQuery == NULL                     || m_poAttrQuery->Evaluate( poFeatureRef )) )        {            // Avoid cloning feature... return the copy owned by the class            CPLAssert(poFeatureRef == m_poCurFeature);            m_poCurFeature = NULL;              return poFeatureRef;        }    }    return NULL;}/********************************************************************** *                   IMapInfoFile::CreateFeature() * * Standard OGR CreateFeature implementation.  This methode is used * to create a new feature in current dataset  **********************************************************************/OGRErr     IMapInfoFile::CreateFeature(OGRFeature *poFeature){    TABFeature *poTABFeature;    OGRGeometry   *poGeom;    OGRwkbGeometryType eGType;    OGRErr  eErr;    TABPoint *poTABPointFeature = NULL;    TABRegion *poTABRegionFeature = NULL;    TABPolyline *poTABPolylineFeature = NULL;    /*-----------------------------------------------------------------     * MITAB won't accept new features unless they are in a type derived     * from TABFeature... so we have to do our best to map to the right     * feature type based on the geometry type.     *----------------------------------------------------------------*/    poGeom = poFeature->GetGeometryRef();    if( poGeom != NULL )        eGType = poGeom->getGeometryType();    else        eGType = wkbNone;    switch( wkbFlatten(eGType) )    {      /*-------------------------------------------------------------       * POINT       *------------------------------------------------------------*/      case wkbPoint:        poTABFeature = new TABPoint(poFeature->GetDefnRef());        if(poFeature->GetStyleString())        {            poTABPointFeature = (TABPoint*)poTABFeature;            poTABPointFeature->SetSymbolFromStyleString(                poFeature->GetStyleString());        }        break;      /*-------------------------------------------------------------       * REGION       *------------------------------------------------------------*/      case wkbPolygon:      case wkbMultiPolygon:        poTABFeature = new TABRegion(poFeature->GetDefnRef());        if(poFeature->GetStyleString())        {            poTABRegionFeature = (TABRegion*)poTABFeature;            poTABRegionFeature->SetPenFromStyleString(                poFeature->GetStyleString());            poTABRegionFeature->SetBrushFromStyleString(                poFeature->GetStyleString());        }        break;      /*-------------------------------------------------------------       * LINE/PLINE/MULTIPLINE       *------------------------------------------------------------*/      case wkbLineString:      case wkbMultiLineString:        poTABFeature = new TABPolyline(poFeature->GetDefnRef());        if(poFeature->GetStyleString())        {            poTABPolylineFeature = (TABPolyline*)poTABFeature;            poTABPolylineFeature->SetPenFromStyleString(                poFeature->GetStyleString());        }        break;      /*-------------------------------------------------------------       * Collection types that are not directly supported... convert       * to multiple features in output file through recursive calls.       *------------------------------------------------------------*/      case wkbGeometryCollection:      case wkbMultiPoint:      {          OGRErr eStatus = OGRERR_NONE;          int i;          OGRGeometryCollection *poColl = (OGRGeometryCollection*)poGeom;          OGRFeature *poTmpFeature = poFeature->Clone();          for (i=0; eStatus==OGRERR_NONE && i<poColl->getNumGeometries(); i++)          {              poTmpFeature->SetGeometry(poColl->getGeometryRef(i));              eStatus = CreateFeature(poTmpFeature);          }          delete poTmpFeature;          return eStatus;        }        break;      /*-------------------------------------------------------------       * Unsupported type.... convert to MapInfo geometry NONE       *------------------------------------------------------------*/      case wkbUnknown:      default:         poTABFeature = new TABFeature(poFeature->GetDefnRef());         break;    }    if( poGeom != NULL )        poTABFeature->SetGeometryDirectly(poGeom->clone());        for (int i=0; i< poFeature->GetDefnRef()->GetFieldCount();i++)    {        poTABFeature->SetField(i,poFeature->GetRawFieldRef( i ));    }        if (SetFeature(poTABFeature) > -1)        eErr = OGRERR_NONE;    else        eErr = OGRERR_FAILURE;    delete poTABFeature;        return eErr;}/********************************************************************** *                   IMapInfoFile::GetFeature() * * Standard OGR GetFeature implementation.  This methode is used * to get the wanted (nFeatureId) feature, a NULL value will be  * returned on error. **********************************************************************/OGRFeature *IMapInfoFile::GetFeature(long nFeatureId){    OGRFeature *poFeatureRef;    poFeatureRef = GetFeatureRef(nFeatureId);    if (poFeatureRef)    {        // Avoid cloning feature... return the copy owned by the class        CPLAssert(poFeatureRef == m_poCurFeature);        m_poCurFeature = NULL;          return poFeatureRef;    }    else      return NULL;}/************************************************************************//*                            CreateField()                             *//*                                                                      *//*      Create a native field based on a generic OGR definition.        *//************************************************************************/OGRErr IMapInfoFile::CreateField( OGRFieldDefn *poField, int bApproxOK ){    TABFieldType        eTABType;    int                 nWidth = poField->GetWidth();    if( poField->GetType() == OFTInteger )    {        eTABType = TABFInteger;        if( nWidth == 0 )            nWidth = 12;    }    else if( poField->GetType() == OFTReal )    {        eTABType = TABFFloat;        if( nWidth == 0 )            nWidth = 32;    }    else if( poField->GetType() == OFTString )    {        eTABType = TABFChar;        if( nWidth == 0 )            nWidth = 254;        else            nWidth = MIN(254,nWidth);    }    else    {        CPLError( CE_Failure, CPLE_AppDefined,                  "IMapInfoFile::CreateField() called with unsupported field"                  " type %d.\n"                  "Note that Mapinfo files don't support list field types.\n",                  poField->GetType() );        return OGRERR_FAILURE;    }    if( AddFieldNative( poField->GetNameRef(), eTABType,                        nWidth, poField->GetPrecision() ) > -1 )        return OGRERR_NONE;    else        return OGRERR_FAILURE;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人激情免费视频| 国产福利不卡视频| 欧美自拍偷拍午夜视频| 亚洲另类色综合网站| 欧美亚洲图片小说| 日本视频一区二区三区| 久久综合九色综合欧美98| 国产精品18久久久久久久久久久久| 久久毛片高清国产| k8久久久一区二区三区| 亚洲午夜精品在线| 日韩一卡二卡三卡| 成人手机在线视频| 亚洲一区二区三区爽爽爽爽爽| 欧美精品久久久久久久久老牛影院| 免费成人av资源网| 国产精品天干天干在线综合| 色婷婷久久99综合精品jk白丝| 亚洲午夜精品一区二区三区他趣| 日韩一区二区三区电影| av在线一区二区三区| 亚洲va欧美va天堂v国产综合| 欧美成人三级在线| av亚洲精华国产精华精华| 午夜精品国产更新| 精品国产露脸精彩对白| 一本一本久久a久久精品综合麻豆| 丝瓜av网站精品一区二区| 久久亚洲精华国产精华液| 91视频你懂的| 久久精品99久久久| 亚洲精品国产无天堂网2021| 日韩欧美激情在线| 色婷婷久久久久swag精品| 麻豆91在线播放| 亚洲另类春色校园小说| 久久亚洲精品国产精品紫薇| 欧美日韩国产综合一区二区| 国产成人一区在线| 免费在线观看不卡| 一级做a爱片久久| 久久久777精品电影网影网| 欧美主播一区二区三区美女| 国产麻豆日韩欧美久久| 午夜av一区二区三区| 国产精品视频免费看| 日韩丝袜美女视频| 欧美日韩综合在线免费观看| 国产成人欧美日韩在线电影| 另类调教123区| 午夜影院在线观看欧美| 亚洲老司机在线| 日本一区二区视频在线| 精品国产一区二区亚洲人成毛片| 欧美私人免费视频| 91一区二区三区在线播放| 国产精品一区二区在线观看网站| 亚洲一二三四久久| 亚洲日本在线看| 国产精品私房写真福利视频| 久久精品一区八戒影视| 欧美成人猛片aaaaaaa| 欧美老人xxxx18| 欧美色成人综合| 欧美午夜在线观看| 欧美性色黄大片手机版| 日本国产一区二区| 色狠狠综合天天综合综合| 91免费观看在线| 99久久国产综合色|国产精品| 国产一区不卡在线| 国内精品写真在线观看| 九九热在线视频观看这里只有精品| 一区二区成人在线视频| 亚洲免费观看高清完整版在线观看 | 国产精品私人影院| 中文字幕的久久| 国产精品久久久久久久久久免费看| 久久你懂得1024| 日本一区二区三区四区| 国产精品视频一区二区三区不卡| 国产欧美精品一区二区色综合朱莉| 久久久亚洲欧洲日产国码αv| 精品久久久久久久久久久院品网| 日韩精品中午字幕| 久久综合狠狠综合久久综合88 | 蜜臀av性久久久久av蜜臀妖精| 日韩二区三区四区| 蜜桃一区二区三区在线观看| 美女网站色91| 国产精品99久久久| 99久久精品国产毛片| 欧美在线制服丝袜| 欧美日本国产视频| 精品久久久久香蕉网| 国产午夜精品久久久久久免费视| 国产精品嫩草影院com| 亚洲免费大片在线观看| 视频一区欧美日韩| 国产精品一区二区在线播放| 99热这里都是精品| 欧美裸体bbwbbwbbw| 2022国产精品视频| 中文字幕一区在线观看视频| 亚洲自拍偷拍麻豆| 精品一区二区三区免费| 粉嫩13p一区二区三区| 欧美在线观看禁18| 久久综合999| 亚洲免费三区一区二区| 免费人成网站在线观看欧美高清| 国产激情一区二区三区四区| 91传媒视频在线播放| 欧美mv日韩mv| 一区二区三区资源| 免费观看一级特黄欧美大片| 99免费精品在线| 日韩一区二区高清| 亚洲精品videosex极品| 久久99九九99精品| 欧美性xxxxxxxx| 久久精品免视看| 日韩一区欧美二区| 99精品视频一区| 精品国产一区二区在线观看| 一区二区三区中文在线| 国内精品写真在线观看| 欧美日韩情趣电影| 国产精品私房写真福利视频| 人人狠狠综合久久亚洲| 成人av先锋影音| 久久色成人在线| 日日夜夜精品视频天天综合网| 国产91精品精华液一区二区三区| 欧美视频你懂的| 亚洲婷婷国产精品电影人久久| 国产一区二区三区av电影| 欧美吻胸吃奶大尺度电影 | 国内精品自线一区二区三区视频| 在线观看亚洲a| 中文字幕在线一区| 久久99热99| 91精品国产综合久久精品麻豆| 国产精品久久久久精k8 | av一区二区不卡| 久久综合九色综合久久久精品综合 | 自拍偷拍欧美激情| 国产精品一卡二卡在线观看| 91精品婷婷国产综合久久性色 | 中国色在线观看另类| 国产在线观看一区二区| 日韩一区二区视频| 午夜精品久久久久久| 欧美手机在线视频| 一区二区不卡在线播放 | 国产精品久久久久精k8| 国产精品一区在线观看乱码| 精品国产乱码久久久久久蜜臀| 午夜电影久久久| 欧美日韩一区三区| 午夜激情久久久| 欧美日韩一区二区欧美激情| 亚洲欧美激情一区二区| 99国产精品久久久久久久久久久| 国产日韩精品一区二区三区| 国产精品自产自拍| 欧美国产精品一区| 成人性视频网站| 日韩一区在线免费观看| 91在线码无精品| 一区二区三区四区激情| 色狠狠av一区二区三区| 亚洲最色的网站| 正在播放一区二区| 国产一区二区三区在线观看精品 | 久久麻豆一区二区| 成人午夜视频免费看| 国产精品久久久久久久久久久免费看 | 亚洲第一福利一区| 日韩午夜精品电影| 久久99热99| 国产精品午夜春色av| 色综合色综合色综合色综合色综合| **网站欧美大片在线观看| 色婷婷精品久久二区二区蜜臂av | 日韩电影一二三区| 日韩欧美国产小视频| 激情综合五月天| 国产精品黄色在线观看| 在线一区二区三区四区五区| 午夜精品久久久久久久99水蜜桃| 国产欧美日韩综合| 91视视频在线观看入口直接观看www | 五月天亚洲婷婷| 久久综合久久综合久久综合| 成人黄色一级视频| 亚洲成av人片在线观看无码| 日韩欧美在线影院| 大陆成人av片| 天堂va蜜桃一区二区三区|