📄 tabfeature.h
字号:
// tabfeature.h: interface for the TABFeature class.///*--------------------------------------------------------------------- * class TABFeature * * Extend the UGKFeature to support MapInfo specific extensions related * to geometry types, representation strings, etc. * * TABFeature will be used as a base class for all the feature classes. * * This class will also be used to instanciate objects with no Geometry * (i.e. type TAB_GEOM_NONE) which is a valid case in MapInfo. * * The logic to read/write the object from/to the .DAT and .MAP files is also * implemented as part of this class and derived classes. *--------------------------------------------------------------------*/#ifndef TABFeature_H#define TABFeature_H#include "ugkfeature.h"#include "tabmapfile.h"#include "tabdatfile.h"#include "tabmapobjhdr.h"#include "tabindfile.h"#include "middatafile.h"class TABFeature : public UGKFeature {protected: int m_nMapInfoType; double m_dXMin; //边界 double m_dYMin; double m_dXMax; double m_dYMax; UGKBool m_bDeletedFlag; void CopyTABFeatureBase(TABFeature *poDestFeature); UGKInt32 m_nXMin; UGKInt32 m_nYMin; UGKInt32 m_nXMax; UGKInt32 m_nYMax; UGKInt32 m_nComprOrgX; UGKInt32 m_nComprOrgY;public: TABFeature(UGKFeatureDefn *poDefnIn); virtual ~TABFeature(); virtual TABFeature *CloneTABFeature(UGKFeatureDefn *pNewDefn = NULL); virtual TABFeatureClass GetFeatureClass() { return TABFCNoGeomFeature; }; virtual int GetMapInfoType() { return m_nMapInfoType; }; virtual int ValidateMapInfoType(TABMAPFile *poMapFile = NULL) {m_nMapInfoType=TAB_GEOM_NONE; return m_nMapInfoType;}; UGKBool IsRecordDeleted() { return m_bDeletedFlag; }; void SetRecordDeleted(UGKBool bDeleted) { m_bDeletedFlag=bDeleted; }; /*----------------------------------------------------------------- * TAB Support *----------------------------------------------------------------*/ virtual int ReadRecordFromDATFile(TABDATFile *poDATFile); virtual int ReadGeometryFromMAPFile(TABMAPFile *poMapFile, TABMAPObjHdr *); virtual int WriteRecordToDATFile(TABDATFile *poDATFile, TABINDFile *poINDFile, int *panIndexNo); virtual int WriteGeometryToMAPFile(TABMAPFile *poMapFile, TABMAPObjHdr *); UGKBool ValidateCoordType(TABMAPFile * poMapFile); /*----------------------------------------------------------------- * Mid/Mif Support *----------------------------------------------------------------*/ virtual int ReadRecordFromMIDFile(MIDDATAFile *fp); virtual int ReadGeometryFromMIFFile(MIDDATAFile *fp); virtual int WriteRecordToMIDFile(MIDDATAFile *fp); virtual int WriteGeometryToMIFFile(MIDDATAFile *fp); void ReadMIFParameters(MIDDATAFile *fp); void WriteMIFParameters(MIDDATAFile *fp); void SetMBR(double dXMin, double dYMin, double dXMax, double dYMax); void GetMBR(double &dXMin, double &dYMin, double &dXMax, double &dYMax); virtual void DumpMID(FILE *fpOut = NULL); virtual void DumpMIF(FILE *fpOut = NULL);};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -