# CompositeProperty

#### new Cesium.CompositeProperty()
DataSources/CompositeProperty.js 55

A `Property` which is defined by a `TimeIntervalCollection`, where the data property of each `TimeInterval` is another Property instance which is evaluated at the provided time.

##### Example:

    var constantProperty = ...;
    var sampledProperty = ...;

    //Create a composite property from two previously defined properties
    //where the property is valid on August 1st, 2012 and uses a constant
    //property for the first half of the day and a sampled property for the
    //remaining half.
    var composite = new Cesium.CompositeProperty();
    composite.intervals.addInterval(Cesium.TimeInterval.fromIso8601({
        iso8601 : '2012-08-01T00:00:00.00Z/2012-08-01T12:00:00.00Z',
        data : constantProperty
    }));
    composite.intervals.addInterval(Cesium.TimeInterval.fromIso8601({
        iso8601 : '2012-08-01T12:00:00.00Z/2012-08-02T00:00:00.00Z',
        isStartIncluded : false,
        isStopIncluded : false,
        data : sampledProperty
    }));

##### See:

- CompositeMaterialProperty
- CompositePositionProperty

### Members

#### readonly definitionChanged : Event
DataSources/CompositeProperty.js 85

Gets the event that is raised whenever the definition of this property changes. The definition is changed whenever setValue is called with data different than the current value.

#### intervals : TimeIntervalCollection
DataSources/CompositeProperty.js 96

Gets the interval collection.

#### readonly isConstant : Boolean
DataSources/CompositeProperty.js 71

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/CompositeProperty.js 131

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.

#### getValue(time, result) → Object
DataSources/CompositeProperty.js 110

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.