本文整理汇总了TypeScript中core/hittest.create_1d_hit_test_result函数的典型用法代码示例。如果您正苦于以下问题:TypeScript create_1d_hit_test_result函数的具体用法?TypeScript create_1d_hit_test_result怎么用?TypeScript create_1d_hit_test_result使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了create_1d_hit_test_result函数的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。
示例1: it
it("should drag all selected points on pan", function(): void {
const testcase = make_testcase()
const hit_test_stub = sinon.stub(testcase.glyph_view, "hit_test");
hit_test_stub.returns(create_1d_hit_test_result([[1, 0]]));
const tap_event = make_event(300, 300);
testcase.draw_tool_view._tap(tap_event);
hit_test_stub.returns(create_1d_hit_test_result([[2, 0]]));
let drag_event = make_event(300, 300, true);
testcase.draw_tool_view._pan_start(drag_event);
expect(testcase.draw_tool_view._basepoint).to.be.deep.equal([300, 300]);
drag_event = make_event(200, 200);
testcase.draw_tool_view._pan(drag_event);
expect(testcase.draw_tool_view._basepoint).to.be.deep.equal([200, 200]);
drag_event = make_event(200, 200);
testcase.draw_tool_view._pan_end(drag_event);
expect(testcase.draw_tool_view._basepoint).to.be.equal(null);
expect(testcase.data_source.selected['1d'].indices).to.be.deep.equal([]);
expect(testcase.data_source.data['x']).to.be.deep.equal([0, 0.14601769911504425, 0.6460176991150443]);
expect(testcase.data_source.data['y']).to.be.deep.equal([0, 0.8389830508474576, 1.3389830508474576]);
expect(testcase.data_source.data['z']).to.be.deep.equal([null, null, null]);
});
开发者ID:FourtekIT-incubator,项目名称:bokeh,代码行数:25,代码来源:point_draw_tool.ts
示例2: it
it("should add vertex on tap after doubletap ", function(): void {
const testcase = make_testcase();
const hit_test_stub = sinon.stub(testcase.glyph_view, "hit_test");
const vertex_hit_test_stub = sinon.stub(testcase.vertex_glyph_view, "hit_test");
hit_test_stub.returns(create_1d_hit_test_result([[1, 0]]));
vertex_hit_test_stub.returns(null);
const tap_event = make_event(300, 300);
testcase.draw_tool_view._doubletap(tap_event); // Poly selected
vertex_hit_test_stub.returns(create_1d_hit_test_result([[1, 0]]));
testcase.vertex_renderer.view.compute_indices();
testcase.draw_tool_view._doubletap(tap_event); // Vertex selected
vertex_hit_test_stub.returns(create_1d_hit_test_result([[2, 0]]));
const key_event = make_event(290, 290, false, Keys.Esc);
testcase.draw_tool_view._tap(key_event); // Add new vertex
testcase.draw_tool_view._move_enter(key_event);
testcase.draw_tool_view._keyup(key_event); // Stop editing
const xs = [0, 0.5, 0.008849557522123894, 1];
const ys = [0, -0.5, 0.03389830508474576, -1];
expect(testcase.vertex_source.selected['1d'].indices).to.be.deep.equal([]);
expect(testcase.vertex_source.data.x).to.be.deep.equal(xs);
expect(testcase.vertex_source.data.y).to.be.deep.equal(ys);
expect(testcase.data_source.data.xs).to.be.deep.equal([[0, 0.5, 1], xs]);
expect(testcase.data_source.data.ys).to.be.deep.equal([[0, -0.5, -1], ys]);
expect(testcase.data_source.data.z).to.be.deep.equal([null, null]);
});
开发者ID:FourtekIT-incubator,项目名称:bokeh,代码行数:27,代码来源:poly_edit_tool.ts
示例3: it
it("should select multiple patches on shift-tap", function() {
const testcase = make_testcase();
const hit_test_stub = sinon.stub(testcase.glyph_view, "hit_test");
hit_test_stub.returns(create_1d_hit_test_result([[1, 0]]));
let tap_event = make_event(300, 300);
testcase.draw_tool_view._tap(tap_event);
hit_test_stub.returns(create_1d_hit_test_result([[0, 0]]));
tap_event = make_event(560, 560, true);
testcase.draw_tool_view._tap(tap_event);
expect(testcase.data_source.selected['1d'].indices).to.be.deep.equal([1, 0]);
});
开发者ID:FourtekIT-incubator,项目名称:bokeh,代码行数:13,代码来源:poly_draw_tool.ts
示例4: _hit_point
_hit_point(geometry) {
const {sx, sy} = geometry;
const x = this.renderer.xscale.invert(sx);
const x0 = x - this.max_radius;
const x1 = x + this.max_radius;
const y = this.renderer.yscale.invert(sy);
const y0 = y - this.max_radius;
const y1 = y + this.max_radius;
const hits = [];
const bbox = hittest.validate_bbox_coords([x0, x1], [y0, y1]);
for (const i of this.index.indices(bbox)) {
const or2 = Math.pow(this.souter_radius[i], 2);
const ir2 = Math.pow(this.sinner_radius[i], 2);
const [sx0, sx1] = this.renderer.xscale.r_compute(x, this._x[i]);
const [sy0, sy1] = this.renderer.yscale.r_compute(y, this._y[i]);
const dist = Math.pow(sx0-sx1, 2) + Math.pow(sy0-sy1, 2);
if ((dist <= or2) && (dist >= ir2)) {
hits.push([i, dist]);
}
}
return hittest.create_1d_hit_test_result(hits);
}
开发者ID:FourtekIT-incubator,项目名称:bokeh,代码行数:26,代码来源:annulus.ts
示例5: it
it("should drag selected on pan", function(): void {
const testcase = make_testcase();
const hit_test_stub = sinon.stub(testcase.glyph_view, "hit_test");
hit_test_stub.returns(create_1d_hit_test_result([[1, 0]]));
const tap_event = make_event(300, 300);
testcase.draw_tool_view._tap(tap_event);
let drag_event = make_event(300, 300);
testcase.draw_tool_view._pan_start(drag_event);
expect(testcase.draw_tool_view._basepoint).to.be.deep.equal([300, 300]);
drag_event = make_event(200, 200);
testcase.draw_tool_view._pan(drag_event);
expect(testcase.draw_tool_view._basepoint).to.be.deep.equal([200, 200]);
drag_event = make_event(200, 200);
testcase.draw_tool_view._pan_end(drag_event);
expect(testcase.draw_tool_view._basepoint).to.be.equal(null);
expect(testcase.data_source.data['x']).to.be.deep.equal([0, 0.14601769911504425, 1]);
expect(testcase.data_source.data['y']).to.be.deep.equal([0, 0.8389830508474576, 1]);
expect(testcase.data_source.data['width']).to.be.deep.equal([0.1, 0.2, 0.3]);
expect(testcase.data_source.data['height']).to.be.deep.equal([0.3, 0.2, 0.1]);
expect(testcase.data_source.data['z']).to.be.deep.equal([null, null, null]);
})
开发者ID:FourtekIT-incubator,项目名称:bokeh,代码行数:25,代码来源:box_edit_tool.ts
示例6: _hit_point
_hit_point(geometry) {
let dist, r2, sx0, sx1, sy0, sy1, x0, x1, y0, y1;
const {sx, sy} = geometry;
const x = this.renderer.xscale.invert(sx);
const y = this.renderer.yscale.invert(sy);
// check radius first
if ((this._radius != null) && (this.model.properties.radius.units === "data")) {
x0 = x - this.max_radius;
x1 = x + this.max_radius;
y0 = y - this.max_radius;
y1 = y + this.max_radius;
} else {
sx0 = sx - this.max_size;
sx1 = sx + this.max_size;
[x0, x1] = this.renderer.xscale.r_invert(sx0, sx1);
[x0, x1] = [Math.min(x0, x1), Math.max(x0, x1)];
sy0 = sy - this.max_size;
sy1 = sy + this.max_size;
[y0, y1] = this.renderer.yscale.r_invert(sy0, sy1);
[y0, y1] = [Math.min(y0, y1), Math.max(y0, y1)];
}
const bbox = hittest.validate_bbox_coords([x0, x1], [y0, y1]);
const candidates = this.index.indices(bbox);
const hits = [];
if ((this._radius != null) && (this.model.properties.radius.units === "data")) {
for (const i of candidates) {
r2 = Math.pow(this.sradius[i], 2);
[sx0, sx1] = this.renderer.xscale.r_compute(x, this._x[i]);
[sy0, sy1] = this.renderer.yscale.r_compute(y, this._y[i]);
dist = Math.pow(sx0-sx1, 2) + Math.pow(sy0-sy1, 2);
if (dist <= r2) {
hits.push([i, dist]);
}
}
} else {
for (const i of candidates) {
r2 = Math.pow(this.sradius[i], 2);
dist = Math.pow(this.sx[i]-sx, 2) + Math.pow(this.sy[i]-sy, 2);
if (dist <= r2) {
hits.push([i, dist]);
}
}
}
return hittest.create_1d_hit_test_result(hits);
}
开发者ID:FourtekIT-incubator,项目名称:bokeh,代码行数:52,代码来源:circle.ts
注:本文中的core/hittest.create_1d_hit_test_result函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论