Picking Edges VS. computeViewRectangle

I am trying to obtain the extent of the view on all 4 corners to obtain the GPS positions. I tried computeViewRectangle ended up having to obtain the positions from the edges of the CesiumContainer. Is this the best function to use since the view could have pitch roll and is not a heading of 0 and be not be a perfect rectangle?
I am using this function 4 times for the edges
var position = viewer.scene.globe.pick(viewer.camera.getPickRay(new Cesium.Cartesian2(0, 0)), viewer.scene); and Then if (Cesium.defined(position)) { var cartographicPosition = Cesium.Ellipsoid.WGS84.cartesianToCartographic(position); var lon1 = Cesium.Math.toDegrees(cartographicPosition.longitude); var lat1 = Cesium.Math.toDegrees(cartographicPosition.latitude); }