ReferenceProperty

new SuperMap3D.ReferenceProperty(targetCollection, targetId, targetPropertyNames)

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

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

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

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

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

Members

readonlydefinitionChanged : Event

获取每当此属性的定义更改时引发的事件。每当引用的属性的定义发生变化时,该定义就会发生变化。

readonlyisConstant : Boolean

获取表示该属性是否为常量的值。

readonlyreferenceFrame : ReferenceFrame

获取定义位置的参考系。此属性仅在引用属性为PositionProperty时有效。

readonlyresolvedProperty : Property

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

readonlytargetCollection : EntityCollection

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

readonlytargetId : String

获取被引用实体的id。

readonlytargetPropertyNames : Array.<String>

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

Methods

staticSuperMap3D.ReferenceProperty.fromString(targetCollection, referenceString)ReferenceProperty

给定将用于解析的实体集合和指示目标实体id和属性的字符串,创建一个新实例。 字符串的格式是"objectId#foo "。Bar”,其中#将id与属性路径和。分离sub-properties。 如果引用标识符或任何子属性包含#。或者他们必须逃脱。
Name Type Description
targetCollection EntityCollection 目标集合。
referenceString String 引用字符串。
Returns:
ReferenceProperty的一个新实例。
Throws:

equals(other)Boolean

将此属性与所提供的属性进行比较,如果相等则返回true,否则返回false。
Name Type Description
other Property optional 一个属性。
Returns:
如果左右相等,则为True,否则为false。

getType(time)String

在提供的时间获取Material类型。这个方法只有在被引用的属性是MaterialProperty时才有效。
Name Type Description
time JulianDate 检索类型所需的时间。
Returns:
材质的类型。

getValue(time, result)Object

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

getValueInReferenceFrame(time, referenceFrame, result)Cartesian3

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