节点编辑

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.函数/类节点

包含了全部的函数类,用于细粒度的控制,可作为业务的补充