ReferenceProperty

new Cesium.ReferenceProperty(targetCollection, targetId, targetPropertyNames)

A Property which transparently links to another property on a provided object.
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.
Example:
const collection = new Cesium.EntityCollection();

//Create a new entity and assign a billboard scale.
const 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.
const 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.
const 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.
const object4 = new Cesium.Entity({id:'#object.4'});
object4.billboard = new Cesium.BillboardGraphics();
object4.billboard.scale = new Cesium.ConstantProperty(2.0);
collection.add(object4);

const 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.

readonly isConstant : Boolean

Gets a value indicating if this property is constant.
Gets the reference frame that the position is defined in. This property is only valid if the referenced property is a PositionProperty.

readonly resolvedProperty : Property|undefined

Gets the resolved instance of the underlying referenced property.
Gets the collection containing the entity being referenced.

readonly targetId : String

Gets the id of the entity being referenced.

readonly targetPropertyNames : Array.<String>

Gets the array of property names used to retrieve the referenced property.

Methods

static Cesium.ReferenceProperty.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.
Name Type Description
targetCollection EntityCollection
referenceString String
Returns:
A new instance of ReferenceProperty.
Throws:

equals(other)Boolean

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

Gets the Material type at the provided time. This method is only valid if the property being referenced is a MaterialProperty.
Name Type Description
time JulianDate The time for which to retrieve the type.
Returns:
The type of material.

getValue(time, result)Object

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.

getValueInReferenceFrame(time, referenceFrame, result)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.
Name Type 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.
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.