Clipping
Meshes.clip
— Functionclip(geometry, other, method)
Clip the subject geometry
with other
geometry using clipping method
.
Meshes.ClippingMethod
— TypeClippingMethod
A method for clipping geometries with other geometries.
Sutherland-Hodgman
Meshes.SutherlandHodgmanClipping
— TypeSutherlandHodgmanClipping()
The Sutherland-Hodgman algorithm for clipping polygons.
References
- Sutherland, I.E. & Hodgman, G.W. 1974. Reentrant Polygon Clipping
Notes
- The algorithm assumes that the clipping geometry is convex.
# polygon to clip
outer = Ring((8, 0), (4, 8), (2, 8), (-2, 0), (0, 0), (1, 2), (5, 2), (6, 0))
inner = Ring((4, 4), (2, 4), (3, 6))
poly = PolyArea([outer, inner])
# clipping geometry
other = Box((0,1), (3,7))
# clipped polygon
clipped = clip(poly, other, SutherlandHodgmanClipping())
viz(poly)
viz!(other, color = :black, alpha = 0.2)
viz!(boundary(clipped), color = :red, segmentsize = 3)
Mke.current_figure()