procedure TPAFilterPie(var TPA: TPointArray; const Center: TPoint; const RMin, RMax, AStart, AEnd: Extended);
SCAR Divi 3.28 > Current
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.
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.
(0,0);(2,2);(2,3);(5,10) Filtered: (0,0);(2,3);(5,10)