|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F>ļ<EFBFBD> CGDBXDraw.h
|
|
|
|
|
|
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
|
|
|
|
|
|
//
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д:
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
#include "formatdc.h"
|
|
|
|
|
|
#include "../IDcDraw.h"
|
|
|
|
|
|
//#include "ClibPDF\cpdflib.h"
|
|
|
|
|
|
#ifndef M_PI
|
|
|
|
|
|
# define M_PI 3.14159265358979323846 /* pi */
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#include "..\GdbxDefine.h"
|
|
|
|
|
|
#include "GeoMapGdbxWriter.h"
|
|
|
|
|
|
#include <unordered_map>
|
|
|
|
|
|
|
|
|
|
|
|
class CGDBXDraw :
|
|
|
|
|
|
public IDcDraw
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CGDBXDraw();
|
|
|
|
|
|
CGDBXDraw(CXyDC* pXyDC);
|
|
|
|
|
|
~CGDBXDraw();
|
|
|
|
|
|
void Create(CXyDC* pXyDC);
|
|
|
|
|
|
|
|
|
|
|
|
void InitDC();
|
|
|
|
|
|
void ReleaseDC();
|
|
|
|
|
|
void Close();
|
|
|
|
|
|
|
|
|
|
|
|
void SetGDBXData(CXy *xy);
|
|
|
|
|
|
void SetGDBXFilePath(const CString &path);
|
|
|
|
|
|
|
|
|
|
|
|
void Draw(CText& text, CCurveEx* pCurveRect = NULL) override;
|
|
|
|
|
|
void Draw(CText& text, COLORREF color) override; //<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
|
void Draw(CMText& mtext) override;
|
|
|
|
|
|
|
|
|
|
|
|
void Draw(CEllipse& elp, COLORREF Color) override;
|
|
|
|
|
|
void Draw(CCircle& circle, COLORREF Color) override;
|
|
|
|
|
|
void Draw(CInsertDraw& m_insert) override; //- <20><><EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
void Draw(CXyDC* pNewXyDC, CInsertDraw& m_insert) override;
|
|
|
|
|
|
void Draw(CInsertOld& m_insert) override;
|
|
|
|
|
|
void Draw(CXyDC* pInsertXyDC, CInsertOld& m_insert) override;
|
|
|
|
|
|
void Draw(CSection& section, CRect8* rect = NULL) override;
|
|
|
|
|
|
void Draw(CImageInsert& image) override; //-<2D><><EFBFBD><EFBFBD>ͼ
|
|
|
|
|
|
void Draw(CMesh& mesh) override;
|
|
|
|
|
|
void Draw(CMetaFile& mf) override; //ԭ<>ļ<EFBFBD><C4BC><EFBFBD>emf<6D><66><EFBFBD>Ų<EFBFBD><C5B2>룩
|
|
|
|
|
|
void Draw(CColorRuler& ruler, CColorBase& color) override;
|
|
|
|
|
|
void Draw(CPathFill& path, COLORREF fillColor, void* HowToViewCurve) override;
|
|
|
|
|
|
void Draw(C3DFaultageSurface& fs, COLORREF fillColor, void* HowToViewCurve) override;
|
|
|
|
|
|
|
|
|
|
|
|
void Draw(CProportion& proportion, COLORREF color) override;
|
|
|
|
|
|
|
|
|
|
|
|
void Draw(CCurveEx& curve, double l1, double l2) override;
|
|
|
|
|
|
void Draw(CCurveEx& m_curve) override;
|
|
|
|
|
|
void Draw(CCurveEx& curve, void* HowToViewCurve) override; //-
|
|
|
|
|
|
void Draw(CCurveEx& curve, COLORREF color, BOOL bSmoothHead = TRUE) override; //-
|
|
|
|
|
|
|
|
|
|
|
|
void Draw(CCurveRect& rt, void* HowToViewCurve) override;
|
|
|
|
|
|
void Draw(CCurveRect& curve, COLORREF color) override;
|
|
|
|
|
|
|
|
|
|
|
|
void Draw(CPointNameEx& point, void* HowToViewPoint) override; //-
|
|
|
|
|
|
void Draw(CPointCrossName& point, void* HowToViewPoint) override; //
|
|
|
|
|
|
void Draw(CPointTwoName& point, void* HowToViewPoint) override;
|
|
|
|
|
|
|
|
|
|
|
|
void Draw(CInsertDrawRect& idr) override;
|
|
|
|
|
|
void Draw(CArc& arc, void* HowToViewCurve) override;
|
|
|
|
|
|
void Draw(CArc& arc, COLORREF color) override;
|
|
|
|
|
|
void Draw(CFrame& frame, COLORREF color) override; //- <20>߿<DFBF><F2A3A8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void Draw(CNet& net, COLORREF colText, COLORREF colLine) override;
|
|
|
|
|
|
void Draw(CGridding& grid, COLORREF colText, COLORREF colLine) override; //- <20>߿<EFBFBD><DFBF><EFBFBD>γ<EFBFBD><CEB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void Draw(COtherDraw& od, void* HowToViewCurve) override;
|
|
|
|
|
|
void Draw(COtherDraw& od, COLORREF color) override;
|
|
|
|
|
|
void Draw(COleObject& ole) override;
|
|
|
|
|
|
void Draw(CTree& tree) override;
|
|
|
|
|
|
void Draw(CStation& cs) override;
|
|
|
|
|
|
void Draw(CCurveTV5& tv, void* HowToViewCurve) override;
|
|
|
|
|
|
void Draw(CScaleRuler& sr, COLORREF color) override;
|
|
|
|
|
|
void Draw(CRectLabel& rl, COLORREF color, void* HowToViewCurve) override;
|
|
|
|
|
|
|
|
|
|
|
|
void DrawArray(CMxn& mxn, COLORREF colFront, COLORREF colBack); //ǰ<><C7B0>ɫ<EFBFBD>뱳<EFBFBD><EBB1B3>ɫ
|
|
|
|
|
|
void Draw(CMxn& mxn, COLORREF colFront, COLORREF colBack);
|
|
|
|
|
|
void DrawGrid(CMxn& mxn);
|
|
|
|
|
|
|
|
|
|
|
|
void Draw(CHorizontalWell& horizontalwell, void* HowToViewCurve);
|
|
|
|
|
|
void Draw(CWellGroup& wellGroup);
|
|
|
|
|
|
|
|
|
|
|
|
void PolyLine(CPointList& dp);
|
|
|
|
|
|
void PaintRgn(LPPOINT sp, int count);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>Ƶ<EFBFBD>ǰGDBX<42>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>д<EFBFBD>뵽CustomSymbol<6F>ֶ<EFBFBD><D6B6>У<EFBFBD>
|
|
|
|
|
|
void DrawCurrentGDBXSymbol();
|
|
|
|
|
|
void WriteCurrentMarkXML(void *pDraw);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>߶<EFBFBD>
|
|
|
|
|
|
void DrawSymbolCCurve(CCurveEx& curve, COLORREF color, pugi::xml_node& node);
|
|
|
|
|
|
//<2F><><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>Բ
|
|
|
|
|
|
void DrawSymbolEllipse(CEllipse& ellipse, COLORREF color, pugi::xml_node& node);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>γ<EFBFBD><CEB3><EFBFBD>
|
|
|
|
|
|
void DrawGDBXFillRect(CRect8& rect, COLORREF color, const CString &lyerName);
|
|
|
|
|
|
//<2F><><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD>
|
|
|
|
|
|
void DrawGDBXProportionLine(std::vector<GDBXLINETO>& pointVec, CProportion& proportion, COLORREF color = 0);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ֻ<EFBFBD><D6BB>ƣ<EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD>ȣ<EFBFBD>
|
|
|
|
|
|
void DrawGDBXText(CText& text, COLORREF color, const CString &layerName, pugi::xml_node *parentNode = nullptr, int state = 0);
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>߶Σ<DFB6>ɫ<EFBFBD>꣩
|
|
|
|
|
|
void DrawGDBXLine(std::vector<GDBXLINETO>& pointVec, const CString &layerName, COLORREF color = 0);
|
|
|
|
|
|
//ɫ<><C9AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void DrawGDBXRulerImage(CColorRuler& ruler, CColorBase &color, COne *pOne);
|
|
|
|
|
|
void DrawGDBXRulerImage_Reversal(CColorRuler& ruler, CColorBase& color, COne* pOne);
|
|
|
|
|
|
//<2F><><EFBFBD>Ż<EFBFBD><C5BB><EFBFBD>
|
|
|
|
|
|
void DrawGDBXCInserDraw(CPointNameEx& point, COne *pOne, CHowToViewPoint* hp);
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>Mesh
|
|
|
|
|
|
void DrawGDBXCImageInsert(CImageInsert& image, COne *pOne);
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>Mesh
|
|
|
|
|
|
void DrawGDBXCColorRuler(CColorRuler& ruler, CColorBase& color, COne *pOne);
|
|
|
|
|
|
//<2F><><EFBFBD>Ʊ߿<C6B1>
|
|
|
|
|
|
void DrawGDBXNormalGrid();
|
|
|
|
|
|
//<2F><><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD>(GDBX<42><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DFBB><EFBFBD> ת<><D7AA><EFBFBD>в<EFBFBD><D0B2><EFBFBD>)
|
|
|
|
|
|
void DrawGDBXScale(CProportion& proportion, COLORREF color);
|
|
|
|
|
|
//<2F><><EFBFBD>Ʊ߿<C6B1>
|
|
|
|
|
|
void DrawGDBXGrid(CGridding& grid, COLORREF colText, COLORREF colLine);
|
|
|
|
|
|
//<2F>߿<EFBFBD><DFBF><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
void DrawGDBXGridPline(CGridding& grid, BOOL bDraw);
|
|
|
|
|
|
|
|
|
|
|
|
//ʸ<><CAB8>ͼλͼ
|
|
|
|
|
|
void DrawGDBXMeshVectorImage(CMesh& mesh);
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>ͼMesh
|
|
|
|
|
|
void DrawGDBXMeshVectorInsert(CxImage& image, CRect8 rtReal, CSize8 size8, COne* pOne);
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
void Clear();
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>Ƕ<EFBFBD>ת<EFBFBD><D7AA>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
|
|
|
|
|
|
double DegreesToRadians(double degrees);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* libarchive ѹ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param gdbxPath gdbxȫ·<EFBFBD><EFBFBD>
|
|
|
|
|
|
* \param outPath <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ȫ·<EFBFBD><EFBFBD>
|
|
|
|
|
|
* \return
|
|
|
|
|
|
*/
|
|
|
|
|
|
int CompressGdbxDirectory(const CString& gdbxPath, const CString& outPath);
|
|
|
|
|
|
|
|
|
|
|
|
//gdbxͷ<78><CDB7><EFBFBD><EFBFBD>Ϣ
|
|
|
|
|
|
int createGDBXHead();
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Base64 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param lineList <EFBFBD>㼯<EFBFBD><EFBFBD>
|
|
|
|
|
|
* \param length <EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* \return
|
|
|
|
|
|
*/
|
|
|
|
|
|
CString PolyDataMemoryBlock(const std::vector<GDBXLINETO>& lineList, int &length);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>Ϊʮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD>ת<EFBFBD><EFBFBD>Ϊ 2 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>дʮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param pData
|
|
|
|
|
|
* \param nLength
|
|
|
|
|
|
* \return
|
|
|
|
|
|
*/
|
|
|
|
|
|
CString ByteArrayToHexString(const BYTE* pData, size_t nLength);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> vector<GDBXLINETO> <EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ飬<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD>Ϊʮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param lineList <EFBFBD>㼯<EFBFBD><EFBFBD>
|
|
|
|
|
|
* \return
|
|
|
|
|
|
*/
|
|
|
|
|
|
CString EncryptBigPts(const vector<GDBXLINETO>& lineList);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>п<EFBFBD><EFBFBD><EFBFBD><EFBFBD>뻻<EFBFBD>з<EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param input <EFBFBD><EFBFBD>Ҫ<EFBFBD>ض<EFBFBD><EFBFBD>ַ<EFBFBD>
|
|
|
|
|
|
* \param num ÿ<EFBFBD>нضϳ<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* \param lineCount <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
* \return
|
|
|
|
|
|
*/
|
|
|
|
|
|
CString FormatStringWithLineBreaks(const CString &input,int lineWidth, int& lineCount);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ElementMap
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param void *
|
|
|
|
|
|
* \return COne *
|
|
|
|
|
|
*/
|
|
|
|
|
|
COne* FindElementMap(void *pValue);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><EFBFBD>ַ<EFBFBD>ת<EFBFBD><EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param cmd
|
|
|
|
|
|
* \return ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
|
|
|
|
|
|
*/
|
|
|
|
|
|
CString ReverseSuperAndSubConversion(CString cmd);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param markName
|
|
|
|
|
|
* \return int
|
|
|
|
|
|
*/
|
|
|
|
|
|
int FindMarkNumberMap(const CString& markName);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD>ɫת<EFBFBD><EFBFBD>RGB->RGBA
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param markName
|
|
|
|
|
|
* \return int
|
|
|
|
|
|
*/
|
|
|
|
|
|
COLORREF RGBToRGBA(COLORREF color);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>m_layerElement
|
|
|
|
|
|
*
|
|
|
|
|
|
* \param layerName
|
|
|
|
|
|
* \return pugi::xml_node
|
|
|
|
|
|
*/
|
|
|
|
|
|
pugi::xml_node FindLayerElementMap(const CString &layerName);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD>㼶˳<EFBFBD><EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
* \return CString
|
|
|
|
|
|
*/
|
|
|
|
|
|
CString GetLayerListOrder();
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|
|
|
|
|
* \return int
|
|
|
|
|
|
*/
|
|
|
|
|
|
int RemoveAllGDBXDirPath();
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>xml<EFBFBD>㼶Ԫ<EFBFBD><EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
*/
|
|
|
|
|
|
void NewXmlElementLayer(const CString& strLayer);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD>Ҳ㼶Ԫ<EFBFBD><EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
*/
|
|
|
|
|
|
CString FindLayerName(COne *pOne);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
*/
|
|
|
|
|
|
void ComputeCurveName(CCurveEx &curve, CCurveName *pName, int state, const CString& layerName);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>geomap4.5<EFBFBD>汾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
*
|
|
|
|
|
|
*/
|
|
|
|
|
|
CString EnsureCsPrefix(const CString& synbolName);
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>block<EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><EFBFBD>㼶
|
|
|
|
|
|
*
|
|
|
|
|
|
*/
|
|
|
|
|
|
CString FindBlockLayerName();
|
|
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
int m_metaFileNum; //Ԫ<>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
int m_version;
|
|
|
|
|
|
int m_layerIndex; //<2F><>¼<EFBFBD>㼶˳<E3BCB6><CBB3>
|
|
|
|
|
|
long n_shapeIdCount;
|
|
|
|
|
|
long n_markShapeID; //<2F><><EFBFBD><EFBFBD>ShapeID<49><44><EFBFBD><EFBFBD>
|
|
|
|
|
|
double m_scale;
|
|
|
|
|
|
double m_paperW, m_paperH; //ͼֽ<CDBC><D6BD><EFBFBD><EFBFBD>mm
|
|
|
|
|
|
CRect8 m_rect;
|
|
|
|
|
|
CSize8 m_unit;
|
|
|
|
|
|
CSize8 m_markscale;
|
|
|
|
|
|
CRect8 m_gdbxMarkRect; //gdbx<62><78><EFBFBD>ŷ<EFBFBD>Χ
|
|
|
|
|
|
|
|
|
|
|
|
CString m_xmlPath; //gdbx xml<6D>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
|
CString m_gdbxDirPath; //gdbx <20>ļ<EFBFBD><C4BC><EFBFBD>
|
|
|
|
|
|
CString m_filePath; //gdbx ѹ<><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><C2B7>
|
|
|
|
|
|
|
|
|
|
|
|
CGeoMapGdbxWriter* p_gdbx;
|
|
|
|
|
|
|
|
|
|
|
|
pugi::xml_document m_doc;
|
|
|
|
|
|
pugi::xml_node m_mapNode;
|
|
|
|
|
|
pugi::xml_node m_layersNode;
|
|
|
|
|
|
pugi::xml_node m_customSymbolNode;
|
|
|
|
|
|
|
|
|
|
|
|
int m_markNumber;
|
|
|
|
|
|
std::unordered_map<std::string, int> m_markNumberMap;
|
|
|
|
|
|
|
|
|
|
|
|
std::unordered_map<void*, COne*> m_elementMap;
|
|
|
|
|
|
CMapStringToPtrNoCase* p_CurrentGlobalMark = nullptr; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
CLayerList* p_LayerList;
|
|
|
|
|
|
std::unordered_map<std::string, pugi::xml_node> m_layerElementMap; //ͼ<><CDBC><EFBFBD>㼶
|
|
|
|
|
|
|
|
|
|
|
|
};
|