TPAFilterPie

From SCAR Divi Manual
Jump to: navigation, search

Definition

procedure TPAFilterPie(var TPA: TPointArray; const Center: TPoint; const RMin, RMax, AStart, AEnd: Extended);

Availability

SCAR Divi 3.28 > Current

Description

Filters all points from a given TPointArray TPA by removing all points that are inside of the given "pie" area. Center determines the center of the pie you are using. AStart and AEnd are the starting and ending angles given in radians which defines the slice of the pie area you which to extract. RMin and RMax represent the minimum and maximum radius from the center point int between which the extractable points are found. If RMin > RMax or AStart > AEnd, then the function will return without extracting any points.

Example

var
  TPA: TPointArray;

begin
  TPA := [Point(0, 0), Point(2, 2), Point(2, 3), Point(5, 10)];
  WriteLn(TPAToStr(TPA));
  TPAFilterPie(TPA, Point(0, 0), 2.5, 3, Pi / 8, 7 * Pi / 8);
  WriteLn('Filtered: ' + TPAToStr(TPA));
end.

Output:

(0,0);(2,2);(2,3);(5,10)
Filtered: (0,0);(2,3);(5,10)

See Also