/* * Geotoolkit.org - An Open Source Java GIS Toolkit * http://www.geotoolkit.org * * (C) 2005-2012, Open Source Geospatial Foundation (OSGeo) * (C) 2010-2012, Geomatys * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ package org.geotoolkit.openoffice; import com.sun.star.uno.XInterface; import com.sun.star.beans.XPropertySet; import com.sun.star.lang.IllegalArgumentException; /** * Services from the {@link org.geotoolkit.referencing} package to be exported to * <A HREF="http://www.openoffice.org">OpenOffice</A>. * <p> * This interface is derived from the {@code XReferencing.idl} file using the {@code javamaker} * tool provided in OpenOffice SDK, and disassembling the output using the {@code javap} tool * provided in Java SDK. This source file exists mostly for javadoc purpose and in order to keep * IDE happy. The {@code .class} file compiled from this source file <strong>MUST</strong> be * overwritten by the {@code .class} file generated by {@code javamaker}. * * @author Martin Desruisseaux (IRD, Geomatys) * @version 3.20 * * @since 3.09 (derived from 2.2) * @module */ public interface XReferencing extends XInterface { /** * Converts text in degrees-minutes-seconds to an angle in decimal degrees. * * @param xOptions Provided by OpenOffice. * @param text The text to be converted to an angle. * @param pattern The text that describes the format (example: "D°MM.m'"). * @return The angle parsed as a number. * @throws IllegalArgumentException if {@code pattern} is illegal. */ double getValueAngle(XPropertySet xOptions, String text, Object pattern) throws IllegalArgumentException; /** * Converts an angle to text according to a given format. * * @param xOptions Provided by OpenOffice. * @param value The angle value (in decimal degrees) to be converted. * @param pattern The text that describes the format (example: "D°MM.m'"). * @return The angle formatted as a string. * @throws IllegalArgumentException if {@code pattern} is illegal. */ String getTextAngle(XPropertySet xOptions, double value, Object pattern) throws IllegalArgumentException; /** * Converts a longitude to text according to a given format. * * @param xOptions Provided by OpenOffice. * @param value The longitude value (in decimal degrees) to be converted. * @param pattern The text that describes the format (example: "D°MM.m'"). * @return The longitude formatted as a string. * @throws IllegalArgumentException if {@code pattern} is illegal. */ String getTextLongitude(XPropertySet xOptions, double value, Object pattern) throws IllegalArgumentException; /** * Converts a latitude to text according to a given format. * * @param xOptions Provided by OpenOffice. * @param value The latitude value (in decimal degrees) to be converted. * @param pattern The text that describes the format (example: "D°MM.m'"). * @return The latitude formatted as a string. * @throws IllegalArgumentException if {@code pattern} is illegal. */ String getTextLatitude(XPropertySet xOptions, double value, Object pattern) throws IllegalArgumentException; /** * Computes the orthodromic distance and azimuth between two coordinates. * * @param xOptions Provided by OpenOffice. * @param source The source positions. * @param target The target positions. * @param CRS Authority code of the coordinate reference system. * @return The orthodromic distance. */ double[][] getOrthodromicDistance(XPropertySet xOptions, double[][] source, double[][] target, Object CRS); /** * Computes the coordinates after a displacement of the specified distance. * * @param xOptions Provided by OpenOffice. * @param source The source positions. * @param displacement The distance and azimuth. * @param CRS Authority code of the coordinate reference system. * @return The destination coordinates. */ double[][] getOrthodromicForward(XPropertySet xOptions, double[][] source, double[][] displacement, Object CRS); }