📄 obstaclepolygon.cpp
字号:
//////////////////////////////////////////////////////////////////////
// MuRoS - Multi Robot Simulator
//
// Luiz Chaimowicz
// GRASP Lab. University of Pennsylvania
// VERLab - DCC - UFMG - Brasil
//
// ObstaclePolygon.cpp: implementation of the CObstaclePolygon class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "simulator.h"
#include "ObstaclePolygon.h"
#include "const.h"
#include <math.h>
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
IMPLEMENT_SERIAL( CObstaclePolygon, CObstacle, 1 )
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CObstaclePolygon::CObstaclePolygon() : CObstacle()
{
m_polygon = new CPolygon();
}
CObstaclePolygon::~CObstaclePolygon()
{
}
CObstaclePolygon::CObstaclePolygon(CPolygon *polygon) : CObstacle()
{
m_polygon = new CPolygon(polygon);
m_rect = m_polygon->m_rect;
m_center = m_polygon->m_center;
m_radius = 0;
}
void CObstaclePolygon::SetObstacle(const CObstacle *obst)
{
CObstacle::SetObstacle(obst);
CObstaclePolygon *obstPoly = (CObstaclePolygon *) obst;
m_polygon = new CPolygon(obstPoly->m_polygon);
m_rect = m_polygon->m_rect;
m_center = m_polygon->m_center;
}
void CObstaclePolygon::Serialize(CArchive& ar)
{
CObstacle::Serialize(ar); // Base class method
m_polygon->Serialize(ar);
}
void CObstaclePolygon::Draw(CDC* pDC, BOOL drawErased)
{
if (!m_erased) {
pDC->SelectObject(&CYAN);
pDC->SelectStockObject(BLACK_PEN);
m_polygon->Draw(pDC);
}
else if (drawErased) {
pDC->SelectStockObject(NULL_BRUSH);
pDC->SelectObject(&BLACK);
m_polygon->Draw(pDC);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -