📄 tabregion.h
字号:
// tabregion.h: interface for the TABRegion class.///*--------------------------------------------------------------------- * class TABRegion * * Feature class to handle the MapInfo region types: * * TAB_GEOM_REGION_C 0x0d * TAB_GEOM_REGION 0x0e * TAB_GEOM_V450_REGION_C 0x2e * TAB_GEOM_V450_REGION 0x2f * * Feature geometry will be returned as UGKPolygon (with a single ring) * or UGKMultiPolygon (for multiple rings). * * REGIONs with multiple rings are returned as UGKMultiPolygon instead of * as UGKPolygons since UGKPolygons require that the first ring be the * outer ring, and the other all be inner rings, but this is not guaranteed * inside MapInfo files. However, when writing features, UGKPolygons with * multiple rings will be accepted without problem. *--------------------------------------------------------------------*/#ifndef TABRegion_H#define TABRegion_H#include "tabfeaturepen.h"#include "tabfeature.h"#include "tabfeaturebrush.h"#include "ugkpolygon.h"#include "ugklinearring.h"class TABRegion : public TABFeature, public TABFeaturePen, public TABFeatureBrush { UGKBool m_bSmooth;private: UGKBool m_bCenterIsSet; double m_dCenterX, m_dCenterY; int ComputeNumRings(TABMAPCoordSecHdr **ppasSecHdrs, TABMAPFile *poMAPFile); int AppendSecHdrs(UGKPolygon *poPolygon, TABMAPCoordSecHdr * &pasSecHdrs, TABMAPFile *poMAPFile, int &iLastRing);public: TABRegion(UGKFeatureDefn *poDefnIn); virtual ~TABRegion(); virtual TABFeatureClass GetFeatureClass() { return TABFCRegion; }; virtual int ValidateMapInfoType(TABMAPFile *poMapFile = NULL); virtual TABFeature *CloneTABFeature(UGKFeatureDefn *poNewDefn = NULL ); int GetNumRings(); UGKLinearRing *GetRingRef(int nRequestedRingIndex); UGKBool IsInteriorRing(int nRequestedRingIndex); virtual int ReadGeometryFromMAPFile(TABMAPFile *poMapFile, TABMAPObjHdr *); virtual int WriteGeometryToMAPFile(TABMAPFile *poMapFile, TABMAPObjHdr *); virtual int ReadGeometryFromMIFFile(MIDDATAFile *fp); virtual int WriteGeometryToMIFFile(MIDDATAFile *fp); virtual const char *GetStyleString(); virtual void DumpMIF(FILE *fpOut = NULL); int GetCenter(double &dX, double &dY); void SetCenter(double dX, double dY);};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -