📄 painted.cpp
字号:
// painted.cpp : implementation of the CPainted class
//
#include "stdafx.h"
#include "const.h"
#include "painted.h"
//#include "paintdoc.h"
//#include "line.h"
#include "Pnt.h"
#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CPainted
//IMPLEMENT_DYNAMIC(CPainted, CObject)
CPainted::CPainted()
{
m_rgbPrimary = RGB(0, 0, 0);// blue
m_nWidth = 1;
m_bhitarc=FALSE; //TRUE表示正圆弧被选中
m_pointPrimary = CPnt(0,0);
m_uPathId=120; //路径ID
m_fPathLimit=120.0f; //速度限制
m_uPathGuideType=2; //导航方式
m_uPathExtType=120; //路径扩展类型
m_uFigureType=0; //路径类型
m_uPathObstacle=120; //路径障碍物模式
m_uPathHeading=0; //路径车头方向
m_uStartNodeId=120; //起点ID
m_uStartNodeType=1; //起点类型
m_uStartNodeExtType=120;//起点扩展类型
m_uEndNodeId=120; //终点ID
m_uEndNodeType=1; //终点类型
m_uEndNodeExtType=120; //终点扩展类型
m_bSelect=FALSE; //TRUE表示图形元素被选中
m_uEndNodeState=0;//终点状态0=相切点1=非相切点2=断点
m_uStartNodeState=0;//起点状态0=相切点1=非相切点2=断点
m_bReferencePoint=FALSE;//参考点FALSE表示终点为参考点
m_fStartHeading=0;//起点车头方向角(度)
m_fEndHeading=0;//终点车头方向角(度)
m_bFirstMove=TRUE; //TRUE表示第一次移动
m_bSelectStartNode=FALSE; //TRUE表示图形元素起点被选中
m_bSelectEndNode=FALSE; //TRUE表示图形元素终点被选中
m_StartPostureAngle=0;//路段起点的姿态角(外射角)
m_EndPostureAngle=0;//路段终点的姿态角(外射角)
m_nDeviceId=0;//设备编号
m_nSomeStatus=0;//图形所处的状态
m_nStatusNumber=0;//设备的状态数量
}
void CPainted::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
ar << m_nWidth;
ar << m_rgbPrimary;
ar << m_pointPrimary;
ar << m_uStartNodeId;//起点ID
ar << m_uStartNodeType;//起点类型
ar << m_uStartNodeExtType;//起点扩展类型
ar << m_uEndNodeId;//终点ID
ar << m_uEndNodeType;//终点类型
ar << m_uEndNodeExtType;//终点扩展类型
ar << m_uFigureType; //路径类型
ar << m_uPathId; //路径ID
ar << m_fPathLimit; //速度限制
ar << m_uPathGuideType; //导航方式
ar << m_uPathExtType; //路径扩展类型
ar << m_uPathObstacle;//路径障碍物模式
ar << m_uPathHeading;//路径车头方向
ar << m_fStartHeading;//起点车头方向角(度)
ar << m_fEndHeading;//终点车头方向角(度)
ar << m_StartPostureAngle;//路段起点的姿态角(外射角)
ar << m_EndPostureAngle;
ar << m_uObjectType;//地图对象的类型0=路径1=建筑2=设备
ar << m_nDeviceId;//设备编号
ar << m_nSomeStatus;//图形所处的状态
ar << m_nStatusNumber;//设备的状态数量
}
else
{
ar >>m_nWidth;
ar >> m_rgbPrimary;
ar >> m_pointPrimary;
ar >> m_uStartNodeId;//起点ID
ar >> m_uStartNodeType;//起点类型
ar >> m_uStartNodeExtType;//起点扩展类型
ar >> m_uEndNodeId;//终点ID
ar >> m_uEndNodeType;//终点类型
ar >> m_uEndNodeExtType;//终点扩展类型
ar >> m_uFigureType; //路径类型
ar >> m_uPathId; //路径ID
ar >> m_fPathLimit; //速度限制
ar >> m_uPathGuideType; //导航方式
ar >> m_uPathExtType; //路径扩展类型
ar >> m_uPathObstacle;//路径障碍物模式
ar >> m_uPathHeading;//路径车头方向
ar >> m_fStartHeading;//起点车头方向角(度)
ar >> m_fEndHeading;//终点车头方向角(度)
ar >> m_StartPostureAngle;//路段起点的姿态角(外射角)
ar >> m_EndPostureAngle;
ar >> m_uObjectType;//地图对象的类型0=路径1=建筑2=设备
ar >> m_nDeviceId;//设备编号
ar >> m_nSomeStatus;//图形所处的状态
ar >> m_nStatusNumber;//设备的状态数量
}
}
void CPainted::NormalizePoints(CPnt& pointTopLeft, CPnt& pointBottomRight)
{
if (pointTopLeft.x >= pointBottomRight.x &&
pointTopLeft.y >= pointBottomRight.y)
{
double swap;
swap = pointBottomRight.y;
pointBottomRight.y = pointTopLeft.y;
pointTopLeft.y = swap;
swap = pointBottomRight.x;
pointBottomRight.x = pointTopLeft.x;
pointTopLeft.x = swap;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -