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

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

// Automatically generated - do not modify!

@file:JsModule("cesium")

@file:Suppress(
    "NON_EXTERNAL_DECLARATION_IN_INAPPROPRIATE_FILE",
)

package cesium

/**
 * Options for performing point attenuation based on geometric error when rendering
 * point clouds using 3D Tiles.
 * @see Online Documentation
 */
external class PointCloudShading {
    /**
     * Perform point attenuation based on geometric error.
     * @see Online Documentation
     */
    var attenuation: Boolean

    /**
     * Scale to be applied to the geometric error before computing attenuation.
     * @see Online Documentation
     */
    var geometricErrorScale: Double

    /**
     * Maximum point attenuation in pixels. If undefined, the Cesium3DTileset's maximumScreenSpaceError will be used.
     * @see Online Documentation
     */
    var maximumAttenuation: Int

    /**
     * Average base resolution for the dataset in meters.
     * Used in place of geometric error when geometric error is 0.
     * If undefined, an approximation will be computed for each tile that has geometric error of 0.
     * @see Online Documentation
     */
    var baseResolution: Int

    /**
     * Use eye dome lighting when drawing with point attenuation
     * Requires support for EXT_frag_depth, OES_texture_float, and WEBGL_draw_buffers extensions in WebGL 1.0,
     * otherwise eye dome lighting is ignored.
     * @see Online Documentation
     */
    var eyeDomeLighting: Boolean

    /**
     * Eye dome lighting strength (apparent contrast)
     * @see Online Documentation
     */
    var eyeDomeLightingStrength: Double

    /**
     * Thickness of contours from eye dome lighting
     * @see Online Documentation
     */
    var eyeDomeLightingRadius: Double

    /**
     * Determines whether back-facing points are hidden.
     * This option works only if data has normals included.
     * @see Online Documentation
     */
    var backFaceCulling: Boolean

    /**
     * Determines whether a point cloud that contains normals is shaded by the scene's light source.
     * @see Online Documentation
     */
    var normalShading: Boolean

    companion object {
        /**
         * Determines if point cloud shading is supported.
         * @param [scene] The scene.
         * @return `true` if point cloud shading is supported; otherwise, returns `false`
         * @see Online Documentation
         */
        fun isSupported(scene: Scene): Boolean
    }
}

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy