#pragma once #include "pugixml.hpp" #include #include #include "..\GdbxDefine.h" #include "GeoMapBase.h" namespace NFormatReader { namespace NGeoMapReader { class CGeoMapGdbxWriter : public CGeoMapBase { public: CGeoMapGdbxWriter(); ~CGeoMapGdbxWriter(); pugi::xml_node createXMLHead(pugi::xml_node& parentNode); pugi::xml_node createMap(pugi::xml_node& parentNode); void createMapInfo(pugi::xml_node& parentNode, const GDBXMapInfo& info); void createCoordSys(pugi::xml_node& parentNode, const GDBXProjection& info); void createMeasure(pugi::xml_node& parentNode, const GDBXMeasure& info); void createLayout(pugi::xml_node& parentNode); pugi::xml_node createCustomSymbol(pugi::xml_node& parentNode); pugi::xml_node createjgCustomTool(pugi::xml_node& parentNode, const GDBXRectInfo& info, int version); pugi::xml_node createjgEllipse(pugi::xml_node& parentNode, const GDBXCustomTool& info); pugi::xml_node createLayers(pugi::xml_node& parentNode, const GDBXLayers& info); pugi::xml_node createLayer(pugi::xml_node& parentNode, const GDBXLayerInfo& info); void createLayerInfo(pugi::xml_node& parentNode, const GDBXLayerInfo& info); void createDefShapes(pugi::xml_node& parentNode); pugi::xml_node createShapes(pugi::xml_node& parentNode); pugi::xml_node createShapess(pugi::xml_node& parentNode, int count); pugi::xml_node createAttribute(pugi::xml_node& parentNode); void createAnchor(pugi::xml_node& parentNode, const GDBXAnchor& info); pugi::xml_node createJgAnchor(pugi::xml_node& parentNode, const GDBXCustomTool& info); pugi::xml_node createJgPolyline(pugi::xml_node& parentNode, const GDBXCustomTool &info, int state); pugi::xml_node createJgPolygon(pugi::xml_node& parentNode, const GDBXCustomTool& info); pugi::xml_node createJgRectangle(pugi::xml_node& parentNode, const GDBXRectInfo& info); pugi::xml_node createJgScale(pugi::xml_node& parentNode, const GDBXScaleInfo& info); pugi::xml_node createJgNormalGrid(pugi::xml_node& parentNode, const GDBXNormalGridInfo& info); pugi::xml_node createJgLLGrid(pugi::xml_node& parentNode); pugi::xml_node createGroup(pugi::xml_node& parentNode, int code = 0); pugi::xml_node createJgIsoLine(pugi::xml_node& parentNode, const GDBXCustomTool& info); void createLabelPos(pugi::xml_node &parentNode); pugi::xml_node createJgText(pugi::xml_node& parentNode, const GDBXTextInfo &info); void createGMFONT(pugi::xml_node& parentNode, const std::string& str, const GDBXGMFONT &info); void createLableOffset(pugi::xml_node& parentNode); pugi::xml_node createSegments(pugi::xml_node& parentNode, const GDBXSegments &info); pugi::xml_node createMemoryBlock(pugi::xml_node& parentNode, const GDBXMemoryBlock& info); pugi::xml_node createjgWell(pugi::xml_node& parentNode, const GDBXWellInfo &info); pugi::xml_node createjgImage(pugi::xml_node& parentNode, const GDBXImageInfo& info); void createFillInfo(pugi::xml_node& parentNode, const GDBXFillInfo &info); void createTitleFont(pugi::xml_node& parentNode, const GDBXFontInfo &info); void createLabelFont(pugi::xml_node& parentNode, const GDBXFontInfo& info, bool state = true); void createTextFont(pugi::xml_node& parentNode, const GDBXFontInfo& info); void createFntFont(pugi::xml_node& parentNode, const GDBXFontInfo& info); void createLinkPoint(pugi::xml_node& parentNode); private: CString ConvertSizeToCString(const CSize8& size); CString ConvertRectToCString(const CRect8& rect); CString ConvertSizeToCString(const CSize& size); CString ConvertRectToCString(const CRect& rect); }; } }