intersectsPlane(plane) {
    this.rotation.extractBasis(xAxis, yAxis, zAxis);

    // compute the projection interval radius of this OBB onto L(t) = this->center + t * p.normal;

    const r = this.halfSize.x * Math.abs(plane.normal.dot(xAxis)) + this.halfSize.y * Math.abs(plane.normal.dot(yAxis)) + this.halfSize.z * Math.abs(plane.normal.dot(zAxis));

    // compute distance of the OBB's center from the plane

    const d = plane.normal.dot(this.center) - plane.constant;

    // Intersection occurs when distance d falls within [-r,+r] interval

    return Math.abs(d) <= r;
  }
Reference: Testing Box Against Plane in Real-Time Collision Detection
by Christer Ericson (chapter 5.2.3)

@param {Plane} plane
@returns {Boolean}