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.
Gets a value indicating if this property is constant.
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
.
readonly resolvedProperty : Property|undefined
Gets the resolved instance of the underlying referenced property.
readonly targetCollection : EntityCollection
Gets the collection containing the entity being referenced.
Gets the id of the entity being referenced.
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:
-
DeveloperError : invalid referenceString.
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.
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.
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.