📄 tabseamless.h
字号:
// tabseamless.h: interface for the TABSeamless class.////////////////////////////////////////////////////////////////////////#ifndef TABSeamless_H#define TABSeamless_H#include "mapinfofile.h"#include "tabfile.h"class TABSeamless : public MapInfoFile { private: char *m_pszFname; char *m_pszPath; TABAccess m_eAccessMode; UGKFeatureDefn *m_poFeatureDefnRef; TABFile *m_poIndexTable; int m_nTableNameField; int m_nCurBaseTableId; TABFile *m_poCurBaseTable; UGKBool m_bEOF; /////////////// // Private Read access specific stuff // int OpenForRead(const char *pszFname, UGKBool bTestOpenNoError = FALSE ); int OpenBaseTable(TABFeature *poIndexFeature, UGKBool bTestOpenNoError = FALSE); int OpenBaseTable(int nTableId, UGKBool bTestOpenNoError = FALSE); int OpenNextBaseTable(UGKBool bTestOpenNoError =FALSE); int EncodeFeatureId(int nTableId, int nBaseFeatureId); int ExtractBaseTableId(int nEncodedFeatureId); int ExtractBaseFeatureId(int nEncodedFeatureId);public: TABSeamless(); virtual ~TABSeamless(); virtual TABFileClass GetFileClass() {return TABFC_TABSeamless;} virtual int Open(const char *pszFname, const char *pszAccess, UGKBool bTestOpenNoError = FALSE ); virtual int Close(); virtual const char *GetTableName() {return m_poFeatureDefnRef?m_poFeatureDefnRef->GetName():"";}; //virtual void SetSpatialFilter( UGKGeometry * ); 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) {return -1;} virtual int SetFeatureDefn(UGKFeatureDefn *poFeatureDefn, TABFieldType *paeMapInfoNativeFieldTypes=NULL) {return -1;} virtual int AddFieldNative(const char *pszName, TABFieldType eMapInfoType, int nWidth=0, int nPrecision=0, UGKBool bIndexed=FALSE, UGKBool bUnique=FALSE) {return -1;} //virtual int SetSpatialRef(UGKSpatialReference *poSpatialRef) {return -1;} virtual int SetFeature(TABFeature *poFeature, int nFeatureId = -1) {return -1;} virtual int SetFieldIndexed(int nFieldId) {return -1;} /////////////// // semi-private. virtual int GetProjInfo(TABProjInfo *poPI) { return m_poIndexTable?m_poIndexTable->GetProjInfo(poPI):-1; } virtual int SetProjInfo(TABProjInfo *poPI) { return -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 + -