mirror of
https://github.com/scratchfoundation/paper.js.git
synced 2025-08-28 22:08:54 -04:00
Add tolerance argument to Path#join(path, tolerance)
This commit is contained in:
parent
68be3f102e
commit
de8b626033
4 changed files with 61 additions and 42 deletions
|
@ -57,57 +57,70 @@ test('curve.getTimeAt() with straight curve', function() {
|
|||
equals(t, 0.3869631475722452);
|
||||
});
|
||||
|
||||
test('path.join(path)', function() {
|
||||
var path = new Path();
|
||||
path.add(0, 0);
|
||||
path.add(10, 0);
|
||||
test('path1.join(path2)', function() {
|
||||
var path1 = new Path();
|
||||
path1.add(0, 0);
|
||||
path1.add(10, 0);
|
||||
|
||||
var path2 = new Path();
|
||||
path2.add(10, 0);
|
||||
path2.add(20, 10);
|
||||
|
||||
path.join(path2);
|
||||
equals(path.segments.toString(), '{ point: { x: 0, y: 0 } },{ point: { x: 10, y: 0 } },{ point: { x: 20, y: 10 } }');
|
||||
equals(function() {
|
||||
return paper.project.activeLayer.children.length;
|
||||
}, 1);
|
||||
path1.join(path2);
|
||||
equals(path1.segments.toString(), '{ point: { x: 0, y: 0 } },{ point: { x: 10, y: 0 } },{ point: { x: 20, y: 10 } }');
|
||||
equals(function() { return paper.project.activeLayer.children.length; }, 1);
|
||||
|
||||
var path = new Path();
|
||||
path.add(0, 0);
|
||||
path.add(10, 0);
|
||||
var path1 = new Path();
|
||||
path1.add(0, 0);
|
||||
path1.add(10, 0);
|
||||
|
||||
var path2 = new Path();
|
||||
path2.add(20, 10);
|
||||
path2.add(10, 0);
|
||||
path.join(path2);
|
||||
equals(path.segments.toString(), '{ point: { x: 0, y: 0 } },{ point: { x: 10, y: 0 } },{ point: { x: 20, y: 10 } }');
|
||||
path1.join(path2);
|
||||
equals(path1.segments.toString(), '{ point: { x: 0, y: 0 } },{ point: { x: 10, y: 0 } },{ point: { x: 20, y: 10 } }');
|
||||
|
||||
var path = new Path();
|
||||
path.add(0, 0);
|
||||
path.add(10, 0);
|
||||
var path1 = new Path();
|
||||
path1.add(0, 0);
|
||||
path1.add(10, 0);
|
||||
|
||||
var path2 = new Path();
|
||||
path2.add(30, 10);
|
||||
path2.add(40, 0);
|
||||
path.join(path2);
|
||||
equals(path.segments.toString(), '{ point: { x: 0, y: 0 } },{ point: { x: 10, y: 0 } },{ point: { x: 30, y: 10 } },{ point: { x: 40, y: 0 } }');
|
||||
path1.join(path2);
|
||||
equals(path1.segments.toString(), '{ point: { x: 0, y: 0 } },{ point: { x: 10, y: 0 } },{ point: { x: 30, y: 10 } },{ point: { x: 40, y: 0 } }');
|
||||
|
||||
var path = new Path();
|
||||
path.add(0, 0);
|
||||
path.add(10, 0);
|
||||
path.add(20, 10);
|
||||
var path1 = new Path();
|
||||
path1.add(0, 0);
|
||||
path1.add(10, 0);
|
||||
path1.add(20, 10);
|
||||
|
||||
var path2 = new Path();
|
||||
path2.add(0, 0);
|
||||
path2.add(10, 5);
|
||||
path2.add(20, 10);
|
||||
|
||||
path.join(path2);
|
||||
path1.join(path2);
|
||||
|
||||
equals(path1.segments.toString(), '{ point: { x: 0, y: 0 } },{ point: { x: 10, y: 0 } },{ point: { x: 20, y: 10 } },{ point: { x: 10, y: 5 } }');
|
||||
equals(function() { return path1.closed; }, true);
|
||||
});
|
||||
|
||||
test('path1.join(path2, tolerance)', function() {
|
||||
var path1 = new Path();
|
||||
path1.add(0, 0);
|
||||
path1.add(10, 0);
|
||||
|
||||
var path2 = new Path();
|
||||
path2.add(path1.lastSegment.point.add(1e-14));
|
||||
path2.add(20, 10);
|
||||
|
||||
equals(path.segments.toString(), '{ point: { x: 0, y: 0 } },{ point: { x: 10, y: 0 } },{ point: { x: 20, y: 10 } },{ point: { x: 10, y: 5 } }');
|
||||
equals(function() {
|
||||
return path.closed;
|
||||
}, true);
|
||||
return path1.clone().join(path2.clone(), 0).segments.length;
|
||||
}, 4);
|
||||
equals(function() {
|
||||
return path1.clone().join(path2.clone(), 1e-12).segments.length;
|
||||
}, 3);
|
||||
});
|
||||
|
||||
test('path.remove()', function() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue