Skip to main content

ExtensionContext

activate 函数的第一个参数是 ExtensionContext — 这个上下文允许你扩展可视化以支持自定义工作流。

export function activate(extensionContext: ExtensionContext) {
// ... 调用 extensionContext 上的方法来扩展可视化
}

方法

registerPanel()

registerPanel(params): void

registerPanel 向可视化界面添加一个新的面板。要注册一个面板,你需要提供一个 name 和一个 initPanel 函数。

initPanel 函数接受一个 PanelExtensionContext 参数,该参数包含用于访问面板数据和渲染 UI 更新的属性和方法。它还返回一个可选的清理函数,在扩展 panelElement 卸载时运行。

有关详细信息,请参阅创建自定义面板指南。

参数

参数类型
paramsExtensionPanelRegistration

返回值

void


registerMessageConverter()

registerMessageConverter<Src>(args): void

registerMessageConverter 注册一个函数,用于将消息从一种模式转换为另一种模式。

消息转换器允许你通过将消息转换为符合可视化支持的模式的格式,来利用可视化的内置可视化面板 — 例如,你可以将自定义的 GPS 消息转换为 foxglove.LocationFix 消息,以便在地图面板中可视化。

每当面板使用 convertTo 选项订阅主题时,转换器函数就会在原始消息上运行并输出转换后的消息,然后将其提供给面板。如果函数返回 undefined,则忽略输出,并且不会向面板提供消息。这在你想根据输入消息的内容选择性地输出转换后的消息时很有用。

有关详细信息,请参阅创建消息转换器指南。

类型参数

类型参数
Src

参数

参数类型
argsRegisterMessageConverterArgs\<Src\>

返回值

void


registerTopicAliases()

registerTopicAliases(aliasFunction): void

registerTopicAliases 注册一个函数来计算主题别名。提供的别名函数应该接受一个包含两个字段的参数 — topics(包含数据源的原始主题)和 globalVariables(包含当前布局的变量)— 并返回一个别名主题列表。

每当数据源主题或变量发生变化时,你的别名函数就会运行。它返回的任何别名都会被添加到数据源主题中(替换之前返回的任何别名),并且可以像真实主题一样用于订阅或在消息路径中使用。

参数

参数类型
aliasFunctionTopicAliasFunction

返回值

void