Clipping¶
Clipping module: ezdxf.math.clipping
- ezdxf.math.clipping.greiner_hormann_union(p1: Iterable[UVec], p2: Iterable[UVec]) list[list[Vec2]] ¶
Returns the UNION of polygon p1 | polygon p2. This algorithm works only for polygons with real intersection points and line end points on face edges are not considered as such intersection points!
- ezdxf.math.clipping.greiner_hormann_difference(p1: Iterable[UVec], p2: Iterable[UVec]) list[list[Vec2]] ¶
Returns the DIFFERENCE of polygon p1 - polygon p2. This algorithm works only for polygons with real intersection points and line end points on face edges are not considered as such intersection points!
- ezdxf.math.clipping.greiner_hormann_intersection(p1: Iterable[UVec], p2: Iterable[UVec]) list[list[Vec2]] ¶
Returns the INTERSECTION of polygon p1 & polygon p2. This algorithm works only for polygons with real intersection points and line end points on face edges are not considered as such intersection points!
- class ezdxf.math.clipping.ConvexClippingPolygon2d(vertices: Iterable[Vec2], ccw_check=True)¶
The clipping path is an arbitrary convex 2D polygon.
- clip_polygon(polygon: Sequence[Vec2]) Sequence[Sequence[Vec2]] ¶
Returns the parts of the clipped polygon. A polygon is a closed polyline.
- clip_polyline(polyline: Sequence[Vec2]) Sequence[Sequence[Vec2]] ¶
Returns the parts of the clipped polyline.
- class ezdxf.math.clipping.ClippingRect2d(bottom_left: Vec2, top_right: Vec2)¶
The clipping path is an axis-aligned rectangle, where all sides are parallel to the x- and y-axis.
- clip_polygon(polygon: Sequence[Vec2]) Sequence[Sequence[Vec2]] ¶
Returns the parts of the clipped polygon. A polygon is a closed polyline.
- class ezdxf.math.clipping.ConcaveClippingPolygon2d(vertices: Iterable[Vec2])¶
The clipping path is an arbitrary concave 2D polygon.
- clip_polygon(polygon: Sequence[Vec2]) Sequence[Sequence[Vec2]] ¶
Returns the parts of the clipped polygon. A polygon is a closed polyline.
- class ezdxf.math.clipping.InvertedClippingPolygon2d(inner_polygon: Iterable[Vec2], outer_bounds: BoundingBox2d)¶
This class represents an inverted clipping path. Everything between the inner polygon and the outer extents is considered as inside. The inner clipping path is an arbitrary 2D polygon.
- clip_polygon(polygon: Sequence[Vec2]) Sequence[Sequence[Vec2]] ¶
Returns the parts of the clipped polygon. A polygon is a closed polyline.