⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tabview.h

📁 linux下一款GIS程序源码
💻 H
字号:
// tabview.h: interface for the TABView class.///*--------------------------------------------------------------------- *                      class TABView * * TABView is used to handle special type of .TAB files that are * composed of a number of .TAB datasets linked through some indexed  * fields. * * NOTE: The current implementation supports only TABViews composed *       of 2 TABFiles linked through an indexed field of integer type. *       It is unclear if any other type of views could exist anyways. *--------------------------------------------------------------------*/#ifndef  TABView_H#define  TABView_H#include "mapinfofile.h"#include "tabrelation.h"class TABView : public MapInfoFile  {private:    char        *m_pszFname;    TABAccess   m_eAccessMode;    char        **m_papszTABFile;    char        *m_pszVersion;    char        *m_pszCharset;        char        **m_papszTABFnames;    TABFile     **m_papoTABFiles;    int         m_numTABFiles;    int         m_nMainTableIndex; // The main table is the one that also                                    // contains the geometries    char        **m_papszFieldNames;    char        **m_papszWhereClause;    TABRelation *m_poRelation;    UGKBool       m_bRelFieldsCreated;    ///////////////    // Private Read access specific stuff    //    int         ParseTABFile(const char *pszDatasetPath,                              UGKBool bTestOpenNoError = FALSE);    int         OpenForRead(const char *pszFname,                             UGKBool bTestOpenNoError = FALSE );    ///////////////    // Private Write access specific stuff    //    int         OpenForWrite(const char *pszFname );    int         WriteTABFile();public:	TABView();	virtual ~TABView();    virtual TABFileClass GetFileClass() {return TABFC_TABView;}    virtual int Open(const char *pszFname, const char *pszAccess,                     UGKBool bTestOpenNoError = FALSE );    virtual int Close();    virtual const char *GetTableName()           {return m_poRelation?m_poRelation->GetFeatureDefn()->GetName():"";};    virtual void        ResetReading();    virtual int         TestCapability( const char * pszCap );    virtual int         GetFeatureCount (int bForce);    virtual int         GetExtent(UGKEnvelope *psExtent, int bForce);        ///////////////    // Read access specific stuff    //    virtual int GetNextFeatureId(int nPrevId);    virtual TABFeature *GetFeatureRef(int nFeatureId);    virtual UGKFeatureDefn *GetLayerDefn();    virtual TABFieldType GetNativeFieldType(int nFieldId);    virtual int GetBounds(double &dXMin, double &dYMin,                           double &dXMax, double &dYMax,                          UGKBool bForce = TRUE );        //virtual UGKSpatialReference *GetSpatialRef();    virtual int GetFeatureCountByType(int &numPoints, int &numLines,                                      int &numRegions, int &numTexts,                                      UGKBool bForce = TRUE);    virtual UGKBool IsFieldIndexed(int nFieldId);    virtual UGKBool IsFieldUnique(int nFieldId);    ///////////////    // Write access specific stuff    //    virtual int SetBounds(double dXMin, double dYMin,                           double dXMax, double dYMax);    virtual int SetFeatureDefn(UGKFeatureDefn *poFeatureDefn,                           TABFieldType *paeMapInfoNativeFieldTypes=NULL);    virtual int AddFieldNative(const char *pszName,                               TABFieldType eMapInfoType,                               int nWidth=0, int nPrecision=0,                               UGKBool bIndexed=FALSE, UGKBool bUnique=FALSE);    //virtual int SetSpatialRef(UGKSpatialReference *poSpatialRef);    virtual int SetFeature(TABFeature *poFeature, int nFeatureId = -1);    virtual int SetFieldIndexed(int nFieldId);    ///////////////    // semi-private.    virtual int  GetProjInfo(TABProjInfo *poPI)            { return m_nMainTableIndex!=-1?                     m_papoTABFiles[m_nMainTableIndex]->GetProjInfo(poPI):-1; }    virtual int  SetProjInfo(TABProjInfo *poPI)            { return m_nMainTableIndex!=-1?                     m_papoTABFiles[m_nMainTableIndex]->SetProjInfo(poPI):-1; }    virtual int  SetMIFCoordSys(const char * /*pszMIFCoordSys*/) {return -1;};    virtual void Dump(FILE *fpOut = NULL);};#endif 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -