|
def | __init__ (self, Optional[Union[numpy.ndarray, List]] points=None) |
|
def | __eq__ (self, other) |
|
def | __repr__ (self) |
|
bool | isValid (self) |
|
numpy.array | getPoints (self) |
|
Tuple[float, float] | project (self, normal) |
|
"Polygon" | translate (self, float x=0, float y=0) |
|
"Polygon" | mirror (self, List[float] point_on_axis, List[float] axis_direction) |
|
"Polygon" | intersectionConvexHulls (self, "Polygon" other) |
|
"Polygon" | unionConvexHulls (self, "Polygon" other) |
|
Optional[Tuple[float, float]] | intersectsPolygon (self, "Polygon" other) |
|
"Polygon" | getConvexHull (self) |
|
"Polygon" | getMinkowskiSum (self, "Polygon" other) |
|
"Polygon" | getMinkowskiHull (self, "Polygon" other) |
|
bool | isInside (self, point) |
|
A class representing an immutable arbitrary 2-dimensional polygon.
◆ __repr__()
def UM.Math.Polygon.Polygon.__repr__ |
( |
|
self | ) |
|
Gives a debugging representation of the polygon.
This lists the polygon's coordinates, like so::
[[0,0], [1,3], [3,0]]
:return: A representation of the polygon that is useful for debugging.
◆ approximatedCircle()
def UM.Math.Polygon.Polygon.approximatedCircle |
( |
|
radius | ) |
|
|
static |
Return vertices from an approximate circle.
An octagon is returned, which comes close enough to a circle.
:param radius: The radius of the circle.
:return: A polygon that approximates a circle.
◆ getConvexHull()
"Polygon" UM.Math.Polygon.Polygon.getConvexHull |
( |
|
self | ) |
|
Calculate the convex hull around the set of points of this polygon.
:return: The convex hull around the points of this polygon.
◆ getMinkowskiHull()
"Polygon" UM.Math.Polygon.Polygon.getMinkowskiHull |
( |
|
self, |
|
|
"Polygon" |
other |
|
) |
| |
Create a Minkowski hull from this polygon and another polygon.
The Minkowski hull is the convex hull around the Minkowski sum of this
polygon with other.
:param other: :type{Polygon} The Polygon to do a Minkowski addition with.
:return: The convex hull around the Minkowski sum of this Polygon with other
◆ getMinkowskiSum()
"Polygon" UM.Math.Polygon.Polygon.getMinkowskiSum |
( |
|
self, |
|
|
"Polygon" |
other |
|
) |
| |
Perform a Minkowski sum of this polygon with another polygon.
:param other: The polygon to perform a Minkowski sum with.
:return: :type{Polygon} The Minkowski sum of this polygon with other.
◆ intersectionConvexHulls()
"Polygon" UM.Math.Polygon.Polygon.intersectionConvexHulls |
( |
|
self, |
|
|
"Polygon" |
other |
|
) |
| |
Computes the intersection of the convex hulls of this and another
polygon.
:param other: The other polygon to intersect convex hulls with.
:return: The intersection of the two polygons' convex hulls.
◆ intersectsPolygon()
Optional[Tuple[float, float]] UM.Math.Polygon.Polygon.intersectsPolygon |
( |
|
self, |
|
|
"Polygon" |
other |
|
) |
| |
Check to see whether this polygon intersects with another polygon.
:param other: :type{Polygon} The polygon to check for intersection.
:return: A tuple of the x and y distance of intersection, or None if no intersection occured.
◆ isInside()
bool UM.Math.Polygon.Polygon.isInside |
( |
|
self, |
|
|
|
point |
|
) |
| |
Whether the specified point is inside this polygon.
If the point is exactly on the border or on a vector, it does not count
as being inside the polygon.
:param point: The point to check of whether it is inside.
:return: True if it is inside, or False otherwise.
◆ mirror()
"Polygon" UM.Math.Polygon.Polygon.mirror |
( |
|
self, |
|
|
List[float] |
point_on_axis, |
|
|
List[float] |
axis_direction |
|
) |
| |
Mirrors this polygon across the specified axis.
:param point_on_axis: A point on the axis to mirror across.
:param axis_direction: The direction vector of the axis to mirror across.
◆ project()
Tuple[float, float] UM.Math.Polygon.Polygon.project |
( |
|
self, |
|
|
|
normal |
|
) |
| |
Project this polygon on a line described by a normal.
:param normal: The normal to project on.
:return: A tuple describing the line segment of this Polygon projected on to the infinite line described by normal.
The first element is the minimum value, the second the maximum.
◆ translate()
"Polygon" UM.Math.Polygon.Polygon.translate |
( |
|
self, |
|
|
float |
x = 0 , |
|
|
float |
y = 0 |
|
) |
| |
Moves the polygon by a fixed offset.
:param x: The distance to move along the X-axis.
:param y: The distance to move along the Y-axis.
The documentation for this class was generated from the following file: