Difference between revisions of "GroupTPA"
From SCAR Divi Manual
| Line 13: | Line 13: | ||
==Description== | ==Description== | ||
| − | This function splits a given [[TPointArray]] '''TPA''' into separate TPointArrays, | + | This function splits a given [[TPointArray]] '''TPA''' into separate TPointArrays, by grouping points that are within the given distance '''Dist''' of the first point of each subarray. If a point isn't within the given distance of any first point of the subarrays, a new subarray is created containing that point as first one. |
==Example== | ==Example== | ||
| Line 36: | Line 36: | ||
(0,0);(1,1);(-2,0) | (0,0);(1,1);(-2,0) | ||
(5,5);(5,7) | (5,5);(5,7) | ||
| − | |||
| − | |||
| − | |||
==See Also== | ==See Also== | ||
Revision as of 18:58, 2 November 2011
Definition
function GroupTPA(const TPA: TPointArray; const Dist: Integer): T2DPointArray;
Availability
SCAR Divi 3.28 > Current
- Contained a bug 3.26-3.27 that caused the initial element in every subarray of the result to be duplicated inside of that subarray.
Aliases
- TPAGroup (SCAR Divi 3.26 > Current)
Description
This function splits a given TPointArray TPA into separate TPointArrays, by grouping points that are within the given distance Dist of the first point of each subarray. If a point isn't within the given distance of any first point of the subarrays, a new subarray is created containing that point as first one.
Example
var
TPA: TPointArray;
ATPA: T2DPointArray;
i: Integer;
begin
ClearDebug;
TPA := [Point(2, 5), Point(6, 9), Point(0, 0), Point(5, 5), Point(1, 1), Point(5, 7), Point(-2, 0)];
ATPA := GroupTPA(TPA, 2);
for i := 0 to High(ATPA) do
WriteLn(TPAToStr(ATPA[i]));
end.Output:
(2,5) (6,9) (0,0);(1,1);(-2,0) (5,5);(5,7)