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

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

// Automatically generated - do not modify!

@file:JsModule("cesium")

@file:Suppress(
    "NON_EXTERNAL_DECLARATION_IN_INAPPROPRIATE_FILE",
)

package cesium

/**
 * Describes a polygon defined by an hierarchy of linear rings which make up the outer shape and any nested holes.
 * The polygon conforms to the curvature of the globe and can be placed on the surface or
 * at altitude and can optionally be extruded into a volume.
 * @see Online Documentation
 */
external class PolygonGraphics {
    /**
     * 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 polygon.
     * @see Online Documentation
     */
    var show: Property?

    /**
     * Gets or sets the Property specifying the [PolygonHierarchy].
     * @see Online Documentation
     */
    var hierarchy: Property?

    /**
     * Gets or sets the numeric Property specifying the constant altitude of the polygon.
     * @see Online Documentation
     */
    var height: Property?

    /**
     * Gets or sets the Property specifying the [HeightReference].
     * @see Online Documentation
     */
    var heightReference: Property?

    /**
     * Gets or sets the numeric Property specifying the altitude of the polygon extrusion.
     * If [PolygonGraphics.perPositionHeight] is false, the volume starts at [PolygonGraphics.height] and ends at this altitude.
     * If [PolygonGraphics.perPositionHeight] is true, the volume starts at the height of each [PolygonGraphics.hierarchy] position and ends at this altitude.
     * @see Online Documentation
     */
    var extrudedHeight: Property?

    /**
     * Gets or sets the Property specifying the extruded [HeightReference].
     * @see Online Documentation
     */
    var extrudedHeightReference: Property?

    /**
     * Gets or sets the numeric property specifying the rotation of the polygon texture counter-clockwise from north.
     * @see Online Documentation
     */
    var stRotation: Property?

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

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

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

    /**
     * Gets or sets the Property specifying whether the polygon 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?

    /**
     * Gets or sets the boolean specifying whether or not the the height of each position is used.
     * If true, the shape will have non-uniform altitude defined by the height of each [PolygonGraphics.hierarchy] position.
     * If false, the shape will have a constant altitude as specified by [PolygonGraphics.height].
     * @see Online Documentation
     */
    var perPositionHeight: Property?

    /**
     * Gets or sets a boolean specifying whether or not the top of an extruded polygon is included.
     * @see Online Documentation
     */
    var closeTop: Property?

    /**
     * Gets or sets a boolean specifying whether or not the bottom of an extruded polygon is included.
     * @see Online Documentation
     */
    var closeBottom: Property?

    /**
     * Gets or sets the [ArcType] Property specifying the type of lines the polygon edges use.
     * @see Online Documentation
     */
    var arcType: Property?

    /**
     * Get or sets the enum Property specifying whether the polygon
     * 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 polygon will be displayed.
     * @see Online Documentation
     */
    var distanceDisplayCondition: Property?

    /**
     * Gets or sets the [ClassificationType] Property specifying whether this polygon will classify terrain, 3D Tiles, or both when on the ground.
     * @see Online Documentation
     */
    var classificationType: Property?

    /**
     * Gets or sets the zIndex Prperty specifying the ordering of ground geometry.  Only has an effect if the polygon is constant and neither height or extrudedHeight are specified.
     * @see Online Documentation
     */
    var zIndex: ConstantProperty?

    /**
     * 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: PolygonGraphics? = definedExternally): PolygonGraphics

    /**
     * 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: PolygonGraphics)
}

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy