# ComponentDatatype

#### ComponentDatatype()
Core/ComponentDatatype.js 29

WebGL component datatypes. Components are intrinsics, which form attributes, which form vertices.

### Members

#### static constantCesium.ComponentDatatype.DOUBLE : Number
Core/ComponentDatatype.js 108

64-bit floating-point corresponding to `gl.DOUBLE` (in Desktop OpenGL; this is not supported in WebGL, and is emulated in Cesium via `GeometryPipeline.encodeAttribute`) and the type of an element in `Float64Array`.

Default Value: `0x140A`

#### static constantCesium.ComponentDatatype.INT : Number
Core/ComponentDatatype.js 75

32-bit signed int corresponding to `INT` and the type of an element in `Int32Array`.

#### static constantCesium.ComponentDatatype.UNSIGNED_INT : Number
Core/ComponentDatatype.js 86

32-bit unsigned int corresponding to `UNSIGNED_INT` and the type of an element in `Uint32Array`.

#### static constantCesium.ComponentDatatype.BYTE : Number
Core/ComponentDatatype.js 37

8-bit signed byte corresponding to `gl.BYTE` and the type of an element in `Int8Array`.

#### static constantCesium.ComponentDatatype.FLOAT : Number
Core/ComponentDatatype.js 95

32-bit floating-point corresponding to `FLOAT` and the type of an element in `Float32Array`.

#### static constantCesium.ComponentDatatype.SHORT : Number
Core/ComponentDatatype.js 55

16-bit signed short corresponding to `SHORT` and the type of an element in `Int16Array`.

#### static constantCesium.ComponentDatatype.UNSIGNED_BYTE : Number
Core/ComponentDatatype.js 46

8-bit unsigned byte corresponding to `UNSIGNED_BYTE` and the type of an element in `Uint8Array`.

#### static constantCesium.ComponentDatatype.UNSIGNED_SHORT : Number
Core/ComponentDatatype.js 64

16-bit unsigned short corresponding to `UNSIGNED_SHORT` and the type of an element in `Uint16Array`.

### Methods

#### staticCesium.ComponentDatatype.createArrayBufferView(componentDatatype, buffer, byteOffset, length) → Int8Array|Uint8Array|Int16Array|Uint16Array|Int32Array|Uint32Array|Float32Array|Float64Array
Core/ComponentDatatype.js 268

Creates a typed view of an array of bytes.

Name | Type | Description
--- | --- | ---
`componentDatatype` | ComponentDatatype | The type of the view to create.
`buffer` | ArrayBuffer | The buffer storage to use for the view.
`byteOffset` | Number | optional The offset, in bytes, to the first element in the view.
`length` | Number | optional The number of elements in the view.

##### Returns:

A typed array view of the buffer.

##### Throws:

- DeveloperError : componentDatatype is not a valid value.

#### staticCesium.ComponentDatatype.createTypedArray(componentDatatype, valuesOrLength) → Int8Array|Uint8Array|Int16Array|Uint16Array|Int32Array|Uint32Array|Float32Array|Float64Array
Core/ComponentDatatype.js 223

Creates a typed array corresponding to component data type.

Name | Type | Description
--- | --- | ---
`componentDatatype` | ComponentDatatype | The component data type.
`valuesOrLength` | Number | Array | The length of the array to create or an array.

##### Returns:

A typed array.

##### Throws:

- DeveloperError : componentDatatype is not a valid value.

##### Example:

    // creates a Float32Array with length of 100
    var typedArray = Cesium.ComponentDatatype.createTypedArray(Cesium.ComponentDatatype.FLOAT, 100);

#### staticCesium.ComponentDatatype.fromName(name) → ComponentDatatype
Core/ComponentDatatype.js 313

Get the ComponentDatatype from its name.

Name | Type | Description
--- | --- | ---
`name` | String | The name of the ComponentDatatype.

##### Returns:

The ComponentDatatype.

##### Throws:

- DeveloperError : name is not a valid value.

#### staticCesium.ComponentDatatype.fromTypedArray(array) → ComponentDatatype
Core/ComponentDatatype.js 160

Gets the `ComponentDatatype` for the provided TypedArray instance.

Name | Type | Description
--- | --- | ---
`array` | TypedArray | The typed array.

##### Returns:

The ComponentDatatype for the provided array, or undefined if the array is not a TypedArray.

#### staticCesium.ComponentDatatype.getSizeInBytes(componentDatatype) → Number
Core/ComponentDatatype.js 123

Returns the size, in bytes, of the corresponding datatype.

Name | Type | Description
--- | --- | ---
`componentDatatype` | ComponentDatatype | The component datatype to get the size of.

##### Returns:

The size in bytes.

##### Throws:

- DeveloperError : componentDatatype is not a valid value.

##### Example:

    // Returns Int8Array.BYTES_PER_ELEMENT
    var size = Cesium.ComponentDatatype.getSizeInBytes(Cesium.ComponentDatatype.BYTE);

#### staticCesium.ComponentDatatype.validate(componentDatatype) → Boolean
Core/ComponentDatatype.js 198

Validates that the provided component datatype is a valid `ComponentDatatype`

Name | Type | Description
--- | --- | ---
`componentDatatype` | ComponentDatatype | The component datatype to validate.

##### Returns:

`true` if the provided component datatype is a valid value; otherwise, `false`.

##### Example:

    if (!Cesium.ComponentDatatype.validate(componentDatatype)) {
      throw new Cesium.DeveloperError('componentDatatype must be a valid value.');
    }