offset
offset( operand, distance, round_joins=False, trim_x_min=False, trim_x_max=False, trim_y_min=False, trim_y_max=False,)Dilate or erode a set of polygons.
Args
- operand (Rectangle | Circle | Polygon | Path | Component | Reference | Iterable[Rectangle | Circle | Polygon | Path | Component | Reference]): Polygons to be offset. All polygons are joined before the operation.
- distance (float): Amount to dilate (positive) or erode (negative).
- round_joins (bool): If set, substitute convex angles with round joins.
- trim_x_min (bool): Remove the added margin from the lower bound in the x direction. Only effective when
distance > 0. - trim_x_max (bool): Remove the added margin from the upper bound in the x direction. Only effective when
distance > 0. - trim_y_min (bool): Remove the added margin from the lower bound in the y direction. Only effective when
distance > 0. - trim_y_max (bool): Remove the added margin from the upper bound in the y direction. Only effective when
distance > 0.
Returns
list[Polygon]: Resulting polygons.
Examples
>>> horizontal = pf.Rectangle(center=(0, 0), size=(11, 2))>>> vertical = pf.Rectangle(center=(0, 0), size=(2, 11))>>> outer_cross = pf.offset(... [horizontal, vertical], 1, round_joins=True... )>>> inner_cross = pf.offset([horizontal, vertical], -0.5)>>> len(outer_cross), len(inner_cross)(1, 1)