• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript hittest.create_1d_hit_test_result函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap