Description | Hierarchy | Fields | Methods | Properties |
type TSubPolygon = class(TObject)
TSubPolygon
is used to make determining whether a point is inside a TScreenObject faster and to make finding the nearest point on a line faster.
EvaluateSubPolygon
is used to help determine whether the point at X, Y is inside the TScreenObject
.IsAnyPointCloser
tests whether any point in the TScreenObject
is closer to Location than Distance.FOriginalCount: integer; |
|
FCount: integer; |
|
FMaxX: real; |
|
FMaxY: real; |
|
FMinX: real; |
|
FMinY: real; |
|
FStart: integer; |
|
FSubPolygon1: TSubPolygon; |
|
FSubPolygon2: TSubPolygon; |
|
FPoints: TRealPointArray; |
|
FSectionIndex: integer; |
procedure CreateSubPolygons(const Points: TRealPointArray; const Count, Start, Section: Integer); |
|
procedure SetMaxAndMinWhenNoSubPolygons(const Count, Start: Integer; const Points: TRealPointArray); |
|
procedure SetMaxAndMinFromSubPolygons; |
|
procedure InternalBoxIntersect(SubPolygons: TList; const BoxMinX, BoxMaxX, BoxMinY, BoxMaxY: Double); |
|
procedure EvaluateSubPolygon( const X, Y: real; var IsInside: boolean); |
|
constructor Create(const Points: TRealPointArray; const Count, Start, Section: integer); |
|
destructor Destroy; override; |
|
procedure GrowByOne; |
|
Procedure BoxIntersect(const Point1, Point2: TPoint2D; SubPolygons: TList); |
|
function IsPointInside(const X, Y: real): boolean; |
property SectionIndex: integer read FSectionIndex; |
FOriginalCount: integer; |
|
FCount: integer; |
|
|
FMaxX: real; |
|
|
FMaxY: real; |
|
|
FMinX: real; |
|
|
FMinY: real; |
|
|
FStart: integer; |
|
|
FSubPolygon1: TSubPolygon; |
|
|
FSubPolygon2: TSubPolygon; |
|
|
FPoints: TRealPointArray; |
|
FSectionIndex: integer; |
|
procedure CreateSubPolygons(const Points: TRealPointArray; const Count, Start, Section: Integer); |
|
procedure SetMaxAndMinWhenNoSubPolygons(const Count, Start: Integer; const Points: TRealPointArray); |
|
procedure SetMaxAndMinFromSubPolygons; |
|
procedure InternalBoxIntersect(SubPolygons: TList; const BoxMinX, BoxMaxX, BoxMinY, BoxMaxY: Double); |
|
procedure EvaluateSubPolygon( const X, Y: real; var IsInside: boolean); |
|
constructor Create(const Points: TRealPointArray; const Count, Start, Section: integer); |
|
Parameters
|
destructor Destroy; override; |
|
|
procedure GrowByOne; |
|
Procedure BoxIntersect(const Point1, Point2: TPoint2D; SubPolygons: TList); |
|
function IsPointInside(const X, Y: real): boolean; |
|
property SectionIndex: integer read FSectionIndex; |
|
If |