节点编辑
1.基础
- 函数分为流程函数和纯函数,流程函数需连接流程,纯函数需连接数据
连接规范
- 输入/输出端口类型必须匹配
- 禁止循环连接
2.数据节点
常量
- bool: bool类型常量,取值为true或false
- int8-int64: 整数类型常量
- uint8-uint64: 无符号整数类型常量
- float/double: 浮点数类型常量
- string: 字符串类型常量
- enum: 枚举类型常量
- flag: 标志类型常量,未对应枚举的组合
- QByteArray: 字节数组类型常量
- nullptr: 空指针类型常量
- FunctionPointer: 函数指针类型常量
变量
- 局部变量: 局部变量
- 成员变量: 成员变量
- 全局变量: 全局变量
调试
- format: 格式化字符串,支持占位符和类型转换
- print: 打印节点,用于输出调试信息
- assert: 断言节点,用于检查条件是否成立
- display: 显示节点,用于实时显示变量值
3.流程节点
- nop: 空操作节点,保持流程连续性,用于占位或调试
- sequence: 顺序执行节点,依次执行子节点
- if: 条件分支节点,根据布尔表达式选择执行路径
- switch: 多条件分支节点,支持多种匹配模式
- while: 循环节点,满足条件时重复执行
- for: 计数循环节点,固定次数迭代执行
- foreach: 遍历循环节点,处理集合类数据
- break: 循环中断节点,立即退出当前循环
- continue: 循环继续节点,跳过本次迭代
- return: 流程返回节点,终止当前执行流
- try/catch: 异常处理节点,捕获并处理运行时错误
- throw: 异常抛出节点,主动触发错误条件
4.计算节点
算术运算
- OP_add: 加法运算,示例:
a + b
- OP_sub: 减法运算,示例:
a - b
- OP_mul: 乘法运算,示例:
a * b
- OP_div: 除法运算,示例:
a / b
- OP_mod: 取模运算,示例:
a % b
- OP_neg: 取负运算,示例:
-a
位运算
- OP_bitand: 按位与,示例:
a & b
- OP_bitor: 按位或,示例:
a | b
- OP_bitxor: 按位异或,示例:
a ^ b
- OP_bitreverse: 位反转,示例:
~a
逻辑运算
- OP_and: 逻辑与,示例:
a && b
- OP_or: 逻辑或,示例:
a || b
- OP_not: 逻辑非,示例:
!a
比较运算
- OP_eq: 等于比较,示例:
a == b
- OP_ne: 不等于比较,示例:
a != b
- OP_le: 小于等于,示例:
a <= b
- OP_ge: 大于等于,示例:
a >= b
- OP_lt: 小于,示例:
a < b
- OP_gt: 大于,示例:
a > b
单目运算
- OP_neg: 取负运算,示例:
-a
- OP_not: 逻辑非运算,示例:
!a
表达式
- OP_expr: 表达式运算,支持复杂的逻辑表达式,可以调用函数,示例:
a + pow(b, c)
5.事件节点
事件节点在外部触发时执行对应的操作,例如定时器、信号等。
6.业务节点
业务节点用来实现复杂的业务逻辑
camera
摄像头节点,用于获取摄像头数据
model
模型节点,用于调用模型进行推理
comm
通信节点,用于通信
opencv
用于 opencv 相关操作
7.函数/类节点
包含了全部的函数类,用于细粒度的控制,可作为业务的补充