📄 findwaydlg.h
字号:
// findwayDlg.h : 头文件
//
#pragma once
#include "Object.h"
#define MAX_POLYGON 200
#define MAX_WAY 1000
#define TIMELIMITE 2000
// CfindwayDlg 对话框
class CfindwayDlg : public CDialog
{
// 构造
public:
CfindwayDlg(CWnd* pParent = NULL); // 标准构造函数
// 对话框数据
enum { IDD = IDD_FINDWAY_DIALOG };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
private:
POINT m_CurPoint;
// 当前状态用于给用户提示
CString m_strHint;
CString m_strHint1;
CString m_strHint2;
//当前状态
/************************************************************************/
/* 0:初始、预备状态
1:给多边形画线
2:画多边形中心点
/************************************************************************/
int m_nState;
//多边形
ObjPolygon m_Polygon[MAX_POLYGON];
//多边形个数
int m_nNumPolygons;
ObjPolygon m_CurPolygon;
int m_nCurPoint;//当前操作的点
CDC *m_pDC;
//寻路的开始和结束点
POINT m_startPos,m_endPos;
// 路径长度
float m_fWayLength;
//开始寻路时间
DWORD m_dwStart;
// 检测直线AB是否有和多边形相交
bool CheckPolygon(POINT a, POINT b);
// 求路径
bool Run(ObjPointLen StartObj,POINT EndPos,POINT* pWay,float *lWayLength,int *nWayNum);
// 计算检测圆的半径 使用多边形m_CurPolygon
int ComputeRadius(POINT point);
// 绘画所有多边形
bool DrawPolygon(void);
// 检测点P是否位于某个多边形内
ObjPolygon * CheckPointInsidePolygon(POINT p);
// 调整终点位置
POINT AdjustEndPos(ObjPolygon *curPoly);
// 显示临时路径信息
bool m_DisplayTempWay;
// 实现
protected:
HICON m_hIcon;
// 生成的消息映射函数
virtual BOOL OnInitDialog();
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
afx_msg void OnRun32774();
afx_msg void OnExit32773();
afx_msg void OnOpenFile32771();
afx_msg void OnSaveFile32772();
afx_msg void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized);
afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
//清除重画
afx_msg void OnBnClickedButton2();
//显示所有调整点
afx_msg void OnBnClickedButton1();
afx_msg void OnFileNew32776();
// 显示临时路径信息
afx_msg void OnSystemDisplaytempway();
// 调整点距离在ADJUST函数使用
int m_nAdjLen;
// 角度限制值
int m_nAdjArc;
// 小于限制角度的调整点距离
int m_nAdjLenBig;
//调节权值比例的变量
float m_bl;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -