Foundry Virtual Tabletop - API Documentation - Version 14
    Preparing search index...

    A ray for the purposes of computing sight and collision Given points A[x,y] and B[x,y]

    Slope-Intercept form: y = a + bx y = A.y + ((B.y - A.Y) / (B.x - A.x))x

    Parametric form: R(t) = (1-t)A + tB

    The origin of the Ray

    The destination of the Ray

    Index

    Properties

    A: Point

    The origin point, {x, y}

    B: Point

    The destination point, {x, y}

    dx: number

    The horizontal distance of the ray, x1 - x0

    dy: number

    The vertical distance of the ray, y1 - y0

    slope: number

    The slope of the ray, dy over dx

    x0: number

    The origin x-coordinate

    y0: number

    The origin y-coordinate

    Accessors

    • get angle(): number

      The normalized angle of the ray in radians on the range (-PI, PI). The angle is computed lazily (only if required) and cached.

      Returns number

    • get bounds(): Rectangle

      A normalized bounding rectangle that encompasses the Ray

      Returns Rectangle

    • get distance(): number

      The distance (length) of the Ray in pixels. The distance is computed lazily (only if required) and cached.

      Returns number

    Methods

    • Find the point I[x,y] and distance t* on ray R(t) which intersects another ray.

      Parameters

      • coords: [number, number, number, number]

        An array of four coordinates [x1, y1, x2, y2].

      Returns LineIntersection | null

      The intersection result from foundry.utils.lineSegmentIntersection or null if no intersection was found.

    • Project the Array by some proportion of it's initial distance. Return the coordinates of that point along the path.

      Parameters

      • t: number

        The distance along the Ray

      Returns Object

      The coordinates of the projected point

    • Reverse the direction of the Ray, returning a second Ray

      Returns Ray

    • Create a new ray which uses the same origin point, but a slightly offset angle and distance

      Parameters

      • offset: number

        An offset in radians which modifies the angle of the original Ray

      • Optionaldistance: number

        A distance the new ray should project, otherwise uses the same distance.

      Returns Ray

      A new Ray with an offset angle

    • A factory method to construct a Ray from an origin point, an angle, and a distance

      Parameters

      • x: number

        The origin x-coordinate

      • y: number

        The origin y-coordinate

      • radians: number

        The ray angle in radians

      • distance: number

        The distance of the ray in pixels

      Returns Ray

      The constructed Ray instance

    • A factory method to construct a Ray from points in array format.

      Parameters

      • A: number[]

        The origin point [x,y]

      • B: number[]

        The destination point [x,y]

      Returns Ray

      The constructed Ray instance

    • Create a Ray by projecting a certain distance towards a known point.

      Parameters

      • origin: Point

        The origin of the Ray

      • point: Point

        The point towards which to project

      • distance: number

        The distance of projection

      Returns Ray

    • Create a Ray by projecting a certain squared-distance towards a known point.

      Parameters

      • origin: Point

        The origin of the Ray

      • point: Point

        The point towards which to project

      • distance2: number

        The squared distance of projection

      Returns Ray