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

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

?? ogr_core.h

?? mitab,讀取MapInfo的地圖文件
?? H
字號:
/******************************************************************************
 * $Id: ogr_core.h 10646 2007-01-18 02:38:10Z warmerdam $
 *
 * Project:  OpenGIS Simple Features Reference Implementation
 * Purpose:  Define some core portability services for cross-platform OGR code.
 * Author:   Frank Warmerdam, warmerdam@pobox.com
 *
 ******************************************************************************
 * Copyright (c) 1999, Frank Warmerdam
 *
 * 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.
 ****************************************************************************/

#ifndef _OGR_CORE_H_INCLUDED
#define _OGR_CORE_H_INCLUDED

#include "cpl_port.h"

/**
 * Simple container for a bounding region.
 */

#ifdef __cplusplus
class CPL_DLL OGREnvelope
{
  public:
        OGREnvelope()
        {
                MinX = MaxX = MinY = MaxY = 0;
        }
    double      MinX;
    double      MaxX;
    double      MinY;
    double      MaxY;

    int  IsInit() { return MinX != 0 || MinY != 0 || MaxX != 0 || MaxY != 0; }
    void Merge( OGREnvelope & sOther ) {
        if( IsInit() )
        {
            MinX = MIN(MinX,sOther.MinX);
            MaxX = MAX(MaxX,sOther.MaxX);
            MinY = MIN(MinY,sOther.MinY);
            MaxY = MAX(MaxY,sOther.MaxY);
        }
        else
        {
            MinX = sOther.MinX;
            MaxX = sOther.MaxX;
            MinY = sOther.MinY;
            MaxY = sOther.MaxY;
        }
    }
};
#else
typedef struct
{
    double      MinX;
    double      MaxX;
    double      MinY;
    double      MaxY;
} OGREnvelope;
#endif

CPL_C_START

void CPL_DLL *OGRMalloc( size_t );
void CPL_DLL *OGRCalloc( size_t, size_t );
void CPL_DLL *OGRRealloc( void *, size_t );
char CPL_DLL *OGRStrdup( const char * );
void CPL_DLL OGRFree( void * );

typedef int OGRErr;

#define OGRERR_NONE                0
#define OGRERR_NOT_ENOUGH_DATA     1    /* not enough data to deserialize */
#define OGRERR_NOT_ENOUGH_MEMORY   2
#define OGRERR_UNSUPPORTED_GEOMETRY_TYPE 3
#define OGRERR_UNSUPPORTED_OPERATION 4
#define OGRERR_CORRUPT_DATA        5
#define OGRERR_FAILURE             6
#define OGRERR_UNSUPPORTED_SRS     7

typedef int     OGRBoolean;

/* -------------------------------------------------------------------- */
/*      ogr_geometry.h related definitions.                             */
/* -------------------------------------------------------------------- */
/**
 * List of well known binary geometry types.  These are used within the BLOBs
 * but are also returned from OGRGeometry::getGeometryType() to identify the
 * type of a geometry object.
 */

typedef enum 
{
    wkbUnknown = 0,             /* non-standard */
    wkbPoint = 1,               /* rest are standard WKB type codes */
    wkbLineString = 2,
    wkbPolygon = 3,
    wkbMultiPoint = 4,
    wkbMultiLineString = 5,
    wkbMultiPolygon = 6,
    wkbGeometryCollection = 7,
    wkbNone = 100,              /* non-standard, for pure attribute records */
    wkbLinearRing = 101,        /* non-standard, just for createGeometry() */
    wkbPoint25D = 0x80000001,   /* 2.5D extensions as per 99-402 */
    wkbLineString25D = 0x80000002,
    wkbPolygon25D = 0x80000003,
    wkbMultiPoint25D = 0x80000004,
    wkbMultiLineString25D = 0x80000005,
    wkbMultiPolygon25D = 0x80000006,
    wkbGeometryCollection25D = 0x80000007
} OGRwkbGeometryType;

#define wkb25DBit 0x80000000
#define wkbFlatten(x)  ((OGRwkbGeometryType) ((x) & (~wkb25DBit)))

#define ogrZMarker 0x21125711

const char CPL_DLL * OGRGeometryTypeToName( OGRwkbGeometryType eType );

typedef enum 
{
    wkbXDR = 0,         /* MSB/Sun/Motoroloa: Most Significant Byte First   */
    wkbNDR = 1          /* LSB/Intel/Vax: Least Significant Byte First      */
} OGRwkbByteOrder;

#ifndef NO_HACK_FOR_IBM_DB2_V72
#  define HACK_FOR_IBM_DB2_V72
#endif

#ifdef HACK_FOR_IBM_DB2_V72
#  define DB2_V72_FIX_BYTE_ORDER(x) ((((x) & 0x31) == (x)) ? (OGRwkbByteOrder) ((x) & 0x1) : (x))
#  define DB2_V72_UNFIX_BYTE_ORDER(x) ((unsigned char) (OGRGeometry::bGenerate_DB2_V72_BYTE_ORDER ? ((x) | 0x30) : (x)))
#else
#  define DB2_V72_FIX_BYTE_ORDER(x) (x)
#  define DB2_V72_UNFIX_BYTE_ORDER(x) (x)
#endif

/************************************************************************/
/*                  ogr_feature.h related definitions.                  */
/************************************************************************/

/**
 * List of feature field types.  This list is likely to be extended in the
 * future ... avoid coding applications based on the assumption that all
 * field types can be known.
 */

typedef enum 
{
  /** Simple 32bit integer */                   OFTInteger = 0,
  /** List of 32bit integers */                 OFTIntegerList = 1,
  /** Double Precision floating point */        OFTReal = 2,
  /** List of doubles */                        OFTRealList = 3,
  /** String of ASCII chars */                  OFTString = 4,
  /** Array of strings */                       OFTStringList = 5,
  /** Double byte string (unsupported) */       OFTWideString = 6,
  /** List of wide strings (unsupported) */     OFTWideStringList = 7,
  /** Raw Binary data */                        OFTBinary = 8,
  /** Date */                                   OFTDate = 9,
  /** Time */                                   OFTTime = 10,
  /** Date and Time */                          OFTDateTime = 11
} OGRFieldType;

/**
 * Display justification for field values.
 */

typedef enum 
{
    OJUndefined = 0,
    OJLeft = 1,
    OJRight = 2
} OGRJustification;

#define OGRNullFID            -1
#define OGRUnsetMarker        -21121

/************************************************************************/
/*                               OGRField                               */
/************************************************************************/

/**
 * OGRFeature field attribute value union.
 */

typedef union {
    int         Integer;
    double      Real;
    char       *String;
    /* wchar    *WideString; */
    
    struct {
        int     nCount;
        int     *paList;
    } IntegerList;
    
    struct {
        int     nCount;
        double  *paList;
    } RealList;
    
    struct {
        int     nCount;
        char    **paList;
    } StringList;

    /*
    union {
        int   nCount;
        wchar *paList;
    } WideStringList;
    */

    struct {
        int     nCount;
        GByte   *paData;
    } Binary;
    
    struct {
        int     nMarker1;
        int     nMarker2;
    } Set;

    struct {
        GInt16  Year;
        GByte   Month;
        GByte   Day;
        GByte   Hour;
        GByte   Minute;
        GByte   Second;
        GByte   TZFlag; /* 0=unknown, 1=localtime(ambiguous), 
                           100=GMT, 104=GMT+1, 80=GMT-5, etc */
    } Date;
} OGRField;

int CPL_DLL OGRParseDate( const char *pszInput, OGRField *psOutput, 
                          int nOptions );

/* -------------------------------------------------------------------- */
/*      Constants from ogrsf_frmts.h for capabilities.                  */
/* -------------------------------------------------------------------- */
#define OLCRandomRead          "RandomRead"
#define OLCSequentialWrite     "SequentialWrite"
#define OLCRandomWrite         "RandomWrite"
#define OLCFastSpatialFilter   "FastSpatialFilter"
#define OLCFastFeatureCount    "FastFeatureCount"
#define OLCFastGetExtent       "FastGetExtent"
#define OLCCreateField         "CreateField"
#define OLCTransactions        "Transactions"
#define OLCDeleteFeature       "DeleteFeature"
#define OLCFastSetNextByIndex  "FastSetNextByIndex"

#define ODsCCreateLayer        "CreateLayer"
#define ODsCDeleteLayer        "DeleteLayer"

#define ODrCCreateDataSource   "CreateDataSource"
#define ODrCDeleteDataSource   "DeleteDataSource"

CPL_C_END

#endif /* ndef _OGR_CORE_H_INCLUDED */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性极品少妇| 成人免费一区二区三区视频| 日韩在线a电影| 久久精品视频一区二区| 91在线观看视频| 久久er99热精品一区二区| 国产精品久久久久久久蜜臀| 欧美日韩国产综合久久| 91视频一区二区| 国产一区二区三区日韩| 色视频一区二区| 久久99精品国产.久久久久久| 亚洲精品视频自拍| 欧美精品一区二区三区一线天视频| 色综合久久中文字幕| 成人午夜激情影院| 激情深爱一区二区| 久草精品在线观看| 男男gaygay亚洲| 日本欧美一区二区在线观看| 亚洲影视在线观看| 亚洲卡通动漫在线| 亚洲少妇中出一区| 中文字幕在线不卡视频| 国产精品乱人伦| 国产精品福利av| 亚洲自拍偷拍图区| 天使萌一区二区三区免费观看| 亚洲一区成人在线| 午夜久久久久久久久久一区二区| 视频在线观看91| 精品一二三四区| 成人一区二区三区视频| 一本色道久久加勒比精品| 91精品福利在线| 欧美精品久久一区| 国产欧美一区二区精品仙草咪| 国产精品三级电影| 午夜精品视频在线观看| 国产精品一二三区| 欧美日韩一区二区在线观看| 日韩欧美黄色影院| 最新国产の精品合集bt伙计| 亚洲gay无套男同| 成人午夜视频在线| 91精品在线一区二区| 国产精品久久午夜夜伦鲁鲁| 亚洲国产一二三| av电影在线不卡| ww亚洲ww在线观看国产| 亚洲自拍偷拍av| 在线免费观看一区| 亚洲欧洲一区二区在线播放| 另类欧美日韩国产在线| 欧美影院一区二区三区| 26uuu久久综合| 亚洲一区中文日韩| 日本伦理一区二区| 国产精品成人免费精品自在线观看| 国产主播一区二区| 国产三区在线成人av| 国产精品自拍三区| 国产免费观看久久| 成人h动漫精品一区二区| 精品福利一二区| 精品在线视频一区| 久久久精品欧美丰满| 国产寡妇亲子伦一区二区| 久久久久综合网| 成人app在线观看| 亚洲欧美一区二区三区极速播放| 不卡一二三区首页| 亚洲成人动漫av| 欧美精品一区二区三区久久久| 国产精品1区二区.| 夜夜精品视频一区二区| 91福利小视频| 天天影视网天天综合色在线播放| 亚洲一区中文日韩| 色综合天天综合色综合av | 欧美日韩中文精品| 亚洲va欧美va国产va天堂影院| 26uuu色噜噜精品一区| 91麻豆.com| 黑人精品欧美一区二区蜜桃| 亚洲日本丝袜连裤袜办公室| 日韩欧美激情在线| 在线观看视频一区二区| 国产一区二区久久| 天天色 色综合| 亚洲欧美一区二区三区国产精品 | 六月丁香综合在线视频| 国产精品成人免费在线| 日韩精品自拍偷拍| 91成人网在线| 不卡电影一区二区三区| 激情综合网最新| 日韩不卡一二三区| 亚洲3atv精品一区二区三区| 亚洲青青青在线视频| 专区另类欧美日韩| 自拍偷拍欧美精品| 国产精品久久久久精k8| 国产精品久久久久久久久免费丝袜 | 国产精品久久久久影院亚瑟| 日韩欧美精品三级| 精品免费国产二区三区| 欧美一区二区三区影视| 欧美丰满一区二区免费视频| 欧美日韩国产高清一区二区三区| 欧美三级日本三级少妇99| 欧美日韩中文字幕一区| 欧美日韩一二三| 欧美大胆人体bbbb| 久久精品一区二区| 综合激情成人伊人| 亚洲成人精品一区| 久久国产综合精品| av在线一区二区三区| 在线观看国产精品网站| 欧美人成免费网站| 久久精品国产精品亚洲红杏| 国产黄人亚洲片| 91亚洲精品久久久蜜桃网站| 欧美精品久久99久久在免费线 | 欧美日韩黄色影视| xnxx国产精品| 亚洲在线观看免费视频| 狠狠色狠狠色综合系列| av成人免费在线观看| 欧美国产日本韩| 亚洲综合在线视频| 国产精品影音先锋| 欧美人妇做爰xxxⅹ性高电影| 欧美高清一级片在线观看| 日韩黄色在线观看| 欧美日韩国产区一| 亚洲在线免费播放| 欧美日韩一区二区电影| 亚洲国产日韩在线一区模特| 欧美日韩一区不卡| 国产精品高潮呻吟久久| 国产精品高潮久久久久无| 亚洲天堂a在线| 欧美日韩国产首页| 国产福利精品一区二区| 国产精品久久午夜| 欧美亚洲国产一区在线观看网站| 亚洲另类一区二区| 在线播放91灌醉迷j高跟美女 | 国产婷婷色一区二区三区四区| 国产一区二区精品久久| 尤物视频一区二区| 欧美日韩精品欧美日韩精品一| 亚洲国产aⅴ天堂久久| 日韩欧美成人激情| av中文字幕在线不卡| 一区二区三区波多野结衣在线观看| 色久综合一二码| 亚洲第一激情av| 欧美成人精品1314www| 国产在线精品一区在线观看麻豆| 欧美精品777| 亚洲高清中文字幕| 欧美国产精品一区二区| 制服丝袜成人动漫| 91一区二区三区在线观看| 国产在线精品一区二区夜色| 亚洲国产综合91精品麻豆| 日韩美女啊v在线免费观看| 欧美高清一级片在线观看| 久久一区二区三区四区| 国产91丝袜在线播放0| 一区二区三区中文免费| 91精品国产综合久久婷婷香蕉| 国产一区不卡在线| 亚洲精品成人精品456| 91麻豆精品国产| 91高清在线观看| 国产美女在线精品| 99re亚洲国产精品| 国模套图日韩精品一区二区| 亚洲综合色区另类av| 亚洲丝袜自拍清纯另类| 国产网站一区二区| 337p日本欧洲亚洲大胆精品| 欧美私人免费视频| 一本色道综合亚洲| 91在线你懂得| 东方aⅴ免费观看久久av| 免费人成在线不卡| 亚洲国产成人porn| 亚洲电影你懂得| 夜夜精品浪潮av一区二区三区| 亚洲免费观看在线视频| 亚洲精品国产精华液| 亚洲第一久久影院| 国产精品理伦片| 中文字幕色av一区二区三区| 国产精品第13页|