////////////////////////////////////////////////////////////////////////////// //文件 DxfDC.h //主要功能: // //程序编写: 2005-12-07 ///////////////////////////////////////////////////////////////////////////// #pragma once #include "FormatDC.h" namespace NFormatWriter { class CDxfDC : public CFormatDC { public: CDxfDC(void); virtual ~CDxfDC(void); virtual void Initial(void) {} virtual int OutFront(void); virtual int OutEnd(void); virtual void SetPixel(double x, double y, COLORREF col); virtual void Draw(CInsertOld& m_insert); virtual void Draw(CInsertDraw& m_insert); virtual void Draw(CText& text, CCurveEx& curve); virtual void Draw(CSection& section,CRect8* rect=NULL); virtual void Ellipse(double x1, double y1, double x2, double y2); virtual void PaintRgn(CCurveEx& curve); virtual void Draw(CMesh &mesh); virtual void Draw(CImageInsert& image); virtual void FillSolidRect(CRect8& rect, COLORREF color); //virtual void LineTo(double x, double y); virtual void PolyLine(CPointList& dp); virtual void SelectClipRgn(CPointList* pPointList, int nMode=RGN_AND); //导出CGM或EPS等文件时,仅是为了填充符号时的边界剪辑问题 virtual void SetCurrentLayer(LPCTSTR strLayer); virtual COLORREF GetCurrentColor(void); //写数据 void DxfVertex(double x, double y, double z); void WriteSection(int nGroupCode, LPCTSTR value); void WriteSection(int nGroupCode, double value); void WriteSection(int nGroupCode, int value); void WriteSection16(int nGroupCode, int value); void WriteSection(int nGroupCode, COLORREF value); void CalibrateDxfName(CString& name); //校正为DXF文件中合法的字符串 long GetID(void); protected: long m_nIndex; }; };