# CompositeProperty

#### new Cesium.CompositeProperty()
engine/Source/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:

    const constantProperty = ...;
    const 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.
    const 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
engine/Source/DataSources/CompositeProperty.js 88

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
engine/Source/DataSources/CompositeProperty.js 99

Gets the interval collection.

#### readonly isConstant : boolean
engine/Source/DataSources/CompositeProperty.js 74

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
engine/Source/DataSources/CompositeProperty.js 134

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
engine/Source/DataSources/CompositeProperty.js 115

Gets the value of the property at the provided time.

Name | Type | Default | Description
--- | --- | --- | ---
`time` | JulianDate | `JulianDate.now()` | optional The time for which to retrieve the value. If omitted, the current system time is used.
`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.

Need help? The fastest way to get answers is from the community and team on the Cesium Forum.