[Overview][Types][Procedures and functions][Index] | Reference for unit 'GraphMath' (#lcl)

# PolyBezierArcPoints

PolyBezierArcPoints - convert an Arc and ArcLength into a Pointer Array of TPoints for use with Polyline or Polygon

## Declaration

Source position: graphmath.pp line 89

`procedure PolyBezierArcPoints(`
`X: LongInt;`
`Y: LongInt;`
`Width: LongInt;`
`Height: LongInt;`
`Angle1: Extended;`
`Angle2: Extended;`
`Rotation: Extended;`
`var Points: PPoint;`
`var Count: LongInt`
`);`

## Description

Method: PolyBezierArcPoints

    Params:   X, Y, Width, Height, Angle1, Angle2, Rotation, Points, Count
      Returns:  Nothing

      Use PolyBezierArcPoints to convert an Arc and ArcLength into a Pointer Array
      of TPoints for use with Polyline or Polygon. The Rotation parameter accepts
      a Rotation-Angle for a rotated Ellipse'- for a non-rotated ellipse this
      value would be 0, or 360. The result is an Aproximation based on 1 or more
      Beziers. If the AngleLength is greater than 45 degrees, it recursively breaks
      the Arc into Arcs of 45 degrees or less, and converts them into Beziers with
      BezierArcPoints. The angles are 1/16th of a degree. For example, a full circle
      equals 5760 (16*360). Positive values of Angle and AngleLength mean
      counter-clockwise while negative values mean clockwise direction. Zero
      degrees is at the 3'o clock position. Points is automatically initialized,
      so any existing information is lost, and the array starts at 0. Points
      should ALWAYS be Freed when done by calling to ReallocMem(Points, 0).

The latest version of this document can be found at lazarus-ccr.sourceforge.net.