# MaterialProperty

#### abstract new Cesium.MaterialProperty()
DataSources/MaterialProperty.js 22

The interface for all `Property` objects that represent `Material` uniforms. This type defines an interface and cannot be instantiated directly.

##### See:

- ColorMaterialProperty
- CompositeMaterialProperty
- GridMaterialProperty
- ImageMaterialProperty
- PolylineGlowMaterialProperty
- PolylineOutlineMaterialProperty
- StripeMaterialProperty

### Members

#### readonly definitionChanged : Event
DataSources/MaterialProperty.js 47

Gets the event that is raised whenever the definition of this property changes. The definition is considered to have changed if a call to getValue would return a different result for the same time.

#### readonly isConstant : Boolean
DataSources/MaterialProperty.js 35

Gets a value indicating if this property is constant. A property is considered constant if getValue always returns the same result for the current definition.

### Methods

#### equals(other) → Boolean
DataSources/MaterialProperty.js 79

Compares this property to the provided property and returns `true` if they are equal, `false` otherwise.

Name | Type | Description
--- | --- | ---
`other` | Property | optional The other property.

##### Returns:

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

#### getType(time) → String
DataSources/MaterialProperty.js 59

Gets the `Material` type at the provided time.

Name | Type | Description
--- | --- | ---
`time` | JulianDate | The time for which to retrieve the type.

##### Returns:

The type of material.

#### getValue(time, result) → Object
DataSources/MaterialProperty.js 69

Gets the value of the property at the provided time.

Name | Type | Description
--- | --- | ---
`time` | JulianDate | The time for which to retrieve the value.
`result` | Object | optional The object to store the value into, if omitted, a new instance is created and returned.

##### Returns:

The modified result parameter or a new instance if the result parameter was not supplied.