SortATPAByMean

From SCAR Divi Manual
Jump to: navigation, search

Definition

procedure SortATPAByMean(var ATPA: T2DPointArray);

Availability

SCAR Divi 3.38 > Current

Aliases

  • SortATPAByMiddle (SCAR Divi 3.28 > 3.37)

Description

Sorts the given T2DPointArray ATPA by the distance of the arithmetic mean of the points of every non-empty subarray calculated with TPAMean to the origin (0,0) using the fast ShellSort algorithm. Empty subarrays are placed at the start of the array. An extended function with additional functionality is available as SortATPAByMeanEx.

Example

var
  ATPA: T2DPointArray;
  i: Integer;

begin
  SetLength(ATPA, 3);
  ATPA[0] := [Point(1, 6), Point(5, 4), Point(1, 5)];
  ATPA[1] := [Point(1, 1), Point(2, 2)];
  ATPA[2] := [Point(5, 10)];
  SortATPAByMean(ATPA);
  for i := 0 to High(ATPA) do
    WriteLn(TPAToStr(ATPA[i]));
end.

Output:

(1,1);(2,2)
(1,6);(5,4);(1,5)
(5,10)

See Also