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

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

?? s57.h

?? 支持各種柵格圖像和矢量圖像讀取的庫
?? H
字號:
/****************************************************************************** * $Id: s57.h 10646 2007-01-18 02:38:10Z warmerdam $ * * Project:  S-57 Translator * Purpose:  Declarations for S-57 translator not including the *           binding onto OGRLayer/DataSource/Driver which are found in *           ogr_s57.h. * 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 _S57_H_INCLUDED#define _S57_H_INCLUDED#include "ogr_feature.h"#include "iso8211.h"class S57Reader;char **S57FileCollector( const char * pszDataset );#define EMPTY_NUMBER_MARKER 2147483641  /* MAXINT-6 *//* -------------------------------------------------------------------- *//*      Various option strings.                                         *//* -------------------------------------------------------------------- */#define S57O_UPDATES "UPDATES"#define S57O_LNAM_REFS "LNAM_REFS"#define S57O_SPLIT_MULTIPOINT "SPLIT_MULTIPOINT"#define S57O_ADD_SOUNDG_DEPTH "ADD_SOUNDG_DEPTH"#define S57O_PRESERVE_EMPTY_NUMBERS "PRESERVE_EMPTY_NUMBERS"#define S57O_RETURN_PRIMITIVES "RETURN_PRIMITIVES"#define S57O_RETURN_LINKAGES "RETURN_LINKAGES"#define S57O_RETURN_DSID     "RETURN_DSID"#define S57M_UPDATES                    0x01#define S57M_LNAM_REFS                  0x02#define S57M_SPLIT_MULTIPOINT           0x04#define S57M_ADD_SOUNDG_DEPTH           0x08#define S57M_PRESERVE_EMPTY_NUMBERS     0x10#define S57M_RETURN_PRIMITIVES          0x20#define S57M_RETURN_LINKAGES            0x40#define S57M_RETURN_DSID                0x80/* -------------------------------------------------------------------- *//*      RCNM values.                                                    *//* -------------------------------------------------------------------- */#define RCNM_FE         100     /* Feature record */#define RCNM_VI         110     /* Isolated Node */#define RCNM_VC         120     /* Connected Node */#define RCNM_VE         130     /* Edge */#define RCNM_VF         140     /* Face */#define RCNM_DSID       10#define OGRN_VI         "IsolatedNode"#define OGRN_VC         "ConnectedNode"#define OGRN_VE         "Edge"#define OGRN_VF         "Face"/* -------------------------------------------------------------------- *//*      FRID PRIM values.                                               *//* -------------------------------------------------------------------- */#define PRIM_P          1       /* point feature */#define PRIM_L          2       /* line feature */#define PRIM_A          3       /* area feature */#define PRIM_N          4       /* non-spatial feature  *//************************************************************************//*                          S57ClassRegistrar                           *//************************************************************************/#define MAX_CLASSES 23000#define MAX_ATTRIBUTES 25000class CPL_DLL S57ClassRegistrar{    // Class information:    int         nClasses;    char      **papszClassesInfo;    char     ***papapszClassesFields;    int         iCurrentClass;    char      **papszCurrentFields;    char      **papszTempResult;    // Attribute Information:    int         nAttrMax;    int         nAttrCount;    char      **papszAttrNames;    char      **papszAttrAcronym;    char     ***papapszAttrValues;    char       *pachAttrType;    char       *pachAttrClass;    int        *panAttrIndex; // sorted by acronym.    int         FindFile( const char *pszTarget, const char *pszDirectory,                          int bReportErr, FILE **fp );    const char *ReadLine( FILE * fp );    char      **papszNextLine;public:                S57ClassRegistrar();               ~S57ClassRegistrar();    int         LoadInfo( const char *, const char *, int );    // class table methods.    int         SelectClassByIndex( int );    int         SelectClass( int );    int         SelectClass( const char * );    int         Rewind() { return SelectClassByIndex(0); }    int         NextClass() { return SelectClassByIndex(iCurrentClass+1); }    int         GetOBJL();    const char *GetDescription();    const char *GetAcronym();    char      **GetAttributeList( const char * = NULL );    char        GetClassCode();    char      **GetPrimitives();    // attribute table methods.    int         GetMaxAttrIndex() { return nAttrMax; }    const char *GetAttrName( int i ) { return papszAttrNames[i]; }    const char *GetAttrAcronym( int i ) { return papszAttrAcronym[i]; }    char      **GetAttrValues( int i ) { return papapszAttrValues[i]; }    char        GetAttrType( int i ) { return pachAttrType[i]; }#define SAT_ENUM        'E'#define SAT_LIST        'L'#define SAT_FLOAT       'F'#define SAT_INT         'I'#define SAT_CODE_STRING 'A'#define SAT_FREE_TEXT   'S'    char        GetAttrClass( int i ) { return pachAttrClass[i]; }    int         FindAttrByAcronym( const char * );};/************************************************************************//*                            DDFRecordIndex                            *//*                                                                      *//*      Maintain an index of DDF records based on an integer key.       *//************************************************************************/typedef struct{    int         nKey;    DDFRecord   *poRecord;    void        *pClientData;} DDFIndexedRecord;class CPL_DLL DDFRecordIndex{    int         bSorted;    int         nRecordCount;    int         nRecordMax;    int         nLastObjlPos;            /* rjensen. added for FindRecordByObjl() */    int         nLastObjl;                  /* rjensen. added for FindRecordByObjl() */    DDFIndexedRecord *pasRecords;    void        Sort();public:                DDFRecordIndex();               ~DDFRecordIndex();    void        AddRecord( int nKey, DDFRecord * );    int         RemoveRecord( int nKey );    DDFRecord  *FindRecord( int nKey );    DDFRecord  *FindRecordByObjl( int nObjl );    /* rjensen. added for FindRecordByObjl() */    void        Clear();    int         GetCount() { return nRecordCount; }    DDFRecord  *GetByIndex( int i );    void        *GetClientInfoByIndex( int i );    void        SetClientInfoByIndex( int i, void *pClientInfo );};/************************************************************************//*                              S57Reader                               *//************************************************************************/class CPL_DLL S57Reader{    S57ClassRegistrar  *poRegistrar;    int                 nFDefnCount;    OGRFeatureDefn      **papoFDefnList;    OGRFeatureDefn      *apoFDefnByOBJL[MAX_CLASSES];    char                *pszModuleName;    char                *pszDSNM;    DDFModule           *poModule;    int                 nCOMF;  /* Coordinate multiplier */    int                 nSOMF;  /* Vertical (sounding) multiplier */    int                 bFileIngested;    DDFRecordIndex      oVI_Index;    DDFRecordIndex      oVC_Index;    DDFRecordIndex      oVE_Index;    DDFRecordIndex      oVF_Index;    int                 nNextVIIndex;    int                 nNextVCIndex;    int                 nNextVEIndex;    int                 nNextVFIndex;    int                 nNextFEIndex;    DDFRecordIndex      oFE_Index;    int                 nNextDSIDIndex;    DDFRecord           *poDSIDRecord;    DDFRecord           *poDSPMRecord;    char                szUPDNUpdate[10];    char                **papszOptions;    int                 nOptionFlags;     int                 iPointOffset;    OGRFeature          *poMultiPoint;    void                ClearPendingMultiPoint();    OGRFeature         *NextPendingMultiPoint();    OGRFeature         *AssembleFeature( DDFRecord  *, OGRFeatureDefn * );    void                ApplyObjectClassAttributes( DDFRecord *, OGRFeature *);    void                GenerateLNAMAndRefs( DDFRecord *, OGRFeature * );    void                GenerateFSPTAttributes( DDFRecord *, OGRFeature * );    void                AssembleSoundingGeometry( DDFRecord *, OGRFeature * );    void                AssemblePointGeometry( DDFRecord *, OGRFeature * );    void                AssembleLineGeometry( DDFRecord *, OGRFeature * );    void                AssembleAreaGeometry( DDFRecord *, OGRFeature * );    int                 FetchPoint( int, int,                                    double *, double *, double * = NULL );    int                 FetchLine( DDFRecord *, int, int, OGRLineString * );    OGRFeatureDefn     *FindFDefn( DDFRecord * );    int                 ParseName( DDFField *, int = 0, int * = NULL );    int                 ApplyRecordUpdate( DDFRecord *, DDFRecord * );    int                 bMissingWarningIssued;    int                 bAttrWarningIssued;  public:                        S57Reader( const char * );                       ~S57Reader();    void                SetClassBased( S57ClassRegistrar * );    void                SetOptions( char ** );    int                 GetOptionFlags() { return nOptionFlags; }    int                 Open( int bTestOpen );    void                Close();    DDFModule           *GetModule() { return poModule; }    const char          *GetDSNM() { return pszDSNM; }    void                Ingest();    int                 ApplyUpdates( DDFModule * );    int                 FindAndApplyUpdates( const char *pszPath=NULL );    void                Rewind();    OGRFeature          *ReadNextFeature( OGRFeatureDefn * = NULL );    OGRFeature          *ReadFeature( int nFID, OGRFeatureDefn * = NULL );    OGRFeature          *ReadVector( int nFID, int nRCNM );    OGRFeature          *ReadDSID( void );    int                 GetNextFEIndex( int nRCNM = 100 );    void                SetNextFEIndex( int nNewIndex, int nRCNM = 100 );    void                AddFeatureDefn( OGRFeatureDefn * );    int                 CollectClassList( int *, int);    OGRErr              GetExtent( OGREnvelope *psExtent, int bForce ); };/************************************************************************//*                              S57Writer                               *//************************************************************************/class CPL_DLL S57Writer{public:                        S57Writer();                        ~S57Writer();    void                SetClassBased( S57ClassRegistrar * );    int                 CreateS57File( const char *pszFilename );    int                 Close();    int                 WriteGeometry( DDFRecord *, int, double *, double *,                                       double * );    int                 WriteATTF( DDFRecord *, OGRFeature * );    int                 WritePrimitive( OGRFeature *poFeature );    int                 WriteCompleteFeature( OGRFeature *poFeature );    int                 WriteDSID( const char *pszDSNM = NULL,                                    const char *pszISDT = NULL,                                    const char *pszSTED = NULL,                                   int nAGEN = 0,                                   const char *pszCOMT = NULL );    int                 WriteDSPM( int nScale = 0 );private:    DDFModule           *poModule;    S57ClassRegistrar   *poRegistrar;    int                 nNext0001Index;    DDFRecord           *MakeRecord();    int                 nCOMF;  /* Coordinate multiplier */    int                 nSOMF;  /* Vertical (sounding) multiplier */};/* -------------------------------------------------------------------- *//*      Functions to create OGRFeatureDefns.                            *//* -------------------------------------------------------------------- */void           CPL_DLL  S57GenerateStandardAttributes( OGRFeatureDefn *, int );OGRFeatureDefn CPL_DLL *S57GenerateGeomFeatureDefn( OGRwkbGeometryType, int );OGRFeatureDefn CPL_DLL *S57GenerateObjectClassDefn( S57ClassRegistrar *,                                                     int, int );OGRFeatureDefn CPL_DLL  *S57GenerateVectorPrimitiveFeatureDefn( int, int );OGRFeatureDefn CPL_DLL  *S57GenerateDSIDFeatureDefn( void );#endif /* ndef _S57_H_INCLUDED */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀av性久久久久蜜臀aⅴ四虎| jlzzjlzz欧美大全| 亚洲制服丝袜av| 一区在线观看免费| 国产精品成人在线观看| 日本一区二区三区久久久久久久久不 | 色诱亚洲精品久久久久久| 粉嫩在线一区二区三区视频| 国产成人小视频| 国产麻豆精品在线| 成人深夜在线观看| 色诱亚洲精品久久久久久| 在线免费观看日韩欧美| 欧美日韩不卡一区二区| 91精品国产免费| 国产亚洲一本大道中文在线| 国产视频一区在线观看 | av午夜一区麻豆| 色88888久久久久久影院按摩| 在线观看成人小视频| 欧美日韩性生活| 欧美成人精品福利| 国产精品久久久久久一区二区三区| 日韩理论片在线| 午夜国产精品一区| 国内不卡的二区三区中文字幕| 成人免费看的视频| 欧美日韩情趣电影| 久久久国产综合精品女国产盗摄| 中文字幕免费观看一区| 亚洲v精品v日韩v欧美v专区| 国产一区二区三区四区在线观看| av成人免费在线观看| 91麻豆精品国产自产在线观看一区| www一区二区| 一区二区免费看| 国产精品一区一区三区| 色婷婷综合久色| 精品成人一区二区三区| 一区二区三区四区不卡视频| 久久国产视频网| 欧洲另类一二三四区| 久久九九影视网| 日本不卡的三区四区五区| 国产91色综合久久免费分享| 欧美一卡在线观看| 亚洲黄色小视频| 国产成人免费在线视频| 欧美一区二区三区小说| 亚洲人被黑人高潮完整版| 国产一区二区三区高清播放| 欧美日韩午夜在线视频| 尤物在线观看一区| jiyouzz国产精品久久| 精品国产网站在线观看| 亚洲a一区二区| 欧美自拍丝袜亚洲| 亚洲精品免费在线播放| 不卡的av在线播放| 国产视频亚洲色图| 久久国产剧场电影| 91精品国产高清一区二区三区 | 一区二区三区免费看视频| 国产成人在线免费观看| 日韩精品资源二区在线| 亚洲午夜免费福利视频| 色综合色狠狠天天综合色| 中文字幕一区在线| 成人av网址在线观看| 国产精品久久毛片| 成人h动漫精品一区二| 欧美韩日一区二区三区四区| 国产传媒欧美日韩成人| 国产日韩欧美亚洲| 粉嫩一区二区三区在线看| 国产精品女主播在线观看| 丁香网亚洲国际| **欧美大码日韩| 99精品久久只有精品| 亚洲最大成人综合| 欧美午夜理伦三级在线观看| 五月激情综合网| 欧美一级片在线观看| 美国欧美日韩国产在线播放| 精品国产免费久久| 国产一区二区精品久久91| 国产亚洲精品bt天堂精选| 国产成人av一区二区三区在线观看| 国产欧美日韩综合| 99在线视频精品| 亚洲成a人片在线观看中文| 91麻豆精品久久久久蜜臀| 国产自产v一区二区三区c| 久久久久久久久久久99999| 成人黄色免费短视频| 亚洲一区二区中文在线| 欧美一区二区网站| 国产成人综合亚洲91猫咪| 亚洲黄色尤物视频| 欧美mv日韩mv国产网站app| hitomi一区二区三区精品| 亚洲成人综合在线| 国产欧美视频一区二区| 91久久精品一区二区| 久久狠狠亚洲综合| 中文字幕视频一区| 日韩欧美国产系列| 成人97人人超碰人人99| 美女久久久精品| 亚洲久本草在线中文字幕| 日韩午夜激情电影| 一本大道久久a久久综合婷婷| 日本午夜一本久久久综合| 国产精品麻豆欧美日韩ww| 欧美精品亚洲二区| 91社区在线播放| 国内成人精品2018免费看| 亚洲超碰97人人做人人爱| 欧美极品少妇xxxxⅹ高跟鞋| 7777精品伊人久久久大香线蕉最新版| 久久精品久久综合| 亚洲国产日韩综合久久精品| 国产色婷婷亚洲99精品小说| 欧美日韩高清一区| 99视频超级精品| 国产福利精品一区二区| 日韩成人精品在线| 亚洲九九爱视频| 国产精品欧美一区二区三区| 精品久久久久久久人人人人传媒| 色视频欧美一区二区三区| 成人av免费在线观看| 国产麻豆精品theporn| 日本视频免费一区| 偷拍与自拍一区| 亚洲国产一二三| 夜夜精品视频一区二区| 成人欧美一区二区三区黑人麻豆| 久久精品欧美日韩精品| 精品日韩成人av| 日韩一区二区在线看| 欧美卡1卡2卡| 在线播放亚洲一区| 欧美区一区二区三区| 欧美综合久久久| 欧美色综合影院| 欧美日韩精品一区二区三区蜜桃| 日本道在线观看一区二区| 91小宝寻花一区二区三区| thepron国产精品| 91香蕉视频污在线| 色综合网色综合| 欧美在线观看视频在线| 欧美亚洲一区三区| 在线播放亚洲一区| 日韩一级在线观看| 久久精品网站免费观看| 国产亚洲欧美一级| 国产精品亲子伦对白| 中文字幕中文字幕一区| 亚洲人成人一区二区在线观看| 国产精品久久久久一区| 亚洲精品一卡二卡| 五月天欧美精品| 麻豆成人免费电影| 国产夫妻精品视频| 色综合久久久久综合体桃花网| 91看片淫黄大片一级在线观看| 91麻豆精品视频| 欧美日韩国产天堂| 久久你懂得1024| 亚洲欧美另类久久久精品| 午夜在线成人av| 国产美女精品一区二区三区| 国产成人在线视频网址| 色综合一区二区| 日韩天堂在线观看| 亚洲天堂中文字幕| 日韩有码一区二区三区| 国产成人99久久亚洲综合精品| 91一区二区三区在线观看| 在线播放中文一区| 国产精品午夜免费| 日韩一区欧美二区| 成人av在线资源网站| 欧美一区二区视频在线观看 | 国产一区二区在线观看视频| 不卡视频在线观看| 日韩欧美激情在线| 亚洲女厕所小便bbb| 精品一区二区av| 欧美在线视频你懂得| 欧美精品一区二区蜜臀亚洲| 亚洲精品国产视频| 国内精品伊人久久久久av一坑| 97久久超碰精品国产| 精品国产凹凸成av人导航| 一区二区三区日韩精品| 国产成人日日夜夜| 精品国产乱码久久久久久牛牛 |