private bool isRectangleShapeInPopup() { bool bCheck = false; CPointUI startPointUI, endPointUI; double dDistanceX, dDistanceZ; if (ListPointUI.Count != 4) { bCheck = false; } else { // 회전하지 않은 직사각형인지를 확인한다. for (int i = 0; i < 4; i++) { if (i != 3) { startPointUI = ListPointUI[i]; endPointUI = ListPointUI[i + 1]; } else { startPointUI = ListPointUI[i]; endPointUI = ListPointUI[0]; } dDistanceX = Math.Abs(Convert.ToDouble(startPointUI.StrCoordX) - Convert.ToDouble(endPointUI.StrCoordX)); dDistanceZ = Math.Abs(Convert.ToDouble(startPointUI.StrCoordZ) - Convert.ToDouble(endPointUI.StrCoordZ)); // 회전하지 않았으면 모든 라인은 수직이거나 수평이기 때문에 한쪽의 좌표의 거리는 0이 있어야 한다. if (CSmallUtil.isZeroPosition(dDistanceX) == true || CSmallUtil.isZeroPosition(dDistanceZ) == true) { bCheck = true; } else { bCheck = false; } } } return(bCheck); }
public bool isRectangle() { bool bCheck = false; CPoint startPoint, endPoint; double dDistanceX, dDistanceZ; if (m_listRelativePoint.Count != 4) { bCheck = false; } else { // 회전하지 않은 직사각형인지를 확인한다. for (int i = 0; i < 4; i++) { if (i != 3) { startPoint = m_listRelativePoint[i]; endPoint = m_listRelativePoint[i + 1]; } else { startPoint = m_listRelativePoint[i]; endPoint = m_listRelativePoint[0]; } dDistanceX = Math.Abs(startPoint.X - endPoint.X); dDistanceZ = Math.Abs(startPoint.Y - endPoint.Y); // 회전하지 않았으면 모든 라인은 수직이거나 수평이기 때문에 한쪽의 좌표의 거리는 0이 있어야 한다. if (CSmallUtil.isZeroPosition(dDistanceX) == true || CSmallUtil.isZeroPosition(dDistanceZ) == true) { bCheck = true; } else { bCheck = false; } } } return(bCheck); }