Hierarchy

Constructors

  • Parameters

    • five: Five
    • Optionalconfig: {
          occlusionMode?: "translucence" | "depthTest";
          occlusionVisibility?: boolean | Mode[];
          tagContainerZIndex?: number;
      }
      • OptionalocclusionMode?: "translucence" | "depthTest"

        当 occlusionVisibility 为true时,以哪种方式显示被遮挡的部分

        'depthTest': 关闭深度测试, 'translucence': 半透明

        'translucence'
        
      • OptionalocclusionVisibility?: boolean | Mode[]

        是否显示遮挡的部分

        所有模式下都显示被遮挡的部分, false: 所有模式下不显示被遮挡的部分, ['Mapview', ...]: 指定模式下显示被遮挡的部分

        false
        
      • OptionaltagContainerZIndex?: number

    Returns ModelMakerPluginInstance

Properties

five: Five
fiveUtil: FiveUtil
group: Group = ...
hooks: Subscribe<ModelMakerPluginType.EventMap> = ...

@description: 插件事件钩子

items: MarkerItem[] = []
NAME?: string

当前状态

可以通过 plugin.state 和 plugin.setState 来获取和设置。
通过 state 设置后,plugin 会通过合适的动画运动来达到设置的效果。
来迎合一些通过数据驱动的场景。
staticPrefix: string = DEFAULT_STATIC_PREFIX
VERSION: string = __DNALOGEL_VERSION__

@realsee/dnalogel 版本号

workUtil: WorkUtil

Accessors

  • get workCode(): string
  • Returns string

  • set workCode(workCode): void
  • Parameters

    • workCode: string

    Returns void

Methods

  • 插件自身DOM添加到父容器

    Parameters

    • wrapper: Element

    Returns void

  • Returns void

  • 禁用插件,让插件停止响应交互

    Returns void

  • 插件进行销毁

    Returns void

  • 启用插件,让插件能够响应交互

    Returns void

  • Force finish all active box animations immediately

    Parameters

    • Optionalid: string | number

      Optional box item ID. If not provided, finishes all active box animations.

    • restoreLabels: boolean = true

      Whether to restore labels immediately. Defaults to true.

    Returns void

  • 获取当前的插件状态,如果当初插件内存在需要通过动画变更的 state 值,则通过此方法可以得到中间状态

    Returns ModelMakerPluginType.State

  • 获取当前高亮的项目ID

    Returns string | number

  • Parameters

    • id: string | number

    Returns MarkerItem

  • Parameters

    Returns boolean

  • 隐藏UI

    Returns void

  • 隐藏所有模型项目

    Returns void

    // 隐藏所有项目
    controller.hideAllItems()
  • 根据条件隐藏模型项目

    Parameters

    • condition: ((item: MarkerItem) => boolean)

      判断函数,返回 true 的项目将被隐藏

        • (item): boolean
        • Parameters

          Returns boolean

    Returns void

    // 隐藏所有 ID 大于 10 的项目
    controller.hideItemsByCondition(item => item.rawData.id > 10)

    // 隐藏所有红色的盒子
    controller.hideItemsByCondition(item =>
    item.type === 'box' && item.rawData.object_data.color === '#FF0000'
    )
  • 隐藏指定类型的模型

    Parameters

    Returns void

  • 高亮指定的模型项目

    Parameters

    • id: string | number

      模型项目的ID

    • color: string = '#FF7700'

      高亮颜色,默认为 #FF7700

    Returns void

  • 加载插件依赖数据

    Parameters

    Returns Promise<void>

  • Play the up-and-down animation for a box mesh

    Parameters

    • Optionalid: string | number

      Optional box item ID. If not provided, plays animation for all box items.

    • config: BoxAnimationConfig = {}

      Animation configuration options

    Returns Promise<void>

    Promise that resolves when all animations are complete

  • 重置所有高亮

    Returns void

  • 根据条件设置模型项目的可见性

    Parameters

    • condition: ((item: MarkerItem) => boolean)

      判断函数,返回 true 的项目将应用指定的可见性状态

        • (item): boolean
        • Parameters

          Returns boolean

    • visible: boolean

      是否可见,true 为显示,false 为隐藏

    Returns void

    // 隐藏所有小于指定面积的项目
    controller.setItemsVisibility(item => getItemArea(item) < 100, false)

    // 显示所有包含特定标签的项目
    controller.setItemsVisibility(item =>
    item.rawData.label?.includes('important'), true
    )
  • 设置所有模型的透明度

    Parameters

    • opacityPercent: number

      透明度系数,范围0-1,1表示保持原始透明度,0表示完全透明

    • Optionaloptions: {
          id?: number;
          type?: ItemType | ItemType[];
      }

      可选参数

      • Optionalid?: number

        模型id

      • Optionaltype?: ItemType | ItemType[]

        模型类型,可选值为'box'、'prism'、'triangles'

    Returns void

  • 设置state

    Parameters

    Returns void

  • 展示UI

    Returns void

  • 显示所有模型项目

    Returns void

    // 恢复所有项目的可见性
    controller.showAllItems()
  • 根据条件显示模型项目

    Parameters

    • condition: ((item: MarkerItem) => boolean)

      判断函数,返回 true 的项目将被显示

        • (item): boolean
        • Parameters

          Returns boolean

    Returns void

    // 显示所有棱柱类型的项目
    controller.showItemsByCondition(item => item.type === 'prism')

    // 显示所有透明度大于 0.5 的项目
    controller.showItemsByCondition(item =>
    (item.rawData.object_data.opacity ?? 0.4) > 0.5
    )
  • 显示指定类型的模型

    Parameters

    Returns void

  • Parameters

    • five: Five

    Returns void