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

    Class GraphicsBucketManager

    图形桶管理器 负责管理多个图形桶,实现基于索引分桶的局部渲染优化

    核心功能:

    1. 按实体数组索引范围自动分桶
    2. 跟踪脏桶,只重新渲染修改过的桶
    3. 保持绘制顺序(桶按索引顺序添加到容器)
    4. 支持增删改实体时的局部更新
    Index

    Constructors

    Accessors

    • get isEnabled(): boolean

      判断是否启用桶管理

      Returns boolean

    • get bucketCount(): number

      获取桶的数量

      Returns number

    Methods

    • 设置是否启用桶管理

      Parameters

      • enabled: boolean

      Returns void

    • 根据实体数组初始化桶

      Parameters

      • entityCount: number

        实体总数

      Returns void

    • 根据实体索引查找所属的桶

      Parameters

      • index: number

        实体索引

      Returns GraphicsBucket

      找到的桶,如果没找到返回null

    • 标记指定索引的实体所在桶为脏

      Parameters

      • index: number

        实体索引

      Returns void

    • 标记多个索引的实体所在桶为脏

      Parameters

      • indices: number[]

        实体索引数组

      Returns void

    • 标记所有桶为脏

      Returns void

    • 重新渲染所有脏桶

      Parameters

      Returns number

      重新渲染的桶数量

    • 重新渲染所有桶(全量渲染)

      Parameters

      Returns void

    • 处理实体添加

      Parameters

      • index: number

        新添加实体的索引

      • totalCount: number

        添加后的实体总数

      Returns boolean

      是否需要完整重绘(当桶结构被重置时返回 true)

    • 处理实体修改

      Parameters

      • index: number

        修改的实体索引

      Returns void

    • 处理实体删除(标记删除,不真正移除)

      Parameters

      • index: number

        删除的实体索引

      Returns void

    • 处理实体从数组末尾移除(pop操作) 当通过undo操作移除实体时调用

      Parameters

      • newLength: number

        移除后的数组长度

      Returns void

    • 处理实体添加到数组末尾(push操作) 当通过redo操作恢复实体时调用

      Parameters

      • newLength: number

        添加后的数组长度

      Returns void

    • 清理所有桶

      Returns void

    • 获取统计信息

      Returns {
          bucketCount: number;
          dirtyBucketCount: number;
          totalCapacity: number;
          averageFragmentation: number;
      }

    • 销毁管理器

      Returns void