new ReferenceProperty(targetCollection, targetId, targetPropertyNames)
    A 
    Property which transparently links to another property on a provided object.
Parameters:
| Name | Type | Description | 
|---|---|---|
| targetCollection | EntityCollection | The entity collection which will be used to resolve the reference. | 
| targetId | String | The id of the entity which is being referenced. | 
| targetPropertyNames | Array.<String> | The names of the property on the target entity which we will use. | 
- Source:
Example
var collection = new Cesium.EntityCollection();
//Create a new entity and assign a billboard scale.
var object1 = new Cesium.Entity({id:'object1'});
object1.billboard = new Cesium.BillboardGraphics();
object1.billboard.scale = new Cesium.ConstantProperty(2.0);
collection.add(object1);
//Create a second entity and reference the scale from the first one.
var object2 = new Cesium.Entity({id:'object2'});
object2.model = new Cesium.ModelGraphics();
object2.model.scale = new Cesium.ReferenceProperty(collection, 'object1', ['billboard', 'scale']);
collection.add(object2);
//Create a third object, but use the fromString helper function.
var object3 = new Cesium.Entity({id:'object3'});
object3.billboard = new Cesium.BillboardGraphics();
object3.billboard.scale = Cesium.ReferenceProperty.fromString(collection, 'object1#billboard.scale');
collection.add(object3);
//You can refer to an entity with a # or . in id and property names by escaping them.
var object4 = new Cesium.Entity({id:'#object.4'});
object4.billboard = new Cesium.BillboardGraphics();
object4.billboard.scale = new Cesium.ConstantProperty(2.0);
collection.add(object4);
var object5 = new Cesium.Entity({id:'object5'});
object5.billboard = new Cesium.BillboardGraphics();
object5.billboard.scale = Cesium.ReferenceProperty.fromString(collection, '\\#object\\.4#billboard.scale');
collection.add(object5);Members
(readonly) definitionChanged :Event
    Gets the event that is raised whenever the definition of this property changes.
The definition is changed whenever the referenced property's definition is changed.
    Type:
- Source:
(readonly) isConstant :Boolean
    Gets a value indicating if this property is constant.
    Type:
- Boolean
- Source:
(readonly) referenceFrame :ReferenceFrame
    Gets the reference frame that the position is defined in.
This property is only valid if the referenced property is a 
    PositionProperty.
Type:
- ReferenceFrame
- Source:
(readonly) resolvedProperty :Property
    Gets the resolved instance of the underlying referenced property.
    Type:
- Source:
(readonly) targetCollection :EntityCollection
    Gets the collection containing the entity being referenced.
    Type:
- Source:
(readonly) targetId :String
    Gets the id of the entity being referenced.
    Type:
- String
- Source:
(readonly) targetPropertyNames :Array.<String>
    Gets the array of property names used to retrieve the referenced property.
    Type:
- Array.<String>
- Source:
Methods
(static) fromString(targetCollection, referenceString) → {ReferenceProperty}
    Creates a new instance given the entity collection that will
be used to resolve it and a string indicating the target entity id and property.
The format of the string is "objectId#foo.bar", where # separates the id from
property path and . separates sub-properties.  If the reference identifier or
or any sub-properties contains a # . or \ they must be escaped.
    Parameters:
| Name | Type | Description | 
|---|---|---|
| targetCollection | EntityCollection | |
| referenceString | String | 
- Source:
Throws:
- 
        invalid referenceString.
- Type
- DeveloperError
Returns:
    A new instance of ReferenceProperty.
- Type
- ReferenceProperty
equals(otheropt) → {Boolean}
    Compares this property to the provided property and returns
    true if they are equal, false otherwise.
Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| other | Property | <optional> | The other property. | 
- Source:
Returns:
true if left and right are equal, false otherwise.
- Type
- Boolean
getType(time) → {String}
    Gets the 
    Material type at the provided time.
This method is only valid if the property being referenced is a MaterialProperty.
Parameters:
| Name | Type | Description | 
|---|---|---|
| time | JulianDate | The time for which to retrieve the type. | 
- Source:
Returns:
    The type of material.
- Type
- String
getValue(time, resultopt) → {Object}
    Gets the value of the property at the provided time.
    Parameters:
| Name | Type | Attributes | 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. | 
- Source:
Returns:
    The modified result parameter or a new instance if the result parameter was not supplied.
- Type
- Object
getValueInReferenceFrame(time, referenceFrame, resultopt) → {Cartesian3}
    Gets the value of the property at the provided time and in the provided reference frame.
This method is only valid if the property being referenced is a 
    PositionProperty.
Parameters:
| Name | Type | Attributes | Description | 
|---|---|---|---|
| time | JulianDate | The time for which to retrieve the value. | |
| referenceFrame | ReferenceFrame | The desired referenceFrame of the result. | |
| result | Cartesian3 | <optional> | The object to store the value into, if omitted, a new instance is created and returned. | 
- Source:
Returns:
    The modified result parameter or a new instance if the result parameter was not supplied.
- Type
- Cartesian3