ReferenceProperty

new LSGlobe.ReferenceProperty (targetCollection, targetId, targetPropertyNames)

Property ,它透明地链接到提供的对象上的另一个属性。
Name Type Description
targetCollection EntityCollection 实体集合将用于解析引用。
targetId String 被引用的实体的ID。
targetPropertyNames Array.<String> 我们将使用的目标实体上的属性名称。
Example:
var collection = new LSGlobe.EntityCollection();

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

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

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

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

Members

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

readonly isConstant : Boolean

获取一个值,该值指示此属性是否恒定。
获取定义位置的参考框架。仅当引用的属性是 PositionProperty 时,此属性才有效。

readonly resolvedProperty : Property |undefined

获取基础引用属性的已解析实例。
获取包含所引用实体的集合。

readonly targetId : String

获取被引用实体的ID。

readonly targetPropertyNames : Array.<String>

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

Methods

static LSGlobe.ReferenceProperty.fromString (targetCollection, referenceString) ReferenceProperty

给定实体集合,创建一个新实例,该实例将用于解析它以及指示目标实体ID和属性的字符串。字符串的格式为' objectId#foo.bar',其中#将ID与属性路径和。分隔子属性。如果参考标识符或或任何子属性包含#。或\必须将其转义。
Name Type Description
targetCollection EntityCollection
referenceString String
Returns:
ReferenceProperty的新实例。
Throws:

equals ( other ) Boolean

将此属性与提供的属性进行比较并返回如果相等,则为 true ,否则为 false
Name Type Description
other Property 可选 另一个属性。
Returns:
真正 如果左右相等 除此以外。
在提供的时间获取 Material 类型。仅当所引用的属性是 MaterialProperty 时,此方法才有效。
Name Type Description
time JulianDate 检索类型的时间。
Returns:
材料的类型。

getValue (time, result ) Object

在提供的时间获取属性的值。
Name Type Description
time JulianDate 检索值的时间。
result Object 可选 将值存储到的对象(如果省略)将创建并返回一个新实例。
Returns:
修改后的结果参数;如果未提供结果参数,则为新实例。

getValueInReferenceFrame (time, referenceFrame, result ) Cartesian3

在提供的时间和提供的参考框架中获取属性的值。仅当所引用的属性是 PositionProperty 时,此方法才有效。
Name Type Description
time JulianDate 检索值的时间。
referenceFrame ReferenceFrame 结果所需的referenceFrame。
result Cartesian3 可选 将值存储到的对象(如果省略)将创建并返回一个新实例。
Returns:
修改后的结果参数;如果未提供结果参数,则为新实例。