# All Functions and Procedures

Name Unit Description

Builds an arc between points A,B with the center at the point Center
O - the point of connection of the segments (may coincide with the Center)
EdgesCount - number of segments
The resulting triangles are added to Arc
Result = arc length

Builds a square on the segment A:B in the opposite direction of the Opposite.

Adds triangles to connect two segments at the intersection point outside of these segments. A1:A2 the first segment. B1:B2 is the second segment. O is the junction point of the triangles.
As a result, construct triangles (O,A2,cross) and (O,B2,cross).
Result = length of the constructed segments

Builds a half square on the segment A:B in the opposite direction Opposite

Builds a semicircle on the segment A:B in the opposite direction Opposite
EdgesCount - number of segments
The resulting triangles are added to Arc

Builds a rectangle whose axis of symmetry is the segment A:B.
Creates 0..5 points 4 point equals 0 point. 5 point equals 2 point
If A.X<B.X, the zero point is the lower left
If A.X>B.X, the zero point is the upper right
If A.X=B.X and A.Y<B.Y the zero point is the lower right
If A.X=B.X and A.Y>B.Y, the zero point is the upper left
Traversing the rectangle clockwise
width - height of the rectangle

Builds a square with one corner rounded on the segment A:B in the direction opposite to the Opposite. EdgesCount - the number of arc segments. Result = arc length.

Adds a triangle to the Arc

Builds a rectangular isosceles triangle on the segment A:B in the opposite direction Opposite. Hypotenuse - A:B

Builds a rectangular isosceles triangle on the segment A:B in the direction opposite to the Opposite. Hypotenuse - A:New Point

CrossingSegments CastleLine2DMath

Intersection of segments A1:A2, B1:B2
1 if there is one intersection point "CrossPoint"
0 if chunks ar on parallel lines
-1 if there are no intersection points

DoFloat CastleLine2DMath

Converts StringValue to a number by removing the excess. Remain is a non-removable remainder in a string (can be used to ensure that the '-' at the beginning of the line is not deleted)

DoGoodTriangle CastleLine2DMath

Sorts the vertices of the triangle in clockwise traversal order depending on the "Scale" (in the 2nd and 4th quarters, the order of traversal changes). If changes have been made (B and C have been swapped), it will return true.

IsClockwiseTriangle CastleLine2DMath

If the order of traversal of triangle A,B,C is clockwise, then returns `True`

PSDistanceEx CastleLine2DMath

The minimum distance from the point(P) to the segment(SP1:SP2) with the calculation of the projection point (PP) on the segment. 0 - the point is projected onto the segment: Distance = distance from P to the segment SP1,SP2. PP
1 - point P lies "to left" of SP1: Distance = distance from P to SP1. PP=SP1
2 - point P lies "to right" of SP2: Distance = distance from P to SP2. PP=SP2

Generated by PasDoc 0.16.0.