Exemple #1
0
        public static Arc Calculate(IAperture aperture, Point centre, double radius, double arcHeadingDeg, double arcWidthDeg)
        {
            double arcHeadingRadians = arcHeadingDeg * (Math.PI / 180);
            double arcWidthRadians   = arcWidthDeg * (Math.PI / 180);

            double startAngle = arcHeadingRadians + (arcWidthRadians / 2);
            double endAngle   = arcHeadingRadians - (arcWidthRadians / 2);

            return(new Arc()
            {
                Aperture = aperture,
                Start = new Point()
                {
                    X = centre.X + (radius * Math.Cos(startAngle)),
                    Y = centre.Y + (radius * Math.Sin(startAngle))
                },
                End = new Point()
                {
                    X = centre.X + (radius * Math.Cos(endAngle)),
                    Y = centre.Y + (radius * Math.Sin(endAngle))
                },
                Centre = centre
            });
        }
Exemple #2
0
 public ArcFill(IAperture aperture, Point centre, double arcWidthDegrees, double arcHeadingDegrees, double radialInsideDistance, double radialOutsideDistance)
 {
     Aperture   = aperture;
     InsideArc  = Arc.Calculate(aperture, centre, radialInsideDistance, arcHeadingDegrees, arcWidthDegrees);
     OutsideArc = Arc.Calculate(aperture, centre, radialOutsideDistance, arcHeadingDegrees, arcWidthDegrees);
 }