当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript hittest.dist_to_segment函数代码示例

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


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

示例1: _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

示例2: _hit_point

  _hit_point(geometry) {
    /* 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_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, p1] = [{x: this.sx[i], y: this.sy[i]}, {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['0d'].glyph = this.model;
        result['0d'].get_view = () => this
        result['0d'].flag = true;  // backward compat
        result['0d'].indices = [i];
      }
    }

    return result;
  }
开发者ID:FourtekIT-incubator,项目名称:bokeh,代码行数:33,代码来源:line.ts

示例3: _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


注:本文中的core/hittest.dist_to_segment函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。