C++ 取得左下、左上、右上、右下角的点

void CCommonFuntion::GetCornerPoint(AcGePoint3dArray& inputptArr, AcGePoint3d& lefdownPt, AcGePoint3d& lefupPt, AcGePoint3d& rigthupPt, AcGePoint3d& rigthdownPt)
{

if (inputptArr.length() < 4)
return;
AcGePoint3d tempPoint = inputptArr[0];
for (int i = 1; i < inputptArr.length(); i++)
{
if (inputptArr[i].x <= tempPoint.x&&inputptArr[i].y <= tempPoint.y)
tempPoint = inputptArr[i];
}
lefdownPt = tempPoint;

tempPoint = inputptArr[0];
for (int i = 1; i < inputptArr.length(); i++)
{
if (inputptArr[i].x <= tempPoint.x&&inputptArr[i].y >= tempPoint.y)
tempPoint = inputptArr[i];
}
lefupPt = tempPoint;

tempPoint = inputptArr[0];
for (int i = 1; i < inputptArr.length(); i++)
{
if (inputptArr[i].x >= tempPoint.x&&inputptArr[i].y >= tempPoint.y)
tempPoint = inputptArr[i];
}
rigthupPt = tempPoint;

tempPoint = inputptArr[0];
for (int i = 1; i < inputptArr.length(); i++)
{
if (inputptArr[i].x >= tempPoint.x&&inputptArr[i].y <= tempPoint.y)
tempPoint = inputptArr[i];
}
rigthdownPt = tempPoint;

}

posted @ 2020-06-05 11:35  久龄  阅读(48)  评论(0编辑  收藏  举报