📄 tabmapheaderblock.h
字号:
// tabmapheaderblock.h: interface for the TABMAPHeaderBlock class.///*--------------------------------------------------------------------- * class TABMAPHeaderBlock * * Class to handle Read/Write operation on .MAP Header Blocks *--------------------------------------------------------------------*/#ifndef TABMAPHeaderBlock_H#define TABMAPHeaderBlock_H#include "tabrawbinblock.h"class TABMAPHeaderBlock : public TABRawBinBlock {protected: TABProjInfo m_sProj;public: TABMAPHeaderBlock(TABAccess eAccessMode = TABRead); virtual ~TABMAPHeaderBlock(); virtual int CommitToFile(); virtual int InitBlockFromData(UGKByte *pabyBuf, int nSize, UGKBool bMakeCopy = TRUE, FILE *fpSrc = NULL, int nOffset = 0); virtual int InitNewBlock(FILE *fpSrc, int nBlockSize, int nFileOffset=0); virtual int GetBlockClass() { return TABMAP_HEADER_BLOCK; }; int Int2Coordsys(UGKInt32 nX, UGKInt32 nY, double &dX, double &dY); int Coordsys2Int(double dX, double dY, UGKInt32 &nX, UGKInt32 &nY, UGKBool bIgnoreOverflow=FALSE); int ComprInt2Coordsys(UGKInt32 nCenterX, UGKInt32 nCenterY, int nDeltaX, int nDeltaY, double &dX, double &dY); int Int2CoordsysDist(UGKInt32 nX, UGKInt32 nY, double &dX, double &dY); int Coordsys2IntDist(double dX, double dY, UGKInt32 &nX, UGKInt32 &nY); int SetCoordsysBounds(double dXMin, double dYMin, double dXMax, double dYMax); int GetMapObjectSize(int nObjType); UGKBool MapObjectUsesCoordBlock(int nObjType); int GetProjInfo(TABProjInfo *psProjInfo); int SetProjInfo(TABProjInfo *psProjInfo); virtual void Dump(FILE *fpOut = NULL); // Instead of having over 30 get/set methods, we'll make all data // members public and we will initialize them in the overloaded // LoadFromFile(). For this reason, this class should be used with care. UGKInt16 m_nMAPVersionNumber; UGKInt16 m_nBlockSize; double m_dCoordsys2DistUnits; UGKInt32 m_nXMin; UGKInt32 m_nYMin; UGKInt32 m_nXMax; UGKInt32 m_nYMax; UGKBool m_bIntBoundsOverflow; // Set to TRUE if coordinates // outside of bounds were written UGKInt32 m_nFirstIndexBlock; UGKInt32 m_nFirstGarbageBlock; UGKInt32 m_nFirstToolBlock; UGKInt32 m_numPointObjects; //点对象数目 UGKInt32 m_numLineObjects; //线对象数目 UGKInt32 m_numRegionObjects; //区域对象数目 UGKInt32 m_numTextObjects; //文本对象数目 UGKInt32 m_nMaxCoordBufSize; UGKByte m_nDistUnitsCode; // See Appendix F UGKByte m_nMaxSpIndexDepth; //索引树的深度 UGKByte m_nCoordPrecision; // Num. decimal places on coord. UGKByte m_nCoordOriginQuadrant; UGKByte m_nReflectXAxisCoord; UGKByte m_nMaxObjLenArrayId; // See gabyObjLenArray[] UGKByte m_numPenDefs; UGKByte m_numBrushDefs; UGKByte m_numSymbolDefs; UGKByte m_numFontDefs; UGKInt16 m_numMapToolBlocks; double m_XScale; double m_YScale; double m_XDispl; double m_YDispl;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -