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

main.cesium.StripeMaterialProperty.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

/**
 * A [MaterialProperty] that maps to stripe [Material] uniforms.
 * @see Online Documentation
 */
external class StripeMaterialProperty : MaterialProperty {
    /**
     * Gets a value indicating if this property is constant.  A property is considered
     * constant if getValue always returns the same result for the current definition.
     * @see Online Documentation
     */
    override val isConstant: Boolean

    /**
     * Gets the event that is raised whenever the definition of this property changes.
     * The definition is considered to have changed if a call to getValue would return
     * a different result for the same time.
     * @see Online Documentation
     */
    override val definitionChanged: Event

    /**
     * Gets or sets the Property specifying the [StripeOrientation]/
     * @see Online Documentation
     */
    var orientation: Property?

    /**
     * Gets or sets the Property specifying the first [Color].
     * @see Online Documentation
     */
    var evenColor: Property?

    /**
     * Gets or sets the Property specifying the second [Color].
     * @see Online Documentation
     */
    var oddColor: Property?

    /**
     * Gets or sets the numeric Property specifying the point into the pattern
     * to begin drawing; with 0.0 being the beginning of the even color, 1.0 the beginning
     * of the odd color, 2.0 being the even color again, and any multiple or fractional values
     * being in between.
     * @see Online Documentation
     */
    var offset: Property?

    /**
     * Gets or sets the numeric Property specifying how many times the stripes repeat.
     * @see Online Documentation
     */
    var repeat: Property?

    /**
     * Gets the [Material] type at the provided time.
     * @param [time] The time for which to retrieve the type.
     * @return The type of material.
     * @see Online Documentation
     */
    override fun getType(time: JulianDate): String

    /**
     * Gets the value of the property at the provided time.
     * @param [time] The time for which to retrieve the value.
     * @param [result] The object to store the value into, if omitted, a new instance is created and returned.
     * @return The modified result parameter or a new instance if the result parameter was not supplied.
     * @see Online Documentation
     */
    override fun getValue(
        time: JulianDate,
        result: Any?,
    ): Any
}

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy