Polygon.h
上传用户:ckg1000
上传日期:2013-01-26
资源大小:630k
文件大小:2k
源码类别:

CAD

开发平台:

Visual C++

  1. // Polygon.h: interface for the CPolygon class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_POLYGON_H__392610C9_A69D_4CFE_A0BD_A7A13714FC7D__INCLUDED_)
  5. #define AFX_POLYGON_H__392610C9_A69D_4CFE_A0BD_A7A13714FC7D__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "Trigon.h"
  10. #include "Shape.h"
  11. extern enum STATUS;
  12. class CPolygon : public CShape  
  13. {
  14. public:
  15. void SetAngle(int angle);
  16. bool SelectOnePt(CDC *pDC,CPoint point);
  17. void SetPosBorder( POINT* point );
  18. POINT* GetPosBorder();
  19. void SetPosEnd(CPoint point);
  20. void SetPosBegin(CPoint point);
  21. CPoint GetPosEnd();
  22. CPoint GetPosBegin();
  23. void SetSide(int side);
  24. void SetBorder(int i);
  25. CPolygon();
  26. virtual ~CPolygon();
  27. virtual void OnLbuttondown(CDC *pDC,CPoint point);
  28. virtual void Onmousemove(CDC *pDC,CPoint point);
  29. int Distance(POINT Pt1, POINT Pt2);
  30. void CalculateTopPt(POINT PtArray[], int nRadius);
  31. void Draw(CDC *pDC,POINT topPt[], POINT OldTopPt[]);
  32. void Update(CDC *pDC);
  33. bool IsOnPolygon(POINT curPt);
  34. void DrawRound(CDC *pDC,COLORREF colorRound = RGB(255,0,0) );
  35. bool Select(CDC *pDC,CPoint point);
  36. void Move(CDC *pDC,CPoint point);
  37. void Mirror(CDC *pDC,CPoint point);
  38. void Zoom(CDC *pDC,CPoint point);
  39. void Rotate(CDC *pDC,CPoint point);
  40. POINT CalRotatePt(POINT ptCenter,POINT ptPos,double dbAngle);
  41. POINT GetMirPt(const POINT& ptBegin, const POINT& ptEnd,POINT ptCur);
  42. void DrawMirLine(CDC *pDC,POINT MirBegPt, POINT MirEndPt);
  43. void KillMirLine(CDC *pDC);
  44. void OnMirLBtnDn(CDC *pDC,CPoint point);
  45. POINT CaleSignPt(POINT centPt, POINT orderPt);
  46. void Delete(CDC *pDC);
  47. static int m_nSide;               //边数
  48. static int m_angle;
  49. POINT m_centPt;            //中心点
  50. POINT *m_topPt;            //指向的各顶点
  51. POINT m_endPt;
  52. POINT m_oldPt;
  53. int m_Radius;             //半径
  54. POINT m_MirCentPt;        //镜像后的中心点
  55. POINT *m_MirTopPt;        //镜像后指向的各顶点
  56. POINT m_MirBegPt;         //镜像直线起点
  57. POINT m_MirEndPt;
  58. /* COLORREF m_colorPen;      //边框色
  59. COLORREF m_colorBrush;    //背景色
  60. int m_PenStyle;           //画笔样式
  61. int m_PenWidth;           //画笔宽度*/
  62. STATUS m_status;
  63. };
  64. #endif // !defined(AFX_POLYGON_H__392610C9_A69D_4CFE_A0BD_A7A13714FC7D__INCLUDED_)