function Cesium3DTileStyle(style) {
  this._style = {};
  this._ready = false;

  this._show = undefined;
  this._color = undefined;
  this._pointSize = undefined;
  this._pointOutlineColor = undefined;
  this._pointOutlineWidth = undefined;
  this._labelColor = undefined;
  this._labelOutlineColor = undefined;
  this._labelOutlineWidth = undefined;
  this._font = undefined;
  this._labelStyle = undefined;
  this._labelText = undefined;
  this._backgroundColor = undefined;
  this._backgroundPadding = undefined;
  this._backgroundEnabled = undefined;
  this._scaleByDistance = undefined;
  this._translucencyByDistance = undefined;
  this._distanceDisplayCondition = undefined;
  this._heightOffset = undefined;
  this._anchorLineEnabled = undefined;
  this._anchorLineColor = undefined;
  this._image = undefined;
  this._disableDepthTestDistance = undefined;
  this._horizontalOrigin = undefined;
  this._verticalOrigin = undefined;
  this._labelHorizontalOrigin = undefined;
  this._labelVerticalOrigin = undefined;
  this._meta = undefined;

  this._colorShaderFunction = undefined;
  this._showShaderFunction = undefined;
  this._pointSizeShaderFunction = undefined;
  this._colorShaderFunctionReady = false;
  this._showShaderFunctionReady = false;
  this._pointSizeShaderFunctionReady = false;

  this._colorShaderTranslucent = false;

  setup(this, style);
}
A style that is applied to a {@link Cesium3DTileset}.
<p>
Evaluates an expression defined using the
{@link https://github.com/CesiumGS/3d-tiles/tree/main/specification/Styling|3D Tiles Styling language}.
</p>

@alias Cesium3DTileStyle
@constructor

@param {object} [style] An object defining a style.

@example
tileset.style = new Cesium.Cesium3DTileStyle({
    color : {
        conditions : [
            ['${Height} >= 100', 'color("purple", 0.5)'],
            ['${Height} >= 50', 'color("red")'],
            ['true', 'color("blue")']
        ]
    },
    show : '${Height} > 0',
    meta : {
        description : '"Building id ${id} has height ${Height}."'
    }
});

@example
tileset.style = new Cesium.Cesium3DTileStyle({
    color : 'vec4(${Temperature})',
    pointSize : '${Temperature} * 2.0'
});

@see {@link https://github.com/CesiumGS/3d-tiles/tree/main/specification/Styling|3D Tiles Styling language}