Пример #1
0
        /// <summary>
        /// Draws a circular arc
        /// </summary>
        /// <param name="display">The display to draw to</param>
        /// <param name="arc">The circular arc</param>
        public void Render(ISpatialDisplay display, IClockwiseCircularArcGeometry arc)
        {
            ICircleGeometry circle     = arc.Circle;
            IWindow         extent     = CircleGeometry.GetExtent(circle);
            float           topLeftX   = display.EastingToDisplay(extent.Min.X);
            float           topLeftY   = display.NorthingToDisplay(extent.Max.Y);
            float           size       = 2.0f * display.LengthToDisplay(circle.Radius);
            float           startAngle = (float)(arc.StartBearingInRadians * MathConstants.RADTODEG - 90.0);
            float           sweepAngle = (float)(arc.SweepAngleInRadians * MathConstants.RADTODEG);

            display.Graphics.DrawArc(m_Pen, topLeftX, topLeftY, size, size, startAngle, sweepAngle);
        }
Пример #2
0
 /// <summary>
 /// Draws a circular arc
 /// </summary>
 /// <param name="display">The display to draw to</param>
 /// <param name="arc">The circular arc</param>
 public void Render(ISpatialDisplay display, IClockwiseCircularArcGeometry arc)
 {
     ICircleGeometry circle = arc.Circle;
     IWindow extent = CircleGeometry.GetExtent(circle);
     float topLeftX = display.EastingToDisplay(extent.Min.X);
     float topLeftY = display.NorthingToDisplay(extent.Max.Y);
     float size = 2.0f * display.LengthToDisplay(circle.Radius);
     float startAngle = (float)(arc.StartBearingInRadians * MathConstants.RADTODEG - 90.0);
     float sweepAngle = (float)(arc.SweepAngleInRadians * MathConstants.RADTODEG);
     display.Graphics.DrawArc(m_Pen, topLeftX, topLeftY, size, size, startAngle, sweepAngle);
 }