# orx-shapes

Collection of 2D shape generators and modifiers.

<!-- __demos__ -->
## Demos
### adjust/DemoAdjustContour01
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour01.kt)

![adjust-DemoAdjustContour01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/adjust-DemoAdjustContour01Kt.png)

### adjust/DemoAdjustContour02
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour02.kt)

![adjust-DemoAdjustContour02Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/adjust-DemoAdjustContour02Kt.png)

### adjust/DemoAdjustContour03
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour03.kt)

![adjust-DemoAdjustContour03Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/adjust-DemoAdjustContour03Kt.png)

### adjust/DemoAdjustContour04
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour04.kt)

![adjust-DemoAdjustContour04Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/adjust-DemoAdjustContour04Kt.png)

### adjust/DemoAdjustContour05
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour05.kt)

![adjust-DemoAdjustContour05Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/adjust-DemoAdjustContour05Kt.png)

### adjust/DemoAdjustContour06
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour06.kt)

![adjust-DemoAdjustContour06Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/adjust-DemoAdjustContour06Kt.png)

### adjust/DemoAdjustContour07
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour07.kt)

![adjust-DemoAdjustContour07Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/adjust-DemoAdjustContour07Kt.png)

### adjust/DemoAdjustContour09
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContour09.kt)

![adjust-DemoAdjustContour09Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/adjust-DemoAdjustContour09Kt.png)

### adjust/DemoAdjustContourContinue01
[source code](src/jvmDemo/kotlin/adjust/DemoAdjustContourContinue01.kt)

![adjust-DemoAdjustContourContinue01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/adjust-DemoAdjustContourContinue01Kt.png)

### alphashape/DemoAlphaShape
[source code](src/jvmDemo/kotlin/alphashape/DemoAlphaShape.kt)

![alphashape-DemoAlphaShapeKt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/alphashape-DemoAlphaShapeKt.png)

### arrangement/DemoArrangement01
[source code](src/jvmDemo/kotlin/arrangement/DemoArrangement01.kt)

![arrangement-DemoArrangement01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/arrangement-DemoArrangement01Kt.png)

### arrangement/DemoArrangement02
[source code](src/jvmDemo/kotlin/arrangement/DemoArrangement02.kt)

![arrangement-DemoArrangement02Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/arrangement-DemoArrangement02Kt.png)

### arrangement/DemoArrangement04
[source code](src/jvmDemo/kotlin/arrangement/DemoArrangement04.kt)

![arrangement-DemoArrangement04Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/arrangement-DemoArrangement04Kt.png)

### bezierpatch/DemoBezierPatch01
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatch01.kt)

![bezierpatch-DemoBezierPatch01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/bezierpatch-DemoBezierPatch01Kt.png)

### bezierpatch/DemoBezierPatch02
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatch02.kt)

![bezierpatch-DemoBezierPatch02Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/bezierpatch-DemoBezierPatch02Kt.png)

### bezierpatch/DemoBezierPatch03
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatch03.kt)

![bezierpatch-DemoBezierPatch03Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/bezierpatch-DemoBezierPatch03Kt.png)

### bezierpatch/DemoBezierPatch04
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatch04.kt)

![bezierpatch-DemoBezierPatch04Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/bezierpatch-DemoBezierPatch04Kt.png)

### bezierpatch/DemoBezierPatch05
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatch05.kt)

![bezierpatch-DemoBezierPatch05Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/bezierpatch-DemoBezierPatch05Kt.png)

### bezierpatch/DemoBezierPatchDrawer01
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatchDrawer01.kt)

![bezierpatch-DemoBezierPatchDrawer01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/bezierpatch-DemoBezierPatchDrawer01Kt.png)

### bezierpatch/DemoBezierPatchDrawer02
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatchDrawer02.kt)

![bezierpatch-DemoBezierPatchDrawer02Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/bezierpatch-DemoBezierPatchDrawer02Kt.png)

### bezierpatch/DemoBezierPatchDrawer03
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatchDrawer03.kt)

![bezierpatch-DemoBezierPatchDrawer03Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/bezierpatch-DemoBezierPatchDrawer03Kt.png)

### bezierpatch/DemoBezierPatches01
[source code](src/jvmDemo/kotlin/bezierpatch/DemoBezierPatches01.kt)

![bezierpatch-DemoBezierPatches01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/bezierpatch-DemoBezierPatches01Kt.png)

### blend/DemoContourBlend01
[source code](src/jvmDemo/kotlin/blend/DemoContourBlend01.kt)

![blend-DemoContourBlend01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/blend-DemoContourBlend01Kt.png)

### blend/DemoContourBlend02
[source code](src/jvmDemo/kotlin/blend/DemoContourBlend02.kt)

![blend-DemoContourBlend02Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/blend-DemoContourBlend02Kt.png)

### DemoAdjustContour08
[source code](src/jvmDemo/kotlin/DemoAdjustContour08.kt)

![DemoAdjustContour08Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/DemoAdjustContour08Kt.png)

### frames/DemoFrames01
[source code](src/jvmDemo/kotlin/frames/DemoFrames01.kt)

![frames-DemoFrames01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/frames-DemoFrames01Kt.png)

### hobbycurve/DemoHobbyCurve01
[source code](src/jvmDemo/kotlin/hobbycurve/DemoHobbyCurve01.kt)

![hobbycurve-DemoHobbyCurve01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/hobbycurve-DemoHobbyCurve01Kt.png)

### hobbycurve/DemoHobbyCurve02
[source code](src/jvmDemo/kotlin/hobbycurve/DemoHobbyCurve02.kt)

![hobbycurve-DemoHobbyCurve02Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/hobbycurve-DemoHobbyCurve02Kt.png)

### hobbycurve/DemoHobbyCurve3D01
[source code](src/jvmDemo/kotlin/hobbycurve/DemoHobbyCurve3D01.kt)

![hobbycurve-DemoHobbyCurve3D01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/hobbycurve-DemoHobbyCurve3D01Kt.png)

### operators/DemoRoundCorners01
[source code](src/jvmDemo/kotlin/operators/DemoRoundCorners01.kt)

![operators-DemoRoundCorners01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/operators-DemoRoundCorners01Kt.png)

### path3d/DemoPath3DProjection
[source code](src/jvmDemo/kotlin/path3d/DemoPath3DProjection.kt)

![path3d-DemoPath3DProjectionKt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/path3d-DemoPath3DProjectionKt.png)

### primitives/DemoArc01
[source code](src/jvmDemo/kotlin/primitives/DemoArc01.kt)

![primitives-DemoArc01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/primitives-DemoArc01Kt.png)

### primitives/DemoNet01
[source code](src/jvmDemo/kotlin/primitives/DemoNet01.kt)

![primitives-DemoNet01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/primitives-DemoNet01Kt.png)

### primitives/DemoPulley01
[source code](src/jvmDemo/kotlin/primitives/DemoPulley01.kt)

![primitives-DemoPulley01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/primitives-DemoPulley01Kt.png)

### primitives/DemoRectangleGrid01
[source code](src/jvmDemo/kotlin/primitives/DemoRectangleGrid01.kt)

![primitives-DemoRectangleGrid01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/primitives-DemoRectangleGrid01Kt.png)

### primitives/DemoRectangleGrid02
[source code](src/jvmDemo/kotlin/primitives/DemoRectangleGrid02.kt)

![primitives-DemoRectangleGrid02Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/primitives-DemoRectangleGrid02Kt.png)

### primitives/DemoRectangleIntersection01
[source code](src/jvmDemo/kotlin/primitives/DemoRectangleIntersection01.kt)

![primitives-DemoRectangleIntersection01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/primitives-DemoRectangleIntersection01Kt.png)

### primitives/DemoRegularPolygon
[source code](src/jvmDemo/kotlin/primitives/DemoRegularPolygon.kt)

![primitives-DemoRegularPolygonKt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/primitives-DemoRegularPolygonKt.png)

### primitives/DemoRegularStar01
[source code](src/jvmDemo/kotlin/primitives/DemoRegularStar01.kt)

![primitives-DemoRegularStar01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/primitives-DemoRegularStar01Kt.png)

### primitives/DemoRegularStar02
[source code](src/jvmDemo/kotlin/primitives/DemoRegularStar02.kt)

![primitives-DemoRegularStar02Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/primitives-DemoRegularStar02Kt.png)

### primitives/DemoRoundedRectangle
[source code](src/jvmDemo/kotlin/primitives/DemoRoundedRectangle.kt)

![primitives-DemoRoundedRectangleKt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/primitives-DemoRoundedRectangleKt.png)

### primitives/DemoSplit01
[source code](src/jvmDemo/kotlin/primitives/DemoSplit01.kt)

![primitives-DemoSplit01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/primitives-DemoSplit01Kt.png)

### primitives/DemoTear01
[source code](src/jvmDemo/kotlin/primitives/DemoTear01.kt)

![primitives-DemoTear01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/primitives-DemoTear01Kt.png)

### rectify/DemoRectifiedContour01
[source code](src/jvmDemo/kotlin/rectify/DemoRectifiedContour01.kt)

![rectify-DemoRectifiedContour01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/rectify-DemoRectifiedContour01Kt.png)

### rectify/DemoRectifiedContour02
[source code](src/jvmDemo/kotlin/rectify/DemoRectifiedContour02.kt)

![rectify-DemoRectifiedContour02Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/rectify-DemoRectifiedContour02Kt.png)

### rectify/DemoRectifiedContour03
[source code](src/jvmDemo/kotlin/rectify/DemoRectifiedContour03.kt)

![rectify-DemoRectifiedContour03Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/rectify-DemoRectifiedContour03Kt.png)

### rectify/DemoRectifiedContour04
[source code](src/jvmDemo/kotlin/rectify/DemoRectifiedContour04.kt)

![rectify-DemoRectifiedContour04Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/rectify-DemoRectifiedContour04Kt.png)

### rectify/DemoRectifiedPath3D01
[source code](src/jvmDemo/kotlin/rectify/DemoRectifiedPath3D01.kt)

![rectify-DemoRectifiedPath3D01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/rectify-DemoRectifiedPath3D01Kt.png)

### text/DemoText01
[source code](src/jvmDemo/kotlin/text/DemoText01.kt)

![text-DemoText01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/text-DemoText01Kt.png)

### tunni/DemoTunniAdjuster01
[source code](src/jvmDemo/kotlin/tunni/DemoTunniAdjuster01.kt)

![tunni-DemoTunniAdjuster01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/tunni-DemoTunniAdjuster01Kt.png)

### tunni/DemoTunniPoint01
[source code](src/jvmDemo/kotlin/tunni/DemoTunniPoint01.kt)

![tunni-DemoTunniPoint01Kt](https://raw.githubusercontent.com/openrndr/orx/media/orx-shapes/images/tunni-DemoTunniPoint01Kt.png)
