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

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

// Automatically generated - do not modify!

@file:JsModule("cesium")

@file:Suppress(
    "NON_EXTERNAL_DECLARATION_IN_INAPPROPRIATE_FILE",
)

package cesium

/**
 * Describes a cylinder, truncated cone, or cone defined by a length, top radius, and bottom radius.
 * The center position and orientation are determined by the containing [Entity].
 * @see Online Documentation
 */
external class CylinderGraphics {
    /**
     * 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 cylinder.
     * @see Online Documentation
     */
    var show: Property?

    /**
     * Gets or sets the numeric Property specifying the length of the cylinder.
     * @see Online Documentation
     */
    var length: Property?

    /**
     * Gets or sets the numeric Property specifying the radius of the top of the cylinder.
     * @see Online Documentation
     */
    var topRadius: Property?

    /**
     * Gets or sets the numeric Property specifying the radius of the bottom of the cylinder.
     * @see Online Documentation
     */
    var bottomRadius: Property?

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

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

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

    /**
     * Gets or sets the boolean Property specifying whether the cylinder 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 Property specifying the number of vertical lines to draw along the perimeter for the outline.
     * @see Online Documentation
     */
    var numberOfVerticalLines: Property?

    /**
     * Gets or sets the Property specifying the number of edges around the perimeter of the cylinder.
     * @see Online Documentation
     */
    var slices: Property?

    /**
     * Get or sets the enum Property specifying whether the cylinder
     * 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 cylinder 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: CylinderGraphics? = definedExternally): CylinderGraphics

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy