CompositeEntityCollection

new LSGlobe.CompositeEntityCollection ( collections , owner )

将多个 EntityCollection 实例非破坏性地组合到一个集合中。如果具有相同ID的实体存在于多个集合中,则它是非破坏性的合并到一个新的实体实例中。如果实体在多个实体中具有相同的属性集合,实体在列表的最后一个集合中的属性属于使用。 CompositeEntityCollection几乎可以在任何使用EntityCollection。
Name Type Description
collections Array.< EntityCollection > 可选 要合并的EntityCollection实例的初始列表。
owner DataSource | CompositeEntityCollection 可选 创建此集合的数据源(或复合实体集合)。

Members

获取在集合中添加或删除实体时触发的事件。生成的事件是 EntityCollection.collectionChangedEventCallback
获取此集合的全局唯一标识符。
获取此复合实体集合的所有者,即。创建它的数据源或复合实体集合。
获取集合中的Entity实例的数组。此数组不应直接修改。

Methods

addCollection (collection, index )

将集合添加到组合中。
Name Type Description
collection EntityCollection 要添加的集合。
index Number 可选 添加集合的索引。如果省略,则集合将 添加到所有现有集合的顶部。
Throws:
  • DeveloperError :索引(如果提供)必须大于或等于零且小于或等于集合数。
计算集合中实体的最大可用性。如果集合包含无限可用数据和非无限数据的混合,它将仅返回与非无限数据有关的时间间隔。我摔倒数据是无限的,将返回一个无限的时间间隔。
Returns:
集合中实体的可用性。
如果提供的实体在此集合中,则返回true,否则返回false。
Name Type Description
entity Entity 实体。
Returns:
如果提供的实体在此集合中,则为true,否则为false。

containsCollection (collection) Boolean

检查组合是否包含给定的集合。
Name Type Description
collection EntityCollection 要检查的集合。
Returns:
如果组合包含集合,则为true,否则为false。
获取具有指定ID的实体。
Name Type Description
id String 要检索的实体的ID。
Returns:
具有提供的ID或未定义的实体(如果ID在集合中不存在)。
从组合中按索引获取一个集合。
Name Type Description
index Number 要检索的索引。
获取此组合中的集合数。

indexOfCollection (collection) Number

确定组合中给定集合的索引。
Name Type Description
collection EntityCollection 查找索引的集合。
Returns:
组合中集合的索引;如果组合中不存在集合,则为-1。
在集合中将集合降低一个位置。
Name Type Description
collection EntityCollection 要移动的集合。
Throws:

lowerCollectionToBottom (collection)

将集合降低到组合的底部。
Name Type Description
collection EntityCollection 要移动的集合。
Throws:
在集合中提高集合的位置。
Name Type Description
collection EntityCollection 要移动的集合。
Throws:

raiseCollectionToTop (collection)

将集合提升到组合的顶部。
Name Type Description
collection EntityCollection 要移动的集合。
Throws:
从此组合中删除所有集合。

removeCollection (collection) Boolean

从此组合中删除集合(如果存在)。
Name Type Description
collection EntityCollection 要删除的集合。
Returns:
如果集合在组合中并且已删除,则为true, 如果集合不在组合中,则返回false。
恢复立即引发 EntityCollection#collectionChanged 事件添加或删除项目时。事件暂停时进行的任何修改调用此函数时,将作为单个事件触发。此功能还可以确保如果事件也恢复,则集合将重新组合。该函数是引用计数的,并且可以安全地多次调用是 EntityCollection#resumeEvents 的相应调用。
Throws:
防止引发 EntityCollection#collectionChanged 事件直到对 EntityCollection#resumeEvents 进行相应的调用为止将会引发一个涵盖所有已暂停操作的事件。这允许有效地添加和删除许多项目。在事件暂停期间,集合的重新组合将也可能会被暂停,因为这可能是一项昂贵的操作。只要存在,就可以安全地多次调用此函数是 EntityCollection#resumeEvents 的相应调用。