Options
All
  • Public
  • Public/Protected
  • All
Menu

Class PathUtils

Hierarchy

  • PathUtils

Index

Properties

Static ArrowMeshOffsetZ

ArrowMeshOffsetZ: number = 0.2

Static PathMeshOffsetZ

PathMeshOffsetZ: number = 0.1

Methods

Static averageStepLength

  • averageStepLength(path: [number, number][]): number
  • Parameters

    • path: [number, number][]

    Returns number

Static findPointIndexByPath

  • findPointIndexByPath(path: Vector3[], point: Vector3, tolerance?: number): number[]
  • Parameters

    • path: Vector3[]
    • point: Vector3
    • Default value tolerance: number = 0.0001

    Returns number[]

Static generatePathMesh

  • generatePathMesh(path: object[], params?: undefined | object): object
  • deprecated

    Parameters

    • path: object[]

      路径点二维坐标数组

    • Optional params: undefined | object

      其它可选参数

    Returns object

    • arrowMeshes: object[]
    • mesh: Mesh
    • newPath: [number, number][]
    • pathDistance: number[]
    • pathMinX: number
    • pathMinY: number
    • pointMap: Map<string, Map<string, number[][]>>
    • progressBuffer: Float32Array

Static getAngle

  • getAngle(vec0: Vector2, vec1: Vector2): number
  • Parameters

    • vec0: Vector2
    • vec1: Vector2

    Returns number

Static getDistances

  • getDistances(path: Vector3[]): number[]
  • Parameters

    • path: Vector3[]

    Returns number[]

Static getPointHash

  • getPointHash(x: number, y: number, minX: number, minY: number, dist?: number): [number, number]
  • Parameters

    • x: number
    • y: number
    • minX: number
    • minY: number
    • Default value dist: number = 1

    Returns [number, number]

Static getRenderHeight

  • getRenderHeight(expression: number[], x: number, y: number): number
  • Parameters

    • expression: number[]
    • x: number
    • y: number

    Returns number

Static invalidPath

  • invalidPath(path: Vector3[]): boolean
  • Parameters

    • path: Vector3[]

    Returns boolean

Static mergePathSameVectorPoint2

  • mergePathSameVectorPoint2(path: Vector2[], tolerance?: number): void
  • Parameters

    • path: Vector2[]
    • Default value tolerance: number = 0.0001

    Returns void

Static mergePathSameVectorPoint3

  • mergePathSameVectorPoint3(path: Vector3[], tolerance?: number): void
  • Parameters

    • path: Vector3[]
    • Default value tolerance: number = 0.0001

    Returns void

Static mergeSamePoint2

  • mergeSamePoint2(path: Vector2[], tolerance?: number): void
  • Parameters

    • path: Vector2[]
    • Default value tolerance: number = 0.0001

    Returns void

Static mergeSamePoint3

  • mergeSamePoint3(path: Vector3[], tolerance?: number): void
  • Parameters

    • path: Vector3[]
    • Default value tolerance: number = 0.0001

    Returns void

Static nearlyEqualsV2

  • nearlyEqualsV2(v1: Vector2, v2: Vector2, tolerance?: number): boolean
  • Parameters

    • v1: Vector2
    • v2: Vector2
    • Default value tolerance: number = 0.0001

    Returns boolean

Static nearlyEqualsV3

  • nearlyEqualsV3(v1: Vector3, v2: Vector3, tolerance?: number): boolean
  • Parameters

    • v1: Vector3
    • v2: Vector3
    • Default value tolerance: number = 0.0001

    Returns boolean

Static pointInLine

  • pointInLine(point: Vector3, lineP1: Vector3, lineP2: Vector3, tolerance?: number): boolean
  • Parameters

    • point: Vector3
    • lineP1: Vector3
    • lineP2: Vector3
    • Default value tolerance: number = 0.0001

    Returns boolean

Static simplify

  • simplify(path: object[], ignoreFirst?: boolean, smoothingOptimization?: boolean, simplifyDistanceThreshold?: number, maximumTurningDegree?: number, smoothingDistance?: number): object[]
  • 路径简化

    Parameters

    • path: object[]

      路径点集数组

    • Default value ignoreFirst: boolean = false

      是否在简化过程中忽略第一个点

    • Default value smoothingOptimization: boolean = true

      是否针对平滑对路径进行插值

    • Default value simplifyDistanceThreshold: number = 5

      简化时路径最短保留的距离, 默认为5

    • Default value maximumTurningDegree: number = 150

      简化时三点夹角认定为转弯的最大角度,默认为150

    • Default value smoothingDistance: number = 3

      平滑时使用的转角最大距离

    Returns object[]

Static smoothPath

  • smoothPath(path: [number, number][], threshold?: number): [number, number][]
  • Parameters

    • path: [number, number][]
    • Default value threshold: number = 0.25

    Returns [number, number][]

Static smoothPathBezier

  • smoothPathBezier(path: [number, number][], bezierLength: number, segment?: number): [number, number][]
  • Parameters

    • path: [number, number][]
    • bezierLength: number
    • Default value segment: number = 10

    Returns [number, number][]

Static splitPathByPoints

  • splitPathByPoints(path: Vector3[], closed: boolean, points: Vector3[], widths: number | number[], tolerance?: number): object
  • Parameters

    • path: Vector3[]
    • closed: boolean
    • points: Vector3[]
    • widths: number | number[]
    • Default value tolerance: number = 0.0001

    Returns object

    • paths: Vector3[][]
    • split: boolean