跳到主要内容

插件机制概述

ToolBank 采用 C++ DLL 插件架构,允许用户开发自定义算法算子并集成到系统中。

架构设计

核心组件

组件命名空间职责
ToolBaseNativeDLJ::VT插件基类,定义输入输出框架
ToolFactoryDLJ::VT算子注册工厂
ExportDllextern "C"C 接口导出,供 C# P/Invoke
ProjectControlDLJ::VT程序/作业/变量管理器

工作流程

数据类型支持

基本类型

  • INTEGER - 整数
  • DOUBLE - 浮点数
  • STRING - 字符串
  • BOOL - 布尔值

图像类型

  • IMAGE - 2D 图像(支持 CV_8U/CV_16U/CV_32F 等)

几何类型

  • POINT2D / POINT3D - 点
  • LINE2D - 直线
  • RECTANGLE2D - 矩形
  • CIRCLE2D - 圆形
  • POLYGON2D - 多边形
  • REGION - 区域集合

容器类型

所有类型均支持 List(批量)模式,通过 v 前缀区分:

  • vDOUBLE, vIMAGE, vPOINT2D

插件分类

内置插件示例

插件名说明
Plugin.CV计算机视觉算子(OpenCV)
Plugin.DL深度学习推理算子
Plugin.Finance金融数据处理算子
ToolBase基础算子(控制流/变量/数学)

插件包结构

Plugin.Example/
├── Tools/
│ ├── ExampleTool.cpp # 算子实现
│ ├── ExampleTool.h
│ └── Plugin.Example.dll # 编译输出
├── Resource/
│ └── icon.png # 插件图标(可选)
├── manifest.json # 插件描述文件
└── Plugin.Example.zip # 打包发布

manifest.json 格式

{
"plugin_id": "Plugin.Example",
"display_name": "示例插件",
"version": "1.0.0",
"vendor": "YourCompany",
"description": "示例插件描述",
"entry_dll": "Plugin.Example.dll",
"min_host_version": "1.0.0.371",
"min_toolbase_version": "1.0.0.20",
"author": "Developer"
}