⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 graphexpdoc.h

📁 实现了区域填充已经其他画线功能
💻 H
字号:
// GraphExpDoc.h : interface of the CGraphExpDoc class
//
/////////////////////////////////////////////////////////////////////////////
#include"iostream.h"
#include "Line.h"
#include <vector>
using namespace std;

#include "graphexpview.h"
#if !defined(AFX_GRAPHEXPDOC_H__74E7415A_56E8_444E_832B_D0DFD47330DA__INCLUDED_)
#define AFX_GRAPHEXPDOC_H__74E7415A_56E8_444E_832B_D0DFD47330DA__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "CB2Line.h"

#include "Rect3D.h"	

// Added by ClassView
class CGraphExpDoc : public CDocument
{
protected: // create from serialization only

	vector<CLine>m_vLines;
	vector<CPoint>m_vPoints;
	vector  <CB_Line> m_vB2Lines;
	vector  <CB_Line> m_vB3Lines;
	vector  <CB_Line> m_vBezier2;
	vector  <CB_Line> m_vBezier3;
	vector  <CB_Line> m_vBezierN;
	vector  <CRect3D>m_vRect3;
	CPoint m_pStart,m_pEnd;
	CPoint m_pStartB,m_pEndB;
	CPoint m_pCircle;
	int m_mCircleR;
	CPoint m_pCircleP;
	int m_pCircleR;
	COLORREF m_color;
	COLORREF m_colorB;
	COLORREF m_colorM;
	COLORREF m_colorP;

	CGraphExpDoc();
	DECLARE_DYNCREATE(CGraphExpDoc)

// Attributes
public:

// Operations
public:


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CGraphExpDoc)
	public:
	virtual BOOL OnNewDocument();
	virtual void Serialize(CArchive& ar);
	//}}AFX_VIRTUAL

// Implementation
public:
	int GetRect3Number();
	CRect3D GetRect3(int index);
	void AddRect3(COLORREF  color,CPoint pStart,CPoint pEnd);
	int GetBezierNLineNumber();
	CB_Line Get_BezierN_Line(int index);
	void Add_BezierN_Line(CPoint *m_Bezier,int num,COLORREF color);
	int GetBezier3LineNumber();
	CB_Line Get_Bezier3_Line(int index);
	void Add_Bezier3_Line(CPoint m_p1,CPoint m_p2,CPoint m_p3,CPoint m_p4,COLORREF color);
	int GetBezier2LineNumber();
	CB_Line Get_Bezier2_Line(int index);
	void Add_Bezier2_Line(CPoint m_p1,CPoint m_p2,CPoint m_p3,COLORREF color);
	int GetB3LineNumber();
	CB_Line Get_B3_Line(int index);
	void Add_B3_Line(CPoint m_p1,CPoint m_p2,CPoint m_p3,CPoint m_p4,COLORREF color);
	int GetB2LineNumber();
	CB_Line Get_B2_Line(int index);
	void Add_B2_Line(CPoint m_p1,CPoint m_p2,CPoint m_p3,COLORREF color);
	void DrawRect(CDC *pDC);
	CPoint m_RngRD;
	CPoint m_RngLU;
	void AddRect(CPoint m_RctLU,CPoint m_RctRD);
	void ClipSHRect(CPoint m_RctLU, CPoint m_RctRD);
	void ClipSHLineD(CPoint blan);
	void ClipSHLineU(CPoint blan);
	void ClipSHLineR(CPoint blan);
	void ClipSHLineL(CPoint blan);
	void DrawPloygon(CDC *pDC);
	int m_nPloy;
	void AddPloygon(CPoint *m_Ploy,int m_numPloy);
	CPoint* m_Ploygon;
	void ClipBarskyLine(CPoint m_RctLU,CPoint m_RctRD);
	int ClipBarskyTest(float p,float q,float *u1,float *u2);
	void ClipCohen(CPoint m_RctLU,CPoint m_RctRD);
	void Code(CPoint m_pnt,CPoint m_RctLU, CPoint m_RctRD,int &c);
	CPoint LineSetD(CPoint m_RctLU,CPoint m_RctRD);
	CPoint LineSetU(CPoint m_RctLU,CPoint m_RctRD);
	CPoint LineSetR(CPoint m_RctLU,CPoint m_RctRD);
	CPoint LineSetL(CPoint m_RctLU,CPoint m_RctRD);
	void SlipPoint(CPoint m_RctLU,CPoint m_RctRD);
	void DrawPoint(CDC *pDC);
	int GetPointNumber();
	CPoint GetPoint(int index);
	void AddPoint(CPoint m_pnt);
	void DrawPnarc(CDC *pDC);
	void AddPnarc(int x0, int y0, int r, COLORREF crColor);
	void DrawMidpointCircle(CDC *pDC);
	void AddMidpointCircle(int x0, int y0, int r, COLORREF crColor);
	void DrawLineBresenham(CDC *pDC);
	void DrawLineDDA(CDC *pDC);
	void AddLineDDA(int x1,int y1,int x2,int y2,COLORREF crColor);
	void AddLineBresenham(int x1,int y1,int x2,int y2,COLORREF crColor);
	void AddLineDDA(CDC *pDC,int x1,int y1,int x2,int y2,COLORREF crColor);
	virtual void DeleteContents();
	int GetLineNumber();
	CLine GetLine(int index);
	void AddLine(CPoint pntStart,CPoint pntEnd);
	virtual ~CGraphExpDoc();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:

// Generated message map functions
protected:
	//{{AFX_MSG(CGraphExpDoc)
	afx_msg void OnEditUndo();
	afx_msg void OnUpdateEditUndo(CCmdUI* pCmdUI);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_GRAPHEXPDOC_H__74E7415A_56E8_444E_832B_D0DFD47330DA__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -