ReferenceProperty

AProperty透明地链接到所提供对象上的另一个属性。
new ReferenceProperty(targetCollection, targetId, targetPropertyNames)
Parameters:
targetCollection (EntityCollection) 将用于解析引用的实体集合。
targetId (String) 正在引用的实体的ID。
targetPropertyNames (Array.<String>) 目标实体上要使用的属性的名称。
Example
var collection = new bmgl.EntityCollection();

//Create a new entity and assign a billboard scale.
var object1 = new bmgl.Entity({id:'object1'});
object1.billboard = new bmgl.BillboardGraphics();
object1.billboard.scale = new bmgl.ConstantProperty(2.0);
collection.add(object1);

//Create a second entity and reference the scale from the first one.
var object2 = new bmgl.Entity({id:'object2'});
object2.model = new bmgl.ModelGraphics();
object2.model.scale = new bmgl.ReferenceProperty(collection, 'object1', ['billboard', 'scale']);
collection.add(object2);

//Create a third object, but use the fromString helper function.
var object3 = new bmgl.Entity({id:'object3'});
object3.billboard = new bmgl.BillboardGraphics();
object3.billboard.scale = bmgl.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 bmgl.Entity({id:'#object.4'});
object4.billboard = new bmgl.BillboardGraphics();
object4.billboard.scale = new bmgl.ConstantProperty(2.0);
collection.add(object4);

var object5 = new bmgl.Entity({id:'object5'});
object5.billboard = new bmgl.BillboardGraphics();
object5.billboard.scale = bmgl.ReferenceProperty.fromString(collection, '\\#object\\.4#billboard.scale');
collection.add(object5);

Members

(readonly) definitionChanged : Event

获取每当此属性的定义更改时引发的事件。只要被引用属性的定义被更改,定义就会被更改。

(readonly) isConstant : Boolean

获取一个值,该值指示此属性是否为常量。

(readonly) referenceFrame : ReferenceFrame

获取在其中定义位置的引用框架。仅当引用的属性为PositionProperty时,此属性才有效。

(readonly) resolvedProperty : Property

获取基础引用属性的已解析实例。

(readonly) targetCollection : EntityCollection

获取包含正在引用的实体的集合。

(readonly) targetId : String

获取被引用实体的ID。

(readonly) targetPropertyNames : Array.<String>

获取用于检索引用属性的属性名数组。

Methods

(static) fromString(targetCollection, referenceString) → {ReferenceProperty}
为将用于解析的实体集合和指示目标实体ID和属性的字符串创建一个新实例。字符串的格式是“objectid#foo.bar”,其中#将ID与属性路径和分隔开。分离子属性。如果引用标识符或任何子属性包含#。或者他们必须逃跑。
Parameters:
targetCollection (EntityCollection)
referenceString (String)
Throws
equals(other) → {Boolean}
将此属性与提供的属性进行比较,如果相等,则返回true,否则返回false
Parameters:
other (Property) 其他财产。
getType(time) → {String}
在提供的时间获取Material类型。只有被引用的属性是aMaterialProperty时,此方法才有效。
Parameters:
time (JulianDate) 检索类型的时间。
getValue(time, result) → {Object}
获取所提供时间的属性值。
Parameters:
time (JulianDate) 检索值的时间。
result (Object) 将值存储到的对象(如果省略),将创建并返回新实例。
getValueInReferenceFrame(time, referenceFrame, result) → {Cartesian3}
在提供的时间和提供的引用框架中获取属性的值。只有被引用的属性是aPositionProperty时,此方法才有效。
Parameters:
time (JulianDate) 检索值的时间。
referenceFrame (ReferenceFrame) 所需的结果参考框架。
result (Cartesian3) 将值存储到的对象(如果省略),将创建并返回新实例。