Class: ReferenceProperty

ReferenceProperty

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