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.
77 lines
2.0 KiB
C++
77 lines
2.0 KiB
C++
#pragma once
|
|
#include "FormatDC.h"
|
|
#include "GeoMapGdbWriter.h"
|
|
|
|
namespace NFormatWriter
|
|
{
|
|
class CGdbDC : public CFormatDC
|
|
{
|
|
public:
|
|
CGdbDC(void);
|
|
~CGdbDC(void);
|
|
virtual void Initial(void);
|
|
virtual int OutFront(void);
|
|
virtual int OutEnd(void);
|
|
virtual void PolyLine(CPointList& dp);
|
|
virtual void Draw(CText& text, CCurveEx& curve);
|
|
void Draw(CImageInsert& image);
|
|
void PaintRgn(CCurveEx& curve);
|
|
void Draw(CSection& section,CRect8* rect=NULL);
|
|
void Draw(CInsertDraw& m_insert);
|
|
void Draw(CInsertOld& m_insert);
|
|
|
|
BOOL OpenWrite(CString lpszPathName, bool bBinary = true); //打开写文件
|
|
BOOL OpenWrite(CFile *pFile); //打开写文件
|
|
//void Close(); //关闭写文件
|
|
void SetPictureRect(CRect8 rect);
|
|
CRect8 GetPictureRect(void);
|
|
void SetScaleFactor(double scaleFactor);
|
|
double GetScaleFactor(void);
|
|
//FILE* GetFile(void);
|
|
/*virtual void SetFile(FILE* pFile);*/
|
|
void SetUnit(CSize unit);
|
|
CSize GetUnit(void);
|
|
virtual void SetMapSize(CSize sz) {}
|
|
int BuildFileHead(void);
|
|
int BuildSymLib(void);
|
|
GMLayerHead BuildLayerHead(void);
|
|
int BuildPline(int size, IPoint *ip);
|
|
int BuildString(CText *text);
|
|
int BuildImage(long w,long h,CRect8 rect);
|
|
int BuildPolygon(int size, IPoint *ip);
|
|
int BuildSeismacSection(CSection& section);
|
|
int BuildElement(void);
|
|
int Amplify10(double num);
|
|
void DeleteObj(void);
|
|
public:
|
|
CGeoMapGdbWriter *m_gdb;
|
|
public:
|
|
CRect8 m_rect;
|
|
CSize m_unit;
|
|
double m_scaleFactor;
|
|
int m_headSize;
|
|
int m_symbolSize;
|
|
int m_polylineSize;
|
|
int m_textSize;
|
|
int m_polygonSize;
|
|
int m_multTextySize;
|
|
IPoint m_xyData;
|
|
list<IPoint> m_xyList;
|
|
|
|
int m_DataLength;
|
|
BYTE *m_imageData;
|
|
int m_imageSize;
|
|
int m_seismacSize;
|
|
|
|
int m_xScale;//地震剖面x方向刻度
|
|
int m_yScale;//地震剖面y方向刻度
|
|
int m_scale;//刻度比例 要求整数
|
|
int m_x1,m_y1,m_x2,m_y2;//图形计算边界 不通图件设置不同值
|
|
double m_w,m_h;//x2-x1 y2-y1实际宽高便于计算
|
|
int m_left,m_top,m_rignt,m_bottom;//图件边距mm
|
|
int m_paperW,m_paperH;//图纸宽高mm
|
|
};
|
|
|
|
}//namespace
|
|
|