1 (define-module (dungeon-master geom voronoi)
2 #:use-module (ice-9 receive)
3 #:use-module (srfi srfi-1)
4 #:use-module (srfi srfi-9)
5 #:use-module (dungeon-master geom point)
6 #:use-module (dungeon-master geom triangle)
7 #:use-module (dungeon-master geom bowyer-watson)
8 #:export (make-voronoi-mesh
10 voronoi-mesh-triangles
14 "https://github.com/watabou/TownGeneratorOS/blob/master/Source/com/watabou/geom/Voronoi.hx"
16 (define-record-type <voronoi-mesh>
17 (make-raw-voronoi-mesh triangles points frame)
19 (triangles voronoi-mesh-triangles set-voronoi-mesh-triangles!)
20 (points voronoi-mesh-points set-voronoi-mesh-points!)
21 (frame voronoi-mesh-frame set-voronoi-mesh-frame!))
23 (define (make-voronoi-mesh vertices)
24 (receive (triangles points frame)
25 (bowyer-watson vertices)
26 (make-raw-voronoi-mesh triangles points frame)))