Forum

VL.PolyTools

VL.PolyTools

Tools for working with Polygons and Polypaths in vvvv gamma.

Polygon = shape made only of lines, Polypath = shape made of lines and curves

See the helppatches for a more detailed overview

To Install

Grey menu (top left)>Manage Nugets>Command Line

Type
nuget install VL.PolyTools

What kind of things does it do?

image

Interactive Helppatches

VL PolyTools FOV Calc

Visibility from a point inside a polygon
(Using Expanding Triangles method by Francisc Bungiu, Michael Hemmer, John Hershberger, Kan Huang and Alexander Kröller)

VL PolyTools 3D Extrude

3D extrusion of Polygons in stride

VL PolyTools Polypath Union

Union of PolyPaths including internal compartment lines.

VL.PolyTools Cutting A Poly into Compartments

Cutting a Polypath into compartments.

Bonus see included ‘SKPathUtils.vl’ if you are looking for some low level SKPath verb methods.

Dependencies

Made with vvvv Gamma 2021.4.10

com.angusj.Clipper -Version 6.4.2

credit Angus Johnson, gylee

LibTessDotNet

credit Contributors to speps/LibTessDotNet · GitHub

Special Thanks

@Untone for help unlocking the SKPath verbs for use in vvvv gamma

License

Boost 1.0

17 Likes

Thanks so much for this!

i hacked together some of the stuff you got in here for my generative lasercutting/3d printing/papercutting stuff, but it was always hacky and not consistent. will try to redo my patches with your library and report back.

2 Likes

Now updated to 1.0.3
-Helppatch improvements
-Consistent GetBounds method for Polygon and PolyPath
-Added Splitting Circles Example patch kindly contributed by ██ ██
-Added option to Compartments operation to avoid including outer stroke

2 Likes

for some reason exception raises in 2022.5 280 preview

@Yar afraid I cannot reproduce.
Those helppatches all working for me in Polytools V1.0.3 on
2022.5.0 280.

@tobyk
I confirm, the error does not reproduce. Now everything starts normally.
But it was a steady result after restarting Gamma for a while. I don’t know what changed.

@Yar
Ok. noted. I’ll do a more thorough test of all the helppatches when 2022.5 goes to release candidate.