WebCAD-Lib-TS API 文档 - v1.0.0
    Preparing search index...

    Class EntityReactorManager

    实体反应器管理器(单例)

    // 获取管理器实例
    const manager = EntityReactorManager.getInstance();

    // 注册反应器(必须提供文档ID)
    manager.registerReactor(myDimension, docId);

    // 通知Owner变化(必须提供文档ID)
    manager.notifyOwnerChanged({
    event: ReactorEvent.Modified,
    docId: doc.docId,
    ownerId: lineEnt.id,
    ownerEntity: lineEnt,
    timestamp: Date.now()
    });

    // 渲染前更新
    manager.updateDirtyReactors();
    Index

    Methods

    • 注册反应器

      将反应器注册到管理器,建立与其Owner的映射关系。

      Parameters

      • reactor: IEntityReactor

        要注册的反应器

      • OptionaldocId: number

        文档ID(必须提供,用于文档隔离)

      Returns void

    • 注销反应器

      从管理器中移除反应器,清理所有相关映射。

      Parameters

      • reactorId: number

        要注销的反应器ID

      • OptionaldocId: number

        文档ID(如果不提供,会遍历查找)

      Returns void

    • 更新反应器的Owner映射

      当反应器的Owner引用发生变化时调用。

      Parameters

      • reactor: IEntityReactor

        要更新的反应器

      • OptionaldocId: number

        文档ID

      Returns void

    • 通知 Owner 发生变化

      当Owner实体发生变化时,调用此方法通知所有订阅它的Reactor。 只会通知同一文档内的反应器。

      Parameters

      Returns void

    • 批量通知多个Owner变化

      自动启用暂停模式,合并事件后统一处理。

      Parameters

      Returns void

    • 批量更新所有脏反应器

      在渲染前调用,执行所有需要更新的反应器的更新逻辑。

      Returns void

    • 检查是否有脏反应器

      Returns boolean

      是否有需要更新的反应器

    • 暂停事件通知

      在批量操作时使用,避免频繁触发更新。 暂停期间的事件会被队列化,恢复时统一处理。

      Returns void

    • 恢复事件通知

      恢复后会合并并处理暂停期间的所有事件。

      Returns void

    • 检查是否处于暂停状态

      Returns boolean

      是否暂停

    • 清理指定文档的所有反应器

      在文档关闭时调用。

      Parameters

      • docId: number

        文档ID

      Returns void

    • 清理所有数据

      Returns void

    • 获取订阅指定Owner的所有Reactor(指定文档内)

      Parameters

      • ownerId: number

        Owner实体ID

      • OptionaldocId: number

        文档ID

      Returns IEntityReactor[]

      Reactor实例数组

    • 检查指定Owner是否有Reactor订阅(指定文档内)

      Parameters

      • ownerId: number

        Owner实体ID

      • OptionaldocId: number

        文档ID

      Returns boolean

      是否有订阅者

    • 获取指定Reactor(指定文档内)

      Parameters

      • reactorId: number

        Reactor实体ID

      • OptionaldocId: number

        文档ID

      Returns IEntityReactor

      Reactor实例或undefined

    • 获取统计信息(调试用)

      Returns {
          reactorCount: number;
          ownerCount: number;
          dirtyCount: number;
          pendingEventCount: number;
          documentCount: number;
      }