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
-
获取每当此属性的定义更改时引发的事件。每当引用的属性的定义发生变化时,该定义就会发生变化。
-
获取表示该属性是否为常量的值。
-
readonlyreferenceFrame : ReferenceFrame
-
获取定义位置的参考系。此属性仅在引用属性为
PositionProperty
时有效。 -
readonlyresolvedProperty : Property
-
获取基础引用属性的已解析实例。
-
readonlytargetCollection : EntityCollection
-
获取包含被引用实体的集合。
-
获取被引用实体的id。
-
获取用于检索引用属性的属性名称数组。
Methods
-
staticSuperMap3D.ReferenceProperty.fromString(targetCollection, referenceString) → ReferenceProperty
-
给定将用于解析的实体集合和指示目标实体id和属性的字符串,创建一个新实例。 字符串的格式是"objectId#foo "。Bar”,其中#将id与属性路径和。分离sub-properties。 如果引用标识符或任何子属性包含#。或者他们必须逃脱。
Name Type Description targetCollection
EntityCollection 目标集合。 referenceString
String 引用字符串。 Returns:
ReferenceProperty的一个新实例。Throws:
-
DeveloperError : 无效的引用字符串。
-
-
将此属性与所提供的属性进行比较,如果相等则返回true,否则返回false。
Name Type Description other
Property optional 一个属性。 Returns:
如果左右相等,则为True,否则为false。 -
在提供的时间获取
Material
类型。这个方法只有在被引用的属性是MaterialProperty
时才有效。Name Type Description time
JulianDate 检索类型所需的时间。 Returns:
材质的类型。 -
获取在提供时间的属性值。
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:
如果未提供结果参数,则使用修改后的结果参数或新实例。