From 848b883888e4e13f653fa69501547ca4b61019b2 Mon Sep 17 00:00:00 2001 From: ajuvercr Date: Sat, 18 Apr 2020 12:21:16 +0200 Subject: [PATCH 1/2] Add voronoi-core types With this file, the library can be used with TypeScript. --- rhill-voronoi-core.d.ts | 53 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 rhill-voronoi-core.d.ts diff --git a/rhill-voronoi-core.d.ts b/rhill-voronoi-core.d.ts new file mode 100644 index 0000000..c09f1eb --- /dev/null +++ b/rhill-voronoi-core.d.ts @@ -0,0 +1,53 @@ +declare class Point { + x: number; + y: number; +} + +declare class Site { + x: number; + y: number; + voronoiId: number; +} + +declare class Cell { + site: Site; + halfedges: HalfEdge[]; + closeMe: boolean; +} + +declare class Edge { + lSite: Site; + rSite: Site; + vb: Point; + va: Point; +} + +declare class HalfEdge { + site: Site; + edge: Edge; + angle: number; + getStartpoint(): Point; + getEndpoint(): Point; +} + +declare class BBox { + xl: number; + xr: number; + yt: number; + yb: number; +} + +declare class VoronoiDiagram { + site: any; + cells: Cell[]; + edges: Edge[]; + vertices: Point[]; + execTime: number; +} + +declare class Voronoi { + constructor(); + compute(sites: Point[], bbox: BBox): VoronoiDiagram; +} + +export = Voronoi; From 26776525060183cd47fae20d9885538f114dbbfe Mon Sep 17 00:00:00 2001 From: ajuvercr Date: Sat, 18 Apr 2020 14:08:54 +0200 Subject: [PATCH 2/2] Update rhill-voronoi-core.d.ts Also export the inner classes --- rhill-voronoi-core.d.ts | 93 +++++++++++++++++++++-------------------- 1 file changed, 48 insertions(+), 45 deletions(-) diff --git a/rhill-voronoi-core.d.ts b/rhill-voronoi-core.d.ts index c09f1eb..e908fbb 100644 --- a/rhill-voronoi-core.d.ts +++ b/rhill-voronoi-core.d.ts @@ -1,53 +1,56 @@ -declare class Point { - x: number; - y: number; -} - -declare class Site { - x: number; - y: number; - voronoiId: number; -} - -declare class Cell { - site: Site; - halfedges: HalfEdge[]; - closeMe: boolean; -} - -declare class Edge { - lSite: Site; - rSite: Site; - vb: Point; - va: Point; -} - -declare class HalfEdge { - site: Site; - edge: Edge; - angle: number; - getStartpoint(): Point; - getEndpoint(): Point; -} - -declare class BBox { - xl: number; - xr: number; - yt: number; - yb: number; -} -declare class VoronoiDiagram { - site: any; - cells: Cell[]; - edges: Edge[]; - vertices: Point[]; - execTime: number; +declare namespace Voronoi { + class Point { + x: number; + y: number; + } + + class Site { + x: number; + y: number; + voronoiId: number; + } + + class Cell { + site: Site; + halfedges: HalfEdge[]; + closeMe: boolean; + } + + class Edge { + lSite: Site; + rSite: Site; + vb: Point; + va: Point; + } + + class HalfEdge { + site: Site; + edge: Edge; + angle: number; + getStartpoint(): Point; + getEndpoint(): Point; + } + + class BBox { + xl: number; + xr: number; + yt: number; + yb: number; + } + + class VoronoiDiagram { + site: any; + cells: Cell[]; + edges: Edge[]; + vertices: Point[]; + execTime: number; + } } declare class Voronoi { constructor(); - compute(sites: Point[], bbox: BBox): VoronoiDiagram; + compute(sites: Voronoi.Point[], bbox: Voronoi.BBox): Voronoi.VoronoiDiagram; } export = Voronoi;