afterUpdate() {
    const {rayIntersection, defaultDistance, targetRayPose} = this

    // Only display if there is a valid ray intersection, or we're configured with a default distance
    let point = rayIntersection && rayIntersection.point
    if (!point && defaultDistance && targetRayPose) {
      point = tempVec3.set(0, 0, -1)
        .multiplyScalar(defaultDistance) //length
        .applyQuaternion(tempQuat.copy(targetRayPose.transform.orientation)) //rotation
        .add(targetRayPose.transform.position) //origin
    }
    if (point) {
      point.copy.call(this, point)
      this.scale = point.distanceTo(this.getCameraPosition()) * Math.sin(this.size * degToRadMult)
      this.visible = true
    } else {
      this.visible = false
    }

    super.afterUpdate()
  }
If nonzero, defines the default distance at which the cursor should be displayed when
the targetRay does not intersect any pointable objects in the scene. Defaults to `0`,
which means it is hidden by default.
@type {number}