Required to generate proper CSS classes and other class related IDs.
The UID of this drawable object.
Add a vertex to the end of the vertices
array.
The vertex to add.
Calculate the area of the given polygon (unsigned).
Note that this does not work for self-intersecting polygons.
Create a deep copy of this polygon.
The cloned polygon.
Get the closest line-polygon-intersection point (closest the line point A).
See demo 47-closest-vector-projection-on-polygon
for how it works.
The line to find intersections with.
If set to true only intersecion points on the passed vector are considered (located strictly between start and end vertex).
Check if the passed polygon is completly contained inside this polygon.
This means:
The polygon to check if contained.
Check if the given vertex is inside this polygon.
Ray-casting algorithm found at
https://stackoverflow.com/questions/22521982/check-if-point-inside-a-polygon
The vertex to check. The new x-component.
True if the passed vertex is inside this polygon. The polygon is considered closed.
This function should invalidate any installed listeners and invalidate this object. After calling this function the object might not hold valid data any more and should not be used.
Get the bounding box (bounds) of this polygon.
The rectangular bounds of this polygon.
Convert this polygon into a new polygon with n evenly distributed vertices.
Must not be negative.
Construct a new polygon from this polygon with more vertices on each edge. The
interpolation count determines the number of additional vertices on each edge.
An interpolation count of 0
will return a polygon that equals the source
polygon.
A polygon with interpolationCount
more vertices (as as factor).
Get the polygon vertex at the given position (index).
The index may exceed the total vertex count, and will be wrapped around then (modulo).
For k >= 0:
The index of the desired vertex.
At the given index.
Get the winding order of this polgon: clockwise or counterclockwise.
Get all line intersections with this polygon.
See demo 47-closest-vector-projection-on-polygon
for how it works.
The line to find intersections with.
If set to true only intersecion points on the passed vector are returned (located strictly between start and end vertex).
Get the perimeter of this polygon. The perimeter is the absolute length of the outline.
If this polygon is open then the last segment (connecting the first and the last vertex) will be skipped.
Calulate the signed polyon area by interpreting the polygon as a matrix and calculating its determinant.
Convert this polygon to a sequence of cubic Bézier curves.
The first vertex in the returned array is the start point.
The following sequence are triplets of (first-control-point, secnond-control-point, end-point):
startPoint, controlPoint0_0, controlPoint1_1, pathPoint1, controlPoint1_0, controlPoint1_1, ..., endPoint
An optional threshold (default=1.0) how strong the curve segments should over-/under-drive. Should be between 0.0 and 1.0 for best results but other values are allowed.
An array of 2d vertices that shape the cubic Bézier curve.
Convert this polygon to a cubic bezier path instance.
The threshold, usually from 0.0 to 1.0.
Convert this polygon to a cubic bezier curve, represented as an SVG data string.
The 'd' part for an SVG 'path' element.
Convert this polygon to a sequence of quadratic Bézier curves.
The first vertex in the returned array is the start point.
The following sequence are pairs of control-point-and-end-point:
startPoint, controlPoint0, pathPoint1, controlPoint1, pathPoint2, controlPoint2, ..., endPoint
An array of 2d vertices that shape the quadratic Bézier curve.
Convert this polygon to a quadratic bezier curve, represented as an SVG data string.
The 'd' part for an SVG 'path' element.
Calculate the area of the given polygon (unsigned).
Note that this does not work for self-intersecting polygons.
Calulate the signed polyon area by interpreting the polygon as a matrix and calculating its determinant.
Generated using TypeDoc
A polygon class. Any polygon consists of an array of vertices; polygons can be open or closed.
BezierPath
Bounds
SVGSerializabe
UID
UIDGenerator
Vertex
XYCoords