如何处理标注打架

1.先声明一个已有点集m_vctHasTopPtDim,用于保存所有点
2.定义一个函数,传入当前点,与已有点集比较
void CDimHelper::AdjustTopDim(McGePoint2d &ptCur)
{
	//遍历已经标注的点
	for(int i = 0; i<m_vctHasTopPtDim.size(); i++)
	{
		//找到打架的点(当前点的x坐标之差小于半径)
		if (DblLT(abs(ptCur.x-m_vctHasTopPtDim.at(i).x), 3*FETCHRADIUS*m_pBlock->GetUnitScaleFactor()))
		{
			//使当前点左移5个半径的距离
			ptCur.GetOffset(-5*FETCHRADIUS*m_pBlock->GetUnitScaleFactor(), 0);
		}
	}
	m_vctHasTopPtDim.push_back(ptCur);
}
3.在需要比较点的位置上调用函数



posted @ 2013-07-24 19:59  爱生活,爱编程  阅读(292)  评论(0编辑  收藏  举报