描述
环境:VM4.0.0 + VS2015 及以上
现象:方案或流程运行执行之后,就可以获取结果,可以通过获取渲染结果和数据结果,
渲染结果通过绑定渲染控件进行显示。
解答
渲染结果的显示可以通过渲染控件绑定流程或者模块,推荐使用绑定流程,符合高内聚低
耦合的思想(绑定流程可以实现单个渲染控件绑定多个算法模块渲染结果)。详细介绍如
下所示:
1 通过绑定流程显示渲染结果,一个渲染控件同时只能绑定一个流程,如需绑定多个流
程,需要分时绑定,或使用多个渲染控件。
1.1 流程配置-显示设置
1.2 绑定流程
C#
VmProcedure VmProcess = (VmProcedure)VmSolution.Instance[“流程
1”];//实例化流程 1
vmRenderControl.ModuleSource=VmProcess;
C++ MFC
IVmProcedure vmprc = (IVmProcedure)(*m_pVmSol)[“流程 1”];
m_ctrlRender.SetParamsInfo(vmprc ->GetControlInfo());
C++ Qt
IVmProcedure vmprc = (IVmProcedure)(*m_pVmSol)[“流程 1”];
ui.axWidget_Cam1->dynamicCall(“SetParamsInfo(qlongqlong)”,(qlonglo
ng)(vmprc->GetControlInfo()));
2 通过绑定模块显示渲染结果,只能渲染某个模块的渲染结果。
C#
IMVSCircleFindModuCs.IMVSCircleFindModuTool circleTool=(IMVSCircl
eFindModuCs.IMVSCircleFindModuTool)VmSolution.Instance[“流程 1.圆
查找 1”];
vmRenderControl.ModuleSource= circleTool;
C++ MFC
IMVSCircleFindModuTool * pCirFindObject = (IMVSCircleFindModuTo
ol *)(*m_pVmSol)[“流程 1.圆查找 1”];
m_ctrlRender.SetParamsInfo(pCirFindObject ->GetControlInfo());
C++ Qt
IMVSCircleFindModuTool * pCirFindObject = (IMVSCircleFindModuTo
ol *)(*m_pVmSol)[“流程 1.圆查找 1”];
ui.axWidget_Cam1->dynamicCall(“SetParamsInfo(qlongqlong)”,(qlonglo
ng)(pCirFindObject ->GetControlInfo()));
3 环境配置没有问题,程序编译运行都没有报错的情况下,但渲染控件界面不显示渲染结
果时,可以使用刷新接口。
C#
vmRenderControl1.UpdateVMResultShow();