All Units

Name Description
uLazQuadTree

A general Quad-Tree for Objects (and arbitrary data) Copyright (C) 2023,2024 Ekkehard Domning (www.domis.de)

License: modified LGPL with linking exception (like RTL, FCL and LCL)

See the file COPYING.modifiedLGPL.txt, included in the Lazarus distribution, for details about the license.

Version Date Change 0.0.1 2023-04-27 First release 0.0.2 2024-05-25 Bugfixes, changes in visibility of virtual methods 0.0.3 2024-05-29 Caching for NodeItem-Positions and Area 0.0.4 2024-08-05 Using new ulazQuadTreeGeometry.pas for all rectangles 0.0.5 2024-08-24 Bugfixes for area items and cleanups, removing code duplicity 0.0.6 2024-08-30 Write and Read from Stream 0.0.7 2024-08-31 Speedup CoordIsInNodeRect 0.0.8 2024-09-14 OccupiedRect contains all items in one node. 0.0.9 2024-09-24 Renaming Declarations for streamlining

uLazQuadTreeGeometry

uLazQuadTreeGeometry.pas

Geometrical functions for the use with (but not limited to) the lazQuadTree

License: The same modified LGPL as the Free Pascal RTL See the file COPYING.modifiedLGPL for more details

Author: Ekkehard Domning (ekkehard@domning.eu)

Overview

The unit operates with 2D-objects on flat and flatened surfaces. The used coordinate system for all functions is orthogonal. The basic functions assume a default direction of the increment in the X- and Y-Axis. The progressive function gives the opportunity to change this. There are three word models to use: flat, cylindrical and toroidal. The latter two allows a seamless wrap-around from the right to the left edges (and vice versa), toroidal also on the top and bottom edges.

The most specific functions are the point in rectangle, point in polygon and the calculation of the kind of overlapping of two rectangles, including the covered areas.

Details are explained in the comments above the specific declarations.


Generated by PasDoc 0.16.0.