一种基于参数链的子项展开方法及系统技术方案

技术编号:25184588 阅读:30 留言:0更新日期:2020-08-07 21:12
本申请公开了一种基于参数链的子项展开方法和系统,包括:对流程节点中出现的所有参数类型进行注册,获取该参数类型对应的子项参数名称;注册时,设置将子项参数的数值传递到父参数,将父参数的数值设置给子参数;基于当前流程节点的参数类型,获取其对应的子项参数名称;基于当前流程节点的参数类型,调取其对应的父参数,获取所述子项参数名称对应的数值和类型;以所述子项参数名称对应的数值和类型为输入,将该子项参数作为所述当前流程节点的一个动态参数,以便其他流程节点调用。该方法能够避免解析类工具的引入,极大地提高用户搭建流程的易用性,同时降低流程图的复杂度,提高运行效率。

【技术实现步骤摘要】
一种基于参数链的子项展开方法及系统
本申请涉及软件
,特别涉及一种基于参数链的子项展开方法及系统。
技术介绍
我司开发的一款使用可视化流程图建模的项目开发软件VISIONAssembly,该软件使用C++语言开发,广泛应用于工业视觉领域。在VISIONAssembly软件的可视化流程中,流程节点(即组成流程图的最小单元)之间的依靠参数链传递数据,具体见附图1,图1为现有技术中项目软件可视化流程节点之间基于参数链数据传递的示意图。节点之间传递数据,必须要求输入和输出的类型一致,如必须为整形或浮点型,或其它自定义类型。在实际应用中,有时出现两个节点间参数不匹配的情况,需要解析上个节点的数据,将其拆分才能传递给下一个节点使用。因此在这两个节点之间,需要开发一个中继节点,我们称之为某某类型解析工具,具体见附图2,图2为图1中两个流程节点之间数据类型不匹配时的示意图。这种解析类工具的引入,带来了很多不便。从用户使用层面,如果没有编程背景知识,很难理解如何使用解析类工具。从流程图规模层面,解析类工具会增加流程图的复杂度,使流程图节点变多、运行变慢。
技术实现思路
本申请要解决的技术问题为提供一种基于参数链的子项展开方法,该方法能够避免解析类工具的引入,极大地提高用户搭建流程的易用性,同时降低流程图的复杂度,提高运行效率。此外,为解决上述技术问题,本申请还提供一种基于参数链的子项展开系统。为解决上述技术问题,本申请提供一种基于参数链的子项展开方法,用于项目开发软件的可视化流程节点之间的数据处处理传输,包括:对流程节点中出现的所有参数类型进行注册,获取该参数类型对应的子项参数名称;注册时,设置将子项参数的数值传递到父参数,将父参数的数值设置给子参数;基于当前流程节点的参数类型,获取其对应的子项参数名称;基于当前流程节点的参数类型,调取其对应的父参数,获取所述子项参数名称对应的数值和类型;以所述子项参数名称对应的数值和类型为输入,将该子项参数作为所述当前流程节点的一个动态参数,以便其他流程节点调用。可选的,所述对流程节点中出现的所有参数类型进行注册,获取该参数类型对应的子项参数名称,的步骤包括:基于流程节点中出现的所有参数类型,为每一个参数类型注册三个函数,以获取该参数类型对应的子项参数名称、设置将子项参数的数值传递到父参数、将父参数的数值设置给子参数。可选的,所述子项展开方法还包括:将所述三个函数的函数指针被放在数据结构体中,以流程节点参数类型为关键字,所述数据结构体为值,构建类型注册表。可选的,所述子项展开方法还包括:为当前流程节点添加子项参数前,先将其对应的子项参数名称显示在终端界面,以便操作人员选择。可选的,所述子项展开方法还包括:将对应子项参数名称显示在终端界面前,识别所述当前流程节点的参数类型。可选的,所述子项展开方法还包括:通过使用项目开发软件中的boost库中的any类型提供的typename获取到参数类型的关键字;基于该关键字,在所述类型注册表中查询到该类型对应的子项参数名称,获取到子项参数名称列表,将其显示在终端界面。可选的,所述以所述子项参数名称对应的数值和类型为输入,将该子项参数作为所述当前流程节点的一个动态参数,以便其他流程节点调用,的步骤,包括:将所述子项参数名称对应的数值和类型输入给数据代理,所述数据代理为所述当前流程节点分配所述动态参数,以便其他流程节点调用。可选的,所述子项展开方法还包括:设置所述子项参数的数据和所述父参数的数据同步。可选的,所述设置所述子项参数的数据和所述父参数的数据同步,的步骤包括:在参数的数据结构中添加了父项参数句柄,作为子项参数提供访问父参数的接口;并添加子项参数句柄,作为父参数访问子项参数的接口。以下将介绍上述实施例的技术效果:在一种实施例中,本申请提供一种基于参数链的子项展开方法,用于项目开发软件的可视化流程节点之间的数据处处理传输,包括:对流程节点中出现的所有参数类型进行注册,获取该参数类型对应的子项参数名称;注册时,设置将子项参数的数值传递到父参数,将父参数的数值设置给子参数;基于当前流程节点的参数类型,获取其对应的子项参数名称;基于当前流程节点的参数类型,调取其对应的父参数,获取所述子项参数名称对应的数值和类型;以所述子项参数名称对应的数值和类型为输入,将该子项参数作为所述当前流程节点的一个动态参数,以便其他流程节点调用。由上述工作过程可知,该方法能够避免解析类工具的引入,极大地提高用户搭建流程的易用性,同时降低流程图的复杂度,提高运行效率。此外,为解决上述技术问题,本申请还提供一种基于参数链的子项展开系统,用于项目开发软件的可视化流程节点之间的数据处处理传输,包括:注册单元,用于对流程节点中出现的所有参数类型进行注册,获取该参数类型对应的子项参数名称、设置将子项参数的数值传递到父参数、将父参数的数值设置给子参数;获取单元,用于基于当前流程节点的参数类型,获取其对应的子项参数名称;调取单元,用于基于当前流程节点的参数类型,调取其对应的父参数,获取所述子项参数名称对应的数值和类型;添加单元,用于以所述子项参数名称对应的数值和类型为输入,将该子项参数作为所述当前流程节点的一个动态参数,以便其他流程节点调用。可选的,基于流程节点中出现的所有参数类型,为每一个参数类型注册三个函数,以获取该参数类型对应的子项参数名称、设置将子项参数的数值传递到父参数、将父参数的数值设置给子参数;将所述三个函数的函数指针被放在数据结构体中,以流程节点参数类型为关键字,所述数据结构体为值,构建类型注册表。可选的,为当前流程节点添加子项参数前,先将其对应的子项参数名称显示在终端界面,以便操作人员选择。可选的,将对应子项参数名称显示在终端界面前,识别所述当前流程节点的参数类型。可选的,通过使用项目开发软件中的boost库中的any类型提供的typename获取到参数类型的关键字;基于该关键字,在所述类型注册表中查询到该类型对应的子项参数名称,获取到子项参数名称列表,将其显示在终端界面。可选的,将所述子项参数名称对应的数值和类型输入给数据代理,所述数据代理为所述当前流程节点分配所述动态参数,以便其他流程节点调用。可选的,设置所述子项参数的数据和所述父参数的数据同步。可选的,在参数的数据结构中添加了父项参数句柄,作为子项参数提供访问父参数的接口;并添加子项参数句柄,作为父参数访问子项参数的接口。以下介绍上述实施例的技术效果:在一种实施例中,本申请还提供一种基于参数链的子项展开系统,用于项目开发软件的可视化流程节点之间的数据处处理传输,包括:注册单元,用于对流程节点中出现的所有参数类型进行注册,获取该参数类型对应的子项参数名称、设置将子项参数的数值传递到父参数、将父参数的数值设置给子本文档来自技高网...

【技术保护点】
1.一种基于参数链的子项展开方法,用于项目开发软件的可视化流程节点之间的数据处处理传输,其特征在于,包括:/n对流程节点中出现的所有参数类型进行注册,获取该参数类型对应的子项参数名称;/n注册时,设置将子项参数的数值传递到父参数,将父参数的数值设置给子参数;/n基于当前流程节点的参数类型,获取其对应的子项参数名称;/n基于当前流程节点的参数类型,调取其对应的父参数,获取所述子项参数名称对应的数值和类型;/n以所述子项参数名称对应的数值和类型为输入,将该子项参数作为所述当前流程节点的一个动态参数,以便其他流程节点调用。/n

【技术特征摘要】
1.一种基于参数链的子项展开方法,用于项目开发软件的可视化流程节点之间的数据处处理传输,其特征在于,包括:
对流程节点中出现的所有参数类型进行注册,获取该参数类型对应的子项参数名称;
注册时,设置将子项参数的数值传递到父参数,将父参数的数值设置给子参数;
基于当前流程节点的参数类型,获取其对应的子项参数名称;
基于当前流程节点的参数类型,调取其对应的父参数,获取所述子项参数名称对应的数值和类型;
以所述子项参数名称对应的数值和类型为输入,将该子项参数作为所述当前流程节点的一个动态参数,以便其他流程节点调用。


2.如权利要求1所述的一种基于参数链的子项展开方法,其特征在于,所述对流程节点中出现的所有参数类型进行注册,获取该参数类型对应的子项参数名称,的步骤包括:
基于流程节点中出现的所有参数类型,为每一个参数类型注册三个函数,以获取该参数类型对应的子项参数名称、设置将子项参数的数值传递到父参数、将父参数的数值设置给子参数。


3.如权利要求2所述的一种基于参数链的子项展开方法,其特征在于,所述子项展开方法还包括:
将所述三个函数的函数指针被放在数据结构体中,以流程节点参数类型为关键字,所述数据结构体为值,构建类型注册表。


4.如权利要求3所述的一种基于参数链的子项展开方法,其特征在于,所述子项展开方法还包括:
为当前流程节点添加子项参数前,先将其对应的子项参数名称显示在终端界面,以便操作人员选择。


5.如权利要求4所述的一种基于参数链的子项展开方法,其特征在于,所述子项展开方法还包括:
将对应子项参数名称显示在终端界面前,识别所述当前流程节点的参数类型。


6.如权利要求5所述的一种基于参数链的子项展开方法,其特征在于,所述子项展开方法还包括:
通过使用项目开发软件中的boost库中的any类型提供的typename获取到参数类型的关键字;基于该关键字,在所述类型注册表中查询到该类型对应的子项参数名称,获取到子项参数名称列表,将其显示在终端界面。


7.如权利要求1-5任一项所述的一种基于参数链的子项展开方法,其特征在于,所述以所述子项参数名称对应的数值和类型为输入,将该子项参数作为所述当前流程节点的一个动态参数,以便其他流程节点调用,的步骤,包括:
将所述子项参数名称对应的数值和类型输入给数据代理,所述数据代理...

【专利技术属性】
技术研发人员:王欢安登奎戴志强姚毅
申请(专利权)人:北京凌云光技术集团有限责任公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1