Difference between revisions of "GroupTPA"
From SCAR Divi Manual
(Created page with "==Definition== <source lang="scar" lines="false"> function GroupTPA(const TPA: TPointArray; const Dist: Integer): T2DPointArray; </source> ==Availability== SCAR Divi 3.28 > Curr...") |
|||
Line 25: | Line 25: | ||
ClearDebug; | ClearDebug; | ||
TPA := [Point(2, 5), Point(6, 9), Point(0, 0), Point(5, 5), Point(1, 1), Point(5, 7), Point(-2, 0)]; | TPA := [Point(2, 5), Point(6, 9), Point(0, 0), Point(5, 5), Point(1, 1), Point(5, 7), Point(-2, 0)]; | ||
− | ATPA := | + | ATPA := GroupTPA(TPA, 2); |
for i := 0 to High(ATPA) do | for i := 0 to High(ATPA) do | ||
WriteLn(TPAToStr(ATPA[i])); | WriteLn(TPAToStr(ATPA[i])); |
Revision as of 21:26, 19 October 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, one for every element in TPA which is also the first element of every subarray. Next it adds every point that is within the given distance Dist from that first point to the subarray. The function returns a T2DPointArray containing all the resulting TPointArrays.
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) (1,1);(0,0) (5,7);(5,5) (-2,0);(0,0)