/** * Converts a Cartesian point to a geographic position. This globe's projection specifies the Cartesian coordinate * system. * * @param x the Cartesian point's X component * @param y the Cartesian point's Y component * @param z the Cartesian point's Z component * @param result a pre-allocated {@link Position} in which to store the computed geographic position * * @return the result argument, set to the computed geographic position * * @throws IllegalArgumentException if the result is null */ public Position cartesianToGeographic(double x, double y, double z, Position result) { if (result == null) { throw new IllegalArgumentException( Logger.logMessage(Logger.ERROR, "Globe", "cartesianToGeographic", "missingResult")); } return this.projection.cartesianToGeographic(this, x, y, z, result); }