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

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

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

@file:JsModule("cesium")

@file:Suppress(
    "NON_EXTERNAL_DECLARATION_IN_INAPPROPRIATE_FILE",
)

package cesium

/**
 * Describes a two dimensional wall defined as a line strip and optional maximum and minimum heights.
 * The wall conforms to the curvature of the globe and can be placed along the surface or at altitude.
 * @see Online Documentation
 */
external class WallGraphics {
    /**
     * Gets the event that is raised whenever a property or sub-property is changed or modified.
     * @see Online Documentation
     */
    val definitionChanged: Event

    /**
     * Gets or sets the boolean Property specifying the visibility of the wall.
     * @see Online Documentation
     */
    var show: Property?

    /**
     * Gets or sets the Property specifying the array of [Cartesian3] positions which define the top of the wall.
     * @see Online Documentation
     */
    var positions: Property?

    /**
     * Gets or sets the Property specifying an array of heights to be used for the bottom of the wall instead of the surface of the globe.
     * If defined, the array must be the same length as [Wall.positions].
     * @see Online Documentation
     */
    var minimumHeights: Property?

    /**
     * Gets or sets the Property specifying an array of heights to be used for the top of the wall instead of the height of each position.
     * If defined, the array must be the same length as [Wall.positions].
     * @see Online Documentation
     */
    var maximumHeights: Property?

    /**
     * Gets or sets the numeric Property specifying the angular distance between points on the wall.
     * @see Online Documentation
     */
    var granularity: Property?

    /**
     * Gets or sets the boolean Property specifying whether the wall is filled with the provided material.
     * @see Online Documentation
     */
    var fill: Property?

    /**
     * Gets or sets the Property specifying the material used to fill the wall.
     * @see Online Documentation
     */
    var material: MaterialProperty

    /**
     * Gets or sets the Property specifying whether the wall is outlined.
     * @see Online Documentation
     */
    var outline: Property?

    /**
     * Gets or sets the Property specifying the [Color] of the outline.
     * @see Online Documentation
     */
    var outlineColor: Property?

    /**
     * Gets or sets the numeric Property specifying the width of the outline.
     *
     * Note: This property will be ignored on all major browsers on Windows platforms. For details, see (@link https://github.com/CesiumGS/cesium/issues/40}.
     * @see Online Documentation
     */
    var outlineWidth: Property?

    /**
     * Get or sets the enum Property specifying whether the wall
     * casts or receives shadows from light sources.
     * @see Online Documentation
     */
    var shadows: Property?

    /**
     * Gets or sets the [DistanceDisplayCondition] Property specifying at what distance from the camera that this wall will be displayed.
     * @see Online Documentation
     */
    var distanceDisplayCondition: Property?

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

    /**
     * Assigns each unassigned property on this object to the value
     * of the same property on the provided source object.
     * @param [source] The object to be merged into this object.
     * @see Online Documentation
     */
    fun merge(source: WallGraphics)
}

inline fun WallGraphics(
    block: WallGraphics.() -> Unit,
): WallGraphics =
    WallGraphics().apply(block)




© 2015 - 2024 Weber Informatics LLC | Privacy Policy