Example #1
0
 public Arc(Point basePoint, Point endPoint, Line normalLine)
 {
     if (basePoint != endPoint && !new Direction(basePoint, endPoint).IsPerpendicularTo(normalLine.Direction))
     {
         throw new GeometricException();
     }
     var projected = basePoint.ProjectOntoLine(normalLine);
     if (projected == basePoint)
     {
         throw new GeometricException();
     }
     this.BasePoint = basePoint;
     this.EndPoint = endPoint;
     this.CenterPoint = projected;
     this.NormalDirection = normalLine.Direction;            
 }