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

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

// Automatically generated - do not modify!

@file:Suppress(
    "NON_EXTERNAL_DECLARATION_IN_INAPPROPRIATE_FILE",
)

package cesium

/**
 * Describes a two dimensional icon located at the position of the containing [Entity].
 * @see Online Documentation
 */
@JsName("\$cesium__BillboardGraphics")
external class BillboardGraphics {
    /**
     * 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 billboard.
     * @see Online Documentation
     */
    var show: Property?

    /**
     * Gets or sets the Property specifying the Image, URI, or Canvas to use for the billboard.
     * @see Online Documentation
     */
    var image: Property?

    /**
     * Gets or sets the numeric Property specifying the uniform scale to apply to the image.
     * A scale greater than `1.0` enlarges the billboard while a scale less than `1.0` shrinks it.
     * @see Online Documentation
     */
    var scale: Property?

    /**
     * Gets or sets the [Cartesian2] Property specifying the billboard's pixel offset in screen space
     * from the origin of this billboard.  This is commonly used to align multiple billboards and labels at
     * the same position, e.g., an image and text.  The screen space origin is the top, left corner of the
     * canvas; `x` increases from left to right, and `y` increases from top to bottom.
     * @see Online Documentation
     */
    var pixelOffset: Property?

    /**
     * Gets or sets the [Cartesian3] Property specifying the billboard's offset in eye coordinates.
     * Eye coordinates is a left-handed coordinate system, where `x` points towards the viewer's
     * right, `y` points up, and `z` points into the screen.
     *
     * An eye offset is commonly used to arrange multiple billboards or objects at the same position, e.g., to
     * arrange a billboard above its corresponding 3D model.
     *
     * Below, the billboard is positioned at the center of the Earth but an eye offset makes it always
     * appear on top of the Earth regardless of the viewer's or Earth's orientation.
     * @see Online Documentation
     */
    var eyeOffset: Property?

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

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

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

    /**
     * Gets or sets the Property specifying the [Color] that is multiplied with the `image`.
     * This has two common use cases.  First, the same white texture may be used by many different billboards,
     * each with a different color, to create colored billboards. Second, the color's alpha component can be
     * used to make the billboard translucent as shown below. An alpha of `0.0` makes the billboard
     * transparent, and `1.0` makes the billboard opaque.
     * @see Online Documentation
     */
    var color: Property?

    /**
     * Gets or sets the numeric Property specifying the rotation of the image
     * counter clockwise from the `alignedAxis`.
     * @see Online Documentation
     */
    var rotation: Property?

    /**
     * Gets or sets the [Cartesian3] Property specifying the unit vector axis of rotation
     * in the fixed frame. When set to Cartesian3.ZERO the rotation is from the top of the screen.
     * @see Online Documentation
     */
    var alignedAxis: Property?

    /**
     * Gets or sets the boolean Property specifying if this billboard's size will be measured in meters.
     * @see Online Documentation
     */
    var sizeInMeters: Property?

    /**
     * Gets or sets the numeric Property specifying the width of the billboard in pixels.
     * When undefined, the native width is used.
     * @see Online Documentation
     */
    var width: Property?

    /**
     * Gets or sets the numeric Property specifying the height of the billboard in pixels.
     * When undefined, the native height is used.
     * @see Online Documentation
     */
    var height: Property?

    /**
     * Gets or sets [NearFarScalar] Property specifying the scale of the billboard based on the distance from the camera.
     * A billboard's scale will interpolate between the [NearFarScalar.nearValue] and
     * [NearFarScalar.farValue] while the camera distance falls within the lower and upper bounds
     * of the specified [NearFarScalar.near] and [NearFarScalar.far].
     * Outside of these ranges the billboard's scale remains clamped to the nearest bound.
     * @see Online Documentation
     */
    var scaleByDistance: Property?

    /**
     * Gets or sets [NearFarScalar] Property specifying the translucency of the billboard based on the distance from the camera.
     * A billboard's translucency will interpolate between the [NearFarScalar.nearValue] and
     * [NearFarScalar.farValue] while the camera distance falls within the lower and upper bounds
     * of the specified [NearFarScalar.near] and [NearFarScalar.far].
     * Outside of these ranges the billboard's translucency remains clamped to the nearest bound.
     * @see Online Documentation
     */
    var translucencyByDistance: Property?

    /**
     * Gets or sets [NearFarScalar] Property specifying the pixel offset of the billboard based on the distance from the camera.
     * A billboard's pixel offset will interpolate between the [NearFarScalar.nearValue] and
     * [NearFarScalar.farValue] while the camera distance falls within the lower and upper bounds
     * of the specified [NearFarScalar.near] and [NearFarScalar.far].
     * Outside of these ranges the billboard's pixel offset remains clamped to the nearest bound.
     * @see Online Documentation
     */
    var pixelOffsetScaleByDistance: Property?

    /**
     * Gets or sets the Property specifying a [BoundingRectangle] that defines a
     * sub-region of the `image` to use for the billboard, rather than the entire image,
     * measured in pixels from the bottom-left.
     * @see Online Documentation
     */
    var imageSubRegion: Property?

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

    /**
     * Gets or sets the distance from the camera at which to disable the depth test to, for example, prevent clipping against terrain.
     * When set to zero, the depth test is always applied. When set to Number.POSITIVE_INFINITY, the depth test is never applied.
     * @see Online Documentation
     */
    var disableDepthTestDistance: 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: BillboardGraphics? = definedExternally): BillboardGraphics

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy