public ShapePath.FlagsAndCommand vertex(out double x, out double y) { x = 0; y = 0; if (ShapePath.is_stop(m_NextPathCommand)) { return(ShapePath.FlagsAndCommand.CommandStop); } if ((m_CurrentFlatenAngle < endAngle - flatenDeltaAngle / 4) != ((int)EDirection.CounterClockWise == 1)) { x = originX + Math.Cos(endAngle) * radiusX; y = originY + Math.Sin(endAngle) * radiusY; m_NextPathCommand = ShapePath.FlagsAndCommand.CommandStop; return(ShapePath.FlagsAndCommand.CommandLineTo); } x = originX + Math.Cos(m_CurrentFlatenAngle) * radiusX; y = originY + Math.Sin(m_CurrentFlatenAngle) * radiusY; m_CurrentFlatenAngle += flatenDeltaAngle; ShapePath.FlagsAndCommand CurrentPathCommand = m_NextPathCommand; m_NextPathCommand = ShapePath.FlagsAndCommand.CommandLineTo; return(CurrentPathCommand); }
public ShapePath.FlagsAndCommand vertex(out double x, out double y) { x = 0; y = 0; if (ShapePath.is_stop(m_NextPathCommand)) { return ShapePath.FlagsAndCommand.CommandStop; } if ((m_CurrentFlatenAngle < endAngle - flatenDeltaAngle / 4) != ((int)EDirection.CounterClockWise == 1)) { x = originX + Math.Cos(endAngle) * radiusX; y = originY + Math.Sin(endAngle) * radiusY; m_NextPathCommand = ShapePath.FlagsAndCommand.CommandStop; return ShapePath.FlagsAndCommand.CommandLineTo; } x = originX + Math.Cos(m_CurrentFlatenAngle) * radiusX; y = originY + Math.Sin(m_CurrentFlatenAngle) * radiusY; m_CurrentFlatenAngle += flatenDeltaAngle; ShapePath.FlagsAndCommand CurrentPathCommand = m_NextPathCommand; m_NextPathCommand = ShapePath.FlagsAndCommand.CommandLineTo; return CurrentPathCommand; }
public void rewind(int unused) { m_NextPathCommand = ShapePath.FlagsAndCommand.CommandMoveTo; m_CurrentFlatenAngle = startAngle; }
public void rewind(int unused) { m_NextPathCommand = ShapePath.FlagsAndCommand.CommandMoveTo; m_CurrentFlatenAngle = startAngle; }