Difference between revisions of "SortTPA"

From SCAR Divi Manual
Jump to: navigation, search
Line 9: Line 9:
 
===Aliases===
 
===Aliases===
 
*TPASort (SCAR Divi 3.26 > 3.37)
 
*TPASort (SCAR Divi 3.26 > 3.37)
 +
 +
===Notes===
 +
*Before 3.38, this function threw exceptions for points with large coordinate values (over +/- 30000 in either direction from 0)
  
 
==Description==
 
==Description==

Revision as of 17:49, 25 November 2012

Definition

procedure SortTPA(var TPA: TPointArray);

Availability

SCAR Divi 3.28 > Current

Aliases

  • TPASort (SCAR Divi 3.26 > 3.37)

Notes

  • Before 3.38, this function threw exceptions for points with large coordinate values (over +/- 30000 in either direction from 0)

Description

Sorts a given TPointArray TPA by distance from the origin (0, 0) using the fast ShellSort algorithm. An extended function with additional functionality is available as SortTPAEx.

Example

var
  TPA: TPointArray;

begin
  TPA := [Point(2, 2), Point(0, 0), Point(5, 10), Point(0, 0)];
  SortTPA(TPA);
  WriteLn(TPAToStr(TPA));
end.

Output:

(0,0);(0,0);(2,2);(5,10)

See Also