每个实体都有唯一ID的
Entity
实例的可观察集合。
Name | Type | Description |
---|---|---|
owner
|
DataSource | CompositeEntityCollection | 可选 创建此集合的数据源(或复合实体集合)。 |
Members
readonly collectionChanged : Event
获取在集合中添加或删除实体时触发的事件。生成的事件是
EntityCollection.collectionChangedEventCallback
。
获取此集合的全局唯一标识符。
readonly owner : DataSource | CompositeEntityCollection
获取此实体集合的所有者,即。创建它的数据源或复合实体集合。
获取此实体集合是否应为显示。如果为true,则仅在以下情况下显示每个实体:它自己的show属性也是如此。
readonly values : Array.< Entity >
获取集合中的Entity实例的数组。此数组不应直接修改。
Methods
static LSGlobe.EntityCollection.collectionChangedEventCallback (collection, added, removed, changed)
由
EntityCollection#collectionChanged
生成的事件的签名。
Name | Type | Description |
---|---|---|
collection
|
EntityCollection | 触发事件的集合。 |
added
|
Array.< Entity > |
已添加到集合中的
Entity
实例的数组。
|
removed
|
Array.< Entity > |
从集合中删除的
Entity
实例的数组。
|
changed
|
Array.< Entity > |
已修改的
Entity
实例的数组。
|
add (entity) → Entity
将实体添加到集合中。
Name | Type | Description |
---|---|---|
entity
|
Entity | Entity.ConstructorOptions | 要添加的实体。 |
Returns:
添加的实体。
Throws:
-
DeveloperError :具有的实体
该集合中已经存在。
computeAvailability () → TimeInterval
计算集合中实体的最大可用性。如果集合包含无限可用数据和非无限数据的混合,它只会返回与非无限数据有关的时间间隔。我摔倒数据是无限的,将返回一个无限的时间间隔。
Returns:
集合中实体的可用性。
如果提供的实体在此集合中,则返回true,否则返回false。
Name | Type | Description |
---|---|---|
entity
|
Entity | 实体。 |
Returns:
如果提供的实体在此集合中,则为true,否则为false。
getById (id) → Entity |undefined
获取具有指定ID的实体。
Name | Type | Description |
---|---|---|
id
|
String | 要检索的实体的ID。 |
Returns:
具有提供的ID或未定义的实体(如果ID在集合中不存在)。
getOrCreateEntity (id) → Entity
获取具有指定ID的实体,或者创建一个实体并将其添加到集合(如果不存在)。
Name | Type | Description |
---|---|---|
id
|
String | 要检索或创建的实体的ID。 |
Returns:
新的或现有的对象。
从集合中删除实体。
Name | Type | Description |
---|---|---|
entity
|
Entity | 要删除的实体。 |
Returns:
如果已删除该项目,则为true;如果该集合中不存在该项目,则为false。
从集合中删除所有实体。
从集合中删除具有提供的ID的实体。
Name | Type | Description |
---|---|---|
id
|
String | 要删除的实体的ID。 |
Returns:
如果已删除项目,则为true;如果集合中不存在具有提供的ID的项目,则为false。
恢复立即引发
EntityCollection#collectionChanged
事件添加或删除项目时。事件暂停时进行的任何修改调用此函数时,将作为单个事件触发。该函数是引用计数的,并且可以安全地多次调用是
EntityCollection#resumeEvents
的相应调用。
Throws:
-
DeveloperError :不能在suspendEvents之前调用resumeEvents。
防止引发
EntityCollection#collectionChanged
事件直到对
EntityCollection#resumeEvents
进行相应的调用为止将会引发一个涵盖所有已暂停操作的事件。这允许有效地添加和删除许多项目。只要存在,就可以安全地多次调用此函数是
EntityCollection#resumeEvents
的相应调用。