All Downloads are FREE. Search and download functionalities are using the official Maven repository.

main.cesium.Cartographic.kt Maven / Gradle / Ivy

The newest version!
// Automatically generated - do not modify!

@file:JsModule("cesium")

@file:Suppress(
    "EXTERNAL_CLASS_CONSTRUCTOR_PROPERTY_PARAMETER",
)

package cesium

/**
 * A position defined by longitude, latitude, and height.
 * @see Online Documentation
 *
 * @constructor
 * @property [longitude] The longitude, in radians.
 *   Default value - `0.0`
 * @property [latitude] The latitude, in radians.
 *   Default value - `0.0`
 * @property [height] The height, in meters, above the ellipsoid.
 *   Default value - `0.0`
 * @see Online Documentation
 */
external class Cartographic(
    var longitude: Double = definedExternally,
    var latitude: Double = definedExternally,
    var height: Double = definedExternally,
) {
    /**
     * Duplicates this instance.
     * @param [result] The object onto which to store the result.
     * @return The modified result parameter or a new Cartographic instance if one was not provided.
     * @see Online Documentation
     */
    fun clone(result: Cartographic? = definedExternally): Cartographic

    /**
     * Compares the provided against this cartographic componentwise and returns
     * `true` if they are within the provided epsilon,
     * `false` otherwise.
     * @param [right] The second cartographic.
     * @param [epsilon] The epsilon to use for equality testing.
     *   Default value - `0`
     * @return `true` if left and right are within the provided epsilon, `false` otherwise.
     * @see Online Documentation
     */
    fun equalsEpsilon(
        right: Cartographic? = definedExternally,
        epsilon: Double? = definedExternally,
    ): Boolean

    companion object {
        /**
         * Creates a new Cartographic instance from longitude and latitude
         * specified in radians.
         * @param [longitude] The longitude, in radians.
         * @param [latitude] The latitude, in radians.
         * @param [height] The height, in meters, above the ellipsoid.
         *   Default value - `0.0`
         * @param [result] The object onto which to store the result.
         * @return The modified result parameter or a new Cartographic instance if one was not provided.
         * @see Online Documentation
         */
        fun fromRadians(
            longitude: Double,
            latitude: Double,
            height: Double? = definedExternally,
            result: Cartographic? = definedExternally,
        ): Cartographic

        /**
         * Creates a new Cartographic instance from longitude and latitude
         * specified in degrees.  The values in the resulting object will
         * be in radians.
         * @param [longitude] The longitude, in degrees.
         * @param [latitude] The latitude, in degrees.
         * @param [height] The height, in meters, above the ellipsoid.
         *   Default value - `0.0`
         * @param [result] The object onto which to store the result.
         * @return The modified result parameter or a new Cartographic instance if one was not provided.
         * @see Online Documentation
         */
        fun fromDegrees(
            longitude: Double,
            latitude: Double,
            height: Double? = definedExternally,
            result: Cartographic? = definedExternally,
        ): Cartographic

        /**
         * Creates a new Cartographic instance from a Cartesian position. The values in the
         * resulting object will be in radians.
         * @param [cartesian] The Cartesian position to convert to cartographic representation.
         * @param [ellipsoid] The ellipsoid on which the position lies.
         *   Default value - [Ellipsoid.WGS84]
         * @param [result] The object onto which to store the result.
         * @return The modified result parameter, new Cartographic instance if none was provided, or undefined if the cartesian is at the center of the ellipsoid.
         * @see Online Documentation
         */
        fun fromCartesian(
            cartesian: Cartesian3,
            ellipsoid: Ellipsoid? = definedExternally,
            result: Cartographic? = definedExternally,
        ): Cartographic

        /**
         * Creates a new Cartesian3 instance from a Cartographic input. The values in the inputted
         * object should be in radians.
         * @param [cartographic] Input to be converted into a Cartesian3 output.
         * @param [ellipsoid] The ellipsoid on which the position lies.
         *   Default value - [Ellipsoid.WGS84]
         * @param [result] The object onto which to store the result.
         * @return The position
         * @see Online Documentation
         */
        fun toCartesian(
            cartographic: Cartographic,
            ellipsoid: Ellipsoid? = definedExternally,
            result: Cartesian3? = definedExternally,
        ): Cartesian3

        /**
         * Duplicates a Cartographic instance.
         * @param [cartographic] The cartographic to duplicate.
         * @param [result] The object onto which to store the result.
         * @return The modified result parameter or a new Cartographic instance if one was not provided. (Returns undefined if cartographic is undefined)
         * @see Online Documentation
         */
        fun clone(
            cartographic: Cartographic,
            result: Cartographic? = definedExternally,
        ): Cartographic

        /**
         * Compares the provided cartographics componentwise and returns
         * `true` if they are equal, `false` otherwise.
         * @param [left] The first cartographic.
         * @param [right] The second cartographic.
         * @return `true` if left and right are equal, `false` otherwise.
         * @see Online Documentation
         */
        fun equals(
            left: Cartographic? = definedExternally,
            right: Cartographic? = definedExternally,
        ): Boolean

        /**
         * Compares the provided cartographics componentwise and returns
         * `true` if they are within the provided epsilon,
         * `false` otherwise.
         * @param [left] The first cartographic.
         * @param [right] The second cartographic.
         * @param [epsilon] The epsilon to use for equality testing.
         *   Default value - `0`
         * @return `true` if left and right are within the provided epsilon, `false` otherwise.
         * @see Online Documentation
         */
        fun equalsEpsilon(
            left: Cartographic? = definedExternally,
            right: Cartographic? = definedExternally,
            epsilon: Double? = definedExternally,
        ): Boolean

        /**
         * An immutable Cartographic instance initialized to (0.0, 0.0, 0.0).
         * @see Online Documentation
         */
        val ZERO: Cartographic
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy