You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

84 lines
3.6 KiB
C

1 month ago
#pragma once
#include "pugixml.hpp"
#include <iostream>
#include <string>
#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);
};
}
}