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

TypeScript hittest.create_empty_hit_test_result函数代码示例

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

本文整理汇总了TypeScript中core/hittest.create_empty_hit_test_result函数的典型用法代码示例。如果您正苦于以下问题:TypeScript create_empty_hit_test_result函数的具体用法?TypeScript create_empty_hit_test_result怎么用?TypeScript create_empty_hit_test_result使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了create_empty_hit_test_result函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。

示例1: it

      it("should clear node selections if hit_test result is empty", () => {
        const initial_selection = create_empty_hit_test_result()
        initial_selection["1d"].indices = [0, 1]
        node_source.selected = initial_selection

        const hit_test_result = create_empty_hit_test_result()
        const policy = new EdgesAndLinkedNodes()
        policy.do_selection(hit_test_result, gr, true, false)

        expect(node_source.selected.is_empty()).to.be.true
      })
开发者ID:jsignell,项目名称:bokeh,代码行数:11,代码来源:graph_hit_test_policy.ts


示例2: _hit_point

  protected _hit_point(geometry: PointGeometry): Selection {
    /* Check if the point geometry hits this line glyph and return an object
    that describes the hit result:
      Args:
        * geometry (object): object with the following keys
          * sx (float): screen x coordinate of the point
          * sy (float): screen y coordinate of the point
          * type (str): type of geometry (in this case it's a point)
      Output:
        Object with the following keys:
          * 0d (bool): whether the point hits the glyph or not
          * 1d (array(int)): array with the indices hit by the point
    */
    const result = hittest.create_empty_hit_test_result()
    const point = {x: geometry.sx, y: geometry.sy}
    let shortest = 9999
    const threshold = Math.max(2, this.visuals.line.line_width.value() / 2)

    for (let i = 0, end = this.sx.length-1; i < end; i++) {
      const p0 = {x: this.sx[i],     y: this.sy[i]    }
      const p1 = {x: this.sx[i + 1], y: this.sy[i + 1]}
      const dist = hittest.dist_to_segment(point, p0, p1)

      if (dist < threshold && dist < shortest) {
        shortest = dist
        result.add_to_selected_glyphs(this.model)
        result.get_view = () => this
        result.line_indices = [i]
      }
    }

    return result
  }
开发者ID:digitalsatori,项目名称:Bokeh,代码行数:33,代码来源:line.ts


示例3: _hit_span

  protected _hit_span(geometry: SpanGeometry): Selection {
    const {sx, sy} = geometry
    const {minX, minY, maxX, maxY} = this.bounds()
    const result = hittest.create_empty_hit_test_result()

    let x0: number, x1: number
    let y0: number, y1: number
    if (geometry.direction == 'h') {
      y0 = minY
      y1 = maxY
      const ms = this.max_size/2
      const sx0 = sx - ms
      const sx1 = sx + ms
      ;[x0, x1] = this.renderer.xscale.r_invert(sx0, sx1)
    } else {
      x0 = minX
      x1 = maxX
      const ms = this.max_size/2
      const sy0 = sy - ms
      const sy1 = sy + ms
      ;[y0, y1] = this.renderer.yscale.r_invert(sy0, sy1)
    }

    const bbox = hittest.validate_bbox_coords([x0, x1], [y0, y1])
    const hits = this.index.indices(bbox)

    result.indices = hits
    return result
  }
开发者ID:Zyell,项目名称:bokeh,代码行数:29,代码来源:marker.ts


示例4: _hit_span

  protected _hit_span(geometry: SpanGeometry): Selection {
    const {sx, sy} = geometry
    const result = hittest.create_empty_hit_test_result()

    let val: number
    let values: Arrayable<Arrayable<number>>
    if (geometry.direction === 'v') {
      val = this.renderer.yscale.invert(sy)
      values = this._ys
    } else {
      val = this.renderer.xscale.invert(sx)
      values = this._xs
    }

    const hits: {[key: string]: number[]} = {}
    for (let i = 0, end = values.length; i < end; i++) {
      const points = []
      for (let j = 0, endj = values[i].length-1; j < endj; j++) {
        if (values[i][j] <= val && val <= values[i][j+1])
          points.push(j)
      }
      if (points.length > 0)
        hits[i] = points
    }

    result.indices = keys(hits).map((x) => parseInt(x, 10))
    result.multiline_indices = hits

    return result
  }
开发者ID:digitalsatori,项目名称:Bokeh,代码行数:30,代码来源:multi_line.ts


示例5: _hit_span

  protected _hit_span(geometry: SpanGeometry): Selection {
    const [hr, vr] = this.renderer.plot_view.frame.bbox.ranges
    const {sx, sy} = geometry

    let v0: Arrayable<number>
    let v1: Arrayable<number>
    let val: number
    if (geometry.direction == 'v') {
      val = this.renderer.yscale.invert(sy)
      ;[v0, v1] = [this._y0, this._y1]
    } else {
      val = this.renderer.xscale.invert(sx)
      ;[v0, v1] = [this._x0, this._x1]
    }

    const hits = []

    const [minX, maxX] = this.renderer.xscale.r_invert(hr.start, hr.end)
    const [minY, maxY] = this.renderer.yscale.r_invert(vr.start, vr.end)
    const candidates = this.index.indices({minX, minY, maxX, maxY})

    for (const i of candidates) {
      if ((v0[i] <= val && val <= v1[i]) || (v1[i] <= val && val <= v0[i]))
        hits.push(i)
    }

    const result = hittest.create_empty_hit_test_result()
    result.indices = hits
    return result
  }
开发者ID:Zyell,项目名称:bokeh,代码行数:30,代码来源:segment.ts


示例6: _hit_point

  protected _hit_point(geometry: PointGeometry): Selection {
    const result = hittest.create_empty_hit_test_result()
    const point = {x: geometry.sx, y: geometry.sy}
    let shortest = 9999

    const hits: {[key: string]: number[]} = {}
    for (let i = 0, end = this.sxs.length; i < end; i++) {
      const threshold = Math.max(2, this.visuals.line.cache_select('line_width', i) / 2)
      let points = null
      for (let j = 0, endj = this.sxs[i].length-1; j < endj; j++) {
        const p0 = {x: this.sxs[i][j],   y: this.sys[i][j]  }
        const p1 = {x: this.sxs[i][j+1], y: this.sys[i][j+1]}
        const dist = hittest.dist_to_segment(point, p0, p1)
        if (dist < threshold && dist < shortest) {
          shortest = dist
          points = [j]
        }
      }
      if (points)
        hits[i] = points
    }

    result.indices = keys(hits).map((x) => parseInt(x, 10))
    result.multiline_indices = hits

    return result
  }
开发者ID:digitalsatori,项目名称:Bokeh,代码行数:27,代码来源:multi_line.ts


示例7: _hit_rect

 protected _hit_rect(geometry: RectGeometry): Selection {
   const {sx0, sx1, sy0, sy1} = geometry
   const [x0, x1] = this.renderer.xscale.r_invert(sx0, sx1)
   const [y0, y1] = this.renderer.yscale.r_invert(sy0, sy1)
   const bbox = hittest.validate_bbox_coords([x0, x1], [y0, y1])
   const result = hittest.create_empty_hit_test_result()
   result.indices = this.index.indices(bbox)
   return result
 }
开发者ID:Zyell,项目名称:bokeh,代码行数:9,代码来源:marker.ts



注:本文中的core/hittest.create_empty_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