new 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 |
String | The name of the property on the target entity which we will use. |
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
-
readonlydefinitionChanged :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.
-
readonlyisConstant :Boolean
-
Gets a value indicating if this property is constant.
-
readonlyreferenceFrame :ReferenceFrame
-
Gets the reference frame that the position is defined in. This property is only valid if the referenced property is a
PositionProperty
. -
readonlyresolvedProperty :Property
-
Gets the resolved instance of the underlying referenced property.
-
readonlytargetCollection :EntityCollection
-
Gets the collection containing the entity being referenced.
-
readonlytargetId :String
-
Gets the id of the entity being referenced.
-
readonlytargetPropertyNames :Array.<String>
-
Gets the array of property names used to retrieve the referenced property.
Methods
-
staticReferenceProperty.fromString(targetCollection, referenceString)
-
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
Entity referenceString
String Returns:
A new instance of ReferenceProperty.Throws:
-
DeveloperError : invalid referenceString.
-
-
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 aMaterialProperty
.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.