getFrustum() {
      this.updateMatrices()
      let frustum = this._frustum
      let {_worldMatrixVersion, _projectionMatrixVersion} = this
      if (frustum._lastWorldMatrixVersion !== _worldMatrixVersion || frustum._lastProjMatrixVersion !== _projectionMatrixVersion) {
        let camObj = this.threeObject
        let matrix = new Matrix4().multiplyMatrices(camObj.projectionMatrix, camObj.matrixWorldInverse)
        frustum.setFromMatrix(matrix)
        frustum._lastWorldMatrixVersion = _worldMatrixVersion
        frustum._lastProjMatrixVersion = _projectionMatrixVersion
      }
      return frustum
    }
Utility method that returns a Frustum object which is initialized to match this camera's
current state. This can be used for example to optimize updates to the Facade tree by
avoiding work for objects that fall outside the camera's view.

You can access this by calling `this.getCameraFacade().getFrustum()` from any Object3DFacade's
`afterUpdate` lifecycle method or later.

Be careful that this Frustum does not get modified after it is requested, as it is cached for
the lifetime of the camera's current world matrix and modifiying it would result in bad state
for other code requesting it within that lifetime.

@return {Frustum}