# ColorGeometryInstanceAttribute

#### new Cesium.ColorGeometryInstanceAttribute(red, green, blue, alpha)
Core/ColorGeometryInstanceAttribute.js 45

Value and type information for per-instance geometry color.

Name | Type | Default | Description
--- | --- | --- | ---
`red` | Number | `1.0` | optional The red component.
`green` | Number | `1.0` | optional The green component.
`blue` | Number | `1.0` | optional The blue component.
`alpha` | Number | `1.0` | optional The alpha component.

##### Example:

    var instance = new Cesium.GeometryInstance({
      geometry : Cesium.BoxGeometry.fromDimensions({
        dimensions : new Cesium.Cartesian3(1000000.0, 1000000.0, 500000.0)
      }),
      modelMatrix : Cesium.Matrix4.multiplyByTranslation(Cesium.Transforms.eastNorthUpToFixedFrame(
        Cesium.Cartesian3.fromDegrees(0.0, 0.0)), new Cesium.Cartesian3(0.0, 0.0, 1000000.0), new Cesium.Matrix4()),
      id : 'box',
      attributes : {
        color : new Cesium.ColorGeometryInstanceAttribute(red, green, blue, alpha)
      }
    });

##### See:

- GeometryInstance
- GeometryInstanceAttribute

### Members

#### readonlycomponentDatatype : ComponentDatatype
Core/ColorGeometryInstanceAttribute.js 78

The datatype of each component in the attribute, e.g., individual elements in `ColorGeometryInstanceAttribute#value`.

Default Value: ``ComponentDatatype.UNSIGNED_BYTE``

#### readonlycomponentsPerAttribute : Number
Core/ColorGeometryInstanceAttribute.js 94

The number of components in the attributes, i.e., `ColorGeometryInstanceAttribute#value`.

Default Value: `4`

#### readonlynormalize : Boolean
Core/ColorGeometryInstanceAttribute.js 112

When `true` and `componentDatatype` is an integer format, indicate that the components should be mapped to the range [0, 1] (unsigned) or [-1, 1] (signed) when they are accessed as floating-point for rendering.

Default Value: `true`

#### value : Uint8Array
Core/ColorGeometryInstanceAttribute.js 58

The values for the attributes stored in a typed array.

Default Value: `[255, 255, 255, 255]`

### Methods

#### staticCesium.ColorGeometryInstanceAttribute.equals(left, right) → Boolean
Core/ColorGeometryInstanceAttribute.js 176

Compares the provided ColorGeometryInstanceAttributes and returns `true` if they are equal, `false` otherwise.

Name | Type | Description
--- | --- | ---
`left` | ColorGeometryInstanceAttribute | optional The first ColorGeometryInstanceAttribute.
`right` | ColorGeometryInstanceAttribute | optional The second ColorGeometryInstanceAttribute.

##### Returns:

`true` if left and right are equal, `false` otherwise.

#### staticCesium.ColorGeometryInstanceAttribute.fromColor(color) → ColorGeometryInstanceAttribute
Core/ColorGeometryInstanceAttribute.js 133

Creates a new `ColorGeometryInstanceAttribute` instance given the provided `Color`.

Name | Type | Description
--- | --- | ---
`color` | Color | The color.

##### Returns:

The new `ColorGeometryInstanceAttribute` instance.

##### Example:

    var instance = new Cesium.GeometryInstance({
      geometry : geometry,
      attributes : {
        color : Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.CORNFLOWERBLUE),
      }
    });

#### staticCesium.ColorGeometryInstanceAttribute.toValue(color, result) → Uint8Array
Core/ColorGeometryInstanceAttribute.js 155

Converts a color to a typed array that can be used to assign a color attribute.

Name | Type | Description
--- | --- | ---
`color` | Color | The color.
`result` | Uint8Array | optional The array to store the result in, if undefined a new instance will be created.

##### Returns:

The modified result parameter or a new instance if result was undefined.

##### Example:

    var attributes = primitive.getGeometryInstanceAttributes('an id');
    attributes.color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.AQUA, attributes.color);