From 197e8047fcfbfef9120202d2322b5f7cdc292732 Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Sun, 3 Jul 2016 13:41:48 -0700 Subject: [PATCH] add intersections to Shape --- bezier-js/bezier-js-tests.ts | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/bezier-js/bezier-js-tests.ts b/bezier-js/bezier-js-tests.ts index 54c629d11b..2f9f2685a2 100644 --- a/bezier-js/bezier-js-tests.ts +++ b/bezier-js/bezier-js-tests.ts @@ -1,27 +1,29 @@ /// function test() { - + var bezierjs: typeof BezierJs; - - var bezier = new bezierjs.Bezier([1,2,3,4]); + + var bezier = new bezierjs.Bezier([1, 2, 3, 4]); var cap = new bezierjs.BezierCap([]); var point: BezierJs.Point = { x: 0, y: 0 }; var utils = bezier.getUtils(); - var line: BezierJs.Line = { p1: { x:0, y: 0}, p2: {x:1, y: 1}}; + var line: BezierJs.Line = { p1: { x: 0, y: 0 }, p2: { x: 1, y: 1 } }; var abc: BezierJs.ABC = { A: null, B: null, C: null }; var arc: BezierJs.Arc = { e: 0, s: 0, x: 0, y: 0, r: 1 }; var bbox: BezierJs.BBox = bezier.bbox(); - var closest: BezierJs.Closest = { mdist: 1, mpos: 0 }; - var inflection: BezierJs.Inflection = { values: null, x: [0], y: [0], z:[0] }; + var closest: BezierJs.Closest = { mdist: 1, mpos: 0 }; + var inflection: BezierJs.Inflection = { values: null, x: [0], y: [0], z: [0] }; var minmax: BezierJs.MinMax = { min: 0, max: 0 }; var offset: BezierJs.Offset = { x: 0, y: 0, c: point, n: point }; var pair: BezierJs.Pair = { left: bezier, right: bezier }; var poly: BezierJs.PolyBezier = bezier.outline(1); var projection: BezierJs.Projection = { x: 0, y: 0, t: 9, d: 4 }; - var shape: BezierJs.Shape = { startcap: cap, endcap: cap, forward: bezier, back: bezier, bbox: bbox }; + var shape: BezierJs.Shape = { + startcap: cap, endcap: cap, forward: bezier, back: bezier, bbox: bbox, intersections: function (shape) { return [[0]]; } + }; var split: BezierJs.Split = { left: bezier, right: bezier, span: [point] }; - + bezier.arcs(); bezier.clockwise; bezier.compute(.5); @@ -36,10 +38,10 @@ function test() { bezier.length(); bezier.lineIntersects(line); bezier.normal(0); - bezier.offset(1,2); + bezier.offset(1, 2); bezier.on(point, 0); bezier.order = 5; - bezier.outlineshapes(1,3); + bezier.outlineshapes(1, 3); bezier.overlaps(bezier); bezier.point(9); bezier.project(point); @@ -52,9 +54,9 @@ function test() { bezier.split(0.5).left; bezier.toSVG(); bezier.update(); - + cap.virtual = true; - + poly.addCurve(bezier); poly.bbox(); poly.curve(7); @@ -62,12 +64,12 @@ function test() { poly.length(); poly.offset(9).points[0].y; poly.points[0]; - + utils.abcratio(0, 1); utils.align([point], line); utils.angle(point, point, point); utils.approximately(5, 7, .001); - utils.arcfn(1, function(){}); + utils.arcfn(1, function () { }); utils.bboxoverlap(bbox, bbox); utils.between(0, 0, 1); utils.closest([point], point); @@ -78,7 +80,7 @@ function test() { utils.findbbox([bezier]); utils.getccenter(point, point, point); utils.getminmax(bezier, 'x', [0]); - utils.length(function(){}); + utils.length(function () { }); utils.lerp(1, point, point); utils.lli(offset, offset); utils.lli4(point, point, point, point); @@ -92,5 +94,5 @@ function test() { utils.roots([point], line); utils.round(.999, .001); utils.shapeintersections(shape, bbox, shape, bbox); - + } \ No newline at end of file