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