GroupTPAEx

From SCAR Divi Manual
Revision as of 22:29, 19 October 2011 by Freddy (talk | contribs) (Created page with "==Definition== <source lang="scar" lines="false"> function GroupTPAEx(const TPA: TPointArray; const XMax, YMax: Integer): T2DPointArray; </source> ==Availability== SCAR Divi 3.2...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Definition

function GroupTPAEx(const TPA: TPointArray; const XMax, YMax: 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

  • TPAGroupEx (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 from that first point to the subarray. The distance is given separately for the x and y components of the points in XDist and YDist. 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 := GroupTPAEx(TPA, 2, 1);
  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)
(1,1);(0,0)
(5,7)
(-2,0);(0,0)

See Also