本发明涉及数据处理技术领域,尤其涉及一种通信方法、装置和存储介质。
背景技术:
随着视频监控联网系统的不断普及和发展,网络摄像机已经被广泛地应用于监控系统中,尤其是高清时代的来临,更加快了网络摄像机的发展和应用。在监控摄像机数量不断增长的同时,监控系统面临着严峻的现状问题:海量视频分散、孤立、视角不完整、位置不明确等。如何更直观、更明确地管理摄像机和掌控视频动态,已成为提升视频应用价值的重要话题。对此,现有技术利用三维视频融合技术创建了多源信息融合三维可视化平台,实现了三维场景实时动态可视化监控。
多源信息融合三维可视化平台可包含许多功能:二三维地图的联动、视频的融合与嵌入、大小场景的切换、小场景与二维地图的联动、天气和时间的仿真,以及视点漫游等。上述功能的实现都依赖于wpf、osg及unity三者之间的通信和数据传递。然而,目前没有一套完整的通信方式可以实现wpf、osg及unity之间的数据传递。
技术实现要素:
本发明提供一种通信方法、装置和存储介质,用以解决现有技术中没有完整的通信方式用于实现wpf与osg以及unity之间的数据传递的缺陷。
本发明提供一种通信方法,该方法应用于wpf平台中,包括:
确定待传递数据,并将所述待传递数据设置为osg接口提供的视点设置函数的传入参数;
调用所述视点设置函数,将所述视点设置函数的传入参数中包含的所述待传递数据传输到osg接口中,以供所述osg接口基于所述待传递数据进行视点设置。
根据本发明提供的一种通信方法,还包括:
基于内置的unity可执行程序,通过socket将所述待传递数据以报文格式传输给unity平台。
本发明提供一种通信方法,该方法应用于osg接口中,包括:
接收wpf平台调用osg接口提供的视点设置函数时传入的界面更新函数的托管;
确定待传递数据,并将所述待传递数据设置为所述界面更新函数的传入参数;
基于所述界面更新函数的托管,通过回调函数调用所述界面更新函数,将所述界面更新函数的传入参数中包含的所述待传递数据传输到wpf平台中,以供所述wpf平台对所述待传递数据进行显示处理。
根据本发明提供的一种通信方法,所述基于所述界面更新函数的托管,通过回调函数调用所述界面更新函数,具体包括:
将所述界面更新函数的托管转换为所述界面更新函数对应的函数指针;
基于所述界面更新函数对应的函数指针,通过回调函数调用所述界面更新函数。
本发明提供一种通信方法,该方法应用于unity平台中,包括:
基于unity程序脚本中内嵌的socket,将待传递数据以报文格式传输给wpf平台。
本发明提供一种通信方法,包括:
基于unity平台的unity程序脚本中内嵌的socket,将待传递数据以报文格式传输给wpf平台;
wpf平台将接收到的所述待传递数据设置为osg接口提供的视点设置函数的传入参数后,调用所述视点设置函数,将所述视点设置函数的传入参数中包含的所述待传递数据传输到osg接口中。
根据本发明提供的一种通信方法,还包括:
osg接口接收到wpf平台调用所述视点设置函数时传入的界面更新函数的托管后,确定待传递数据,并将所述待传递数据设置为所述界面更新函数的传入参数;
osg接口基于所述界面更新函数的托管,通过回调函数调用所述界面更新函数,将所述界面更新函数的传入参数中包含的所述待传递数据传输到wpf平台中;
wpf平台基于内置的unity可执行程序,通过socket将所述待传递数据以报文格式传输给unity平台。
本发明还提供一种通信装置,该装置部署于wpf平台中,包括:
第一传参确定单元,用于确定待传递数据,并将所述待传递数据设置为osg接口提供的视点设置函数的传入参数;
函数调用单元,用于调用所述视点设置函数,将所述视点设置函数的传入参数中包含的所述待传递数据传输到osg接口中,以供所述osg接口基于所述待传递数据进行视点设置。
本发明还提供一种通信装置,该装置部署于osg接口中,包括:
待调用函数接收单元,用于接收wpf平台调用osg接口提供的视点设置函数时传入的界面更新函数的托管;
第二传参单元,用于确定待传递数据,并将所述待传递数据设置为所述界面更新函数的传入参数;
反向调用函数单元,用于基于所述界面更新函数的托管,通过回调函数调用所述界面更新函数,将所述界面更新函数的传入参数中包含的所述待传递数据传输到wpf平台中,以供所述wpf平台对所述待传递数据进行显示处理。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述通信方法的步骤。
本发明提供的通信方法、装置和存储介质,通过将待传递数据设置为osg接口提供的视点设置函数的传入参数,并调用视点设置函数,将视点设置函数的传入参数中包含的待传递数据传输到osg接口中,实现了wpf平台到osg接口的数据传递,且通信效率高且运行稳定。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的从wpf平台到osg接口的通信方法的流程示意图;
图2是本发明提供的从osg接口到wpf平台的通信方法的流程示意图;
图3是本发明提供的unity平台与osg接口间的通信方法的流程示意图;
图4是本发明提供的通信装置的结构示意图之一;
图5是本发明提供的通信装置的结构示意图之二。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更直观、更明确的管理摄像机和掌控视频动态,现有技术利用三维视频融合技术创建了多源信息融合三维可视化平台,实现了三维场景实时动态可视化监控。多源信息融合三维可视化平台可包含许多功能:二三维地图的联动、视频的融合与嵌入、大小场景的切换、小场景与二维地图的联动、天气和时间的仿真,以及视点漫游等。整个三维可视化平台框架由wpf(windowspresentationfoundation)提供,且框架提供了osgwindows和unitywidows用于加载unity窗口和osg(openscenegraph应用程序接口)窗口。因此,上述功能的实现都依赖于wpf、osg及unity三者之间的通信和数据传递。然而,目前没有一套完整的通信方式可以实现wpf与osg以及unity之间的数据传递。
对此,本发明实施例提供了一种通信方法。图1是本发明实施例提供的从wpf平台到osg接口的通信方法的流程示意图,如图1所示,该方法应用于wpf平台中,该方法包括:
步骤110,确定待传递数据,并将待传递数据设置为osg接口提供的视点设置函数的传入参数;
步骤120,调用视点设置函数,将视点设置函数的传入参数中包含的待传递数据传输到osg接口中,以供osg接口基于待传递数据进行视点设置。
具体地,首先确定需要传递到osg接口中的待传递数据。例如,待传递数据可以是wpf平台中正在操作的模型的名称及经纬度等参数信息。为了将待传递数据传输到osg接口中,可以采用函数调用的方式实现两个平台间的数据通信。具体而言,考虑到wpf平台传输数据到osg中的目的通常是对osg中的视点进行设置,因此wpf平台可以将待传递数据作为osg向外提供的视点设置函数的传入参数,并直接调用该视点设置函数,以供osg接口基于传入的待传递数据进行视点设置。此处,wpf在调用视点设置函数时,由于将待传递数据以传入参数的方式传递到了视点设置函数内部,因此osg接口在执行该视点设置函数时,可以获取传入参数中的待传递数据,从而实现了wpf平台到osg接口的数据传递。
本发明实施例提供的方法,通过将待传递数据设置为osg接口提供的视点设置函数的传入参数,并调用视点设置函数,将视点设置函数的传入参数中包含的待传递数据传输到osg接口中,实现了wpf平台到osg接口的数据传递,且通信效率高且运行稳定。
基于上述实施例,该方法还包括:
基于内置的unity可执行程序,通过socket将待传递数据以报文格式传输给unity平台。
具体地,目前的通信方式中,为了将数据在wpf平台与unity平台之间进行传输,通常利用unitywebplayer插件来实现。然而,unitywebplayer插件实质上是网页上播放unity页游的一款插件,其存在加载缓慢的问题,降低了wpf平台与unity平台间的通信效率。因此,为了提高通信效率,本发明实施例利用报文通信的方式实现wpf平台与unity平台间的数据传递。
此处,可以预先将unity生成的可执行程序嵌入到wpf程序中,wpf平台作为服务器端,unity平台本身则作为客户端。在需要进行数据传递时,将待传递数据封装到报文中,然后该内置的unity可执行程序可以通过socket,将封装有待传递数据的报文发送给unity平台。其中,报文格式可以为udp协议报文,还可以为tcp协议报文,本发明实施例对此不作具体限定。
本发明实施例提供的方法,通过将待传递数据封装到报文中,并通过socket将报文发送至unity,提高了wpf平台与unity平台之间的通信效率。
基于上述任一实施例,图2是本发明实施例提供的从osg接口到wpf平台的通信方法的流程示意图,如图2所示,该方法应用于osg接口中,该方法包括:
步骤210,接收wpf平台调用osg接口提供的视点设置函数时传入的界面更新函数的托管;
步骤220,确定待传递数据,并将待传递数据设置为界面更新函数的传入参数;
步骤230,基于界面更新函数的托管,通过回调函数调用界面更新函数,将界面更新函数的传入参数中包含的待传递数据传输到wpf平台中,以供wpf平台对待传递数据进行显示处理。
具体地,wpf平台通过调用osg接口提供的视点设置函数后,osg接口会对该视点设置函数的传入参数中携带的数据进行处理,并返回新的待传递数据,例如是否选中了想要的模型,以及该模型的相关信息等。需要说明的是,wpf平台调用视点设置函数时,传入参数不仅包括传输的数据本身,还包括wpf平台提供的用于处理osg返回的数据的函数托管,即界面更新函数的托管。正是由于wpf平台将界面更新函数的托管以传入参数的方式同步传递到了osg接口中,因此osg接口可以借界面更新函数,通过函数调用的方式将待传递数据传回到wpf平台中。
因此,在接收到wpf平台调用osg接口提供的视点设置函数时传入的界面更新函数的托管后,将待传递数据作为wpf平台提供的界面更新函数的传入参数,并通过回调函数调用该界面更新函数,以供wpf平台基于传入的待传递数据进行界面更新。此处,osg通过回调函数调用界面更新函数时,由于将待传递数据以传入参数的方式传递到了界面更新函数内部,因此osg接口在执行该界面更新函数时,可以获取传入参数中的待传递数据,从而实现了osg接口到wpf平台的数据传递。
此外,当osg接口通过回调函数调用wpf提供的界面更新函数时,界面更新函数需要改变前端的界面。然而,此时前端的ui对象正在被wpf平台中的ui线程占用,导致无法更新前端界面。对此,可以使用wpf平台中ui的dispatcher对象,并调用dispatcher对象的invoke方法,将界面更新函数交给该方法来执行,实现前端界面的更新。
本发明实施例提供的方法,通过将待传递数据设置为wpf平台传入的界面更新函数的传入参数,并通过回调函数调用界面更新函数,将界面更新函数的传入参数中包含的待传递数据传输到wpf平台中,实现了osg接口到wpf平台的数据传递,且通信效率高且运行稳定。
基于上述任一实施例,步骤230中,基于界面更新函数的托管,通过回调函数调用界面更新函数,具体包括:
将界面更新函数的托管转换为界面更新函数对应的函数指针;
基于界面更新函数对应的函数指针,通过回调函数调用界面更新函数。
具体地,由于wpf平台由c#语言编写,而osg接口由c 语言编写,因此osg接口无法直接根据界面更新函数的托管进行函数调用。因此,需要对界面更新函数的托管进行转换,转换成osg接口能理解的形式,即转换为该界面更新函数对应的函数指针。例如,可以将界面更新函数的托管转换成intptr类型,再将intptr类型转换成对应类型的函数指针。然后,再根据界面更新函数对应的函数指针,通过回调函数调用界面更新函数。
在对界面更新函数的托管进行转换之前,可以预先在osg中声明相应的回调函数以及与回调函数形式相对应的函数指针。与此同时,在wpf平台中同样需要声明与osg的函数指针对应一致的托管,并将wpf平台提供的界面更新函数交给该托管,以便传递给osg中对应的函数指针。
例如,可以首先在osghandler的类中声明一个名为messagecallback的函数指针,并在osghandler中声明一个此类型的类变量_mcb。然后,在wpf平台中准备一个用来被调用的界面更新函数callbackfunc,并创建一个messagecallback类型的托管,名为messagecallbackdelegate,该托管的初始化值为界面更新函数callbackfunc。当wpf平台调用视点设置函数并将该托管messagecallbackdelegate传入到osg接口中之后,osg接口先将该托管转换成intptr类型,再将intptr类型转换成同messagecallback对应一致的函数指针,并赋值给osghandler类中的变量_mcb,然后osg接口通过回调函数调用界面更新函数callbackfunc。如此一来,在osg平台中使用回调函数后,会直接触发wpf平台提供的界面更新函数,实现osg接口到wpf平台的数据传递。此外,由于c#有垃圾回收机制,为了防止托管messagecallbackdelegate被提前回收,可以调用keepalive方法保证托管对应的界面更新函数存活。
基于上述任一实施例,本发明又一实施例提供了一种通信方法,该方法应用于unity平台中,该方法包括:
基于unity程序脚本中内嵌的socket,将待传递数据以报文格式传输给wpf平台。
具体地,可以预先在unity平台的unity程序脚本中嵌入socket内容,并将unity平台本身作为客户端,wpf平台中内嵌的unity可执行程序作为服务器端。在需要进行数据传递时,将待传递数据封装到报文中,然后通过unity程序脚本中内嵌的socket,将封装有待传递数据的报文发送给wpf平台。其中,报文格式可以为udp协议报文,还可以为tcp协议报文,本发明实施例对此不作具体限定。
本发明实施例提供的方法,通过将待传递数据封装到报文中,并通过socket将报文发送至wpf平台,提高了wpf平台与unity平台之间的通信效率。
基于上述任一实施例,本发明另一实施例提供了一种通信方法,该方法包括:
基于unity平台的unity程序脚本中内嵌的socket,将待传递数据以报文格式传输给wpf平台;
wpf平台将接收到的待传递数据设置为osg接口提供的视点设置函数的传入参数后,调用视点设置函数,将视点设置函数的传入参数中包含的待传递数据传输到osg接口中。
具体地,unity平台与osg接口可以通过wpf作为媒介间接通信,即unity平台首先将待传递数据传输到wpf平台中,wpf平台再将待传递数据传输给osg接口。图3是本发明实施例提供的unity平台与osg接口间的通信方法的流程示意图,如图3所示,unity平台利用unity程序脚本中内嵌的socket,通过报文将待传递数据传输给wpf平台,具体传输方式可以采用如上述任一实施例提供的从unity平台到wpf平台的通信方法,在此不再赘述。wpf接收到待传递数据后,将待传递数据设置为osg接口提供的视点设置函数的传入参数后,调用视点设置函数,将视点设置函数的传入参数中包含的待传递数据传输到osg接口中,具体传输方式可以采用如上述任一实施例提供的从wpf平台到osg接口的通信方法,在此也不再赘述。
本发明实施例提供的方法,通过将wpf作为媒介,unity平台将待传递数据传输到wpf平台中,wpf平台再将待传递数据传输给osg接口,可以实现unity平台与osg接口间的通信。
基于上述任一实施例,该方法还包括:
osg接口接收到wpf平台调用视点设置函数时传入的界面更新函数的托管后,确定待传递数据,并将待传递数据设置为界面更新函数的传入参数;
osg接口基于界面更新函数的托管,通过回调函数调用界面更新函数,将界面更新函数的传入参数中包含的待传递数据传输到wpf平台中;
wpf平台基于内置的unity可执行程序,通过socket将待传递数据以报文格式传输给unity平台。
具体地,当osg接口需要传递数据给unity平台时,仍然可以将wpf平台作为媒介,实现osg接口与unity平台的间接通信。如图3所示,osg接口接收到wpf平台调用视点设置函数时传入的界面更新函数的托管后,将待传递数据设置为界面更新函数的传入参数,并基于界面更新函数的托管,通过回调函数调用界面更新函数,将界面更新函数的传入参数中包含的待传递数据传输到wpf平台中,具体传输方式可以采用如上述任一实施例提供的从osg接口到wpf平台的通信方法,在此也不再赘述。然后,wpf平台基于内置的unity可执行程序,通过socket将待传递数据以报文格式传输给unity平台,具体传输方式可以采用如上述任一实施例提供的从wpf平台到unity平台的通信方法,在此也不再赘述。
下面对本发明提供的通信装置进行描述,下文描述的xx装置与上文描述的通信方法可相互对应参照。
基于上述任一实施例,图4是本发明实施例提供的通信装置的结构示意图之一,如图4所示,该装置部署于wpf平台中,包括第一传参确定单元410和函数调用单元420。
其中,第一传参确定单元410用于确定待传递数据,并将待传递数据设置为osg接口提供的视点设置函数的传入参数;
函数调用单元420用于调用视点设置函数,将视点设置函数的传入参数中包含的待传递数据传输到osg接口中,以供osg接口基于待传递数据进行视点设置。
本发明实施例提供的装置,通过将待传递数据设置为osg接口提供的视点设置函数的传入参数,并调用视点设置函数,将视点设置函数的传入参数中包含的待传递数据传输到osg接口中,实现了wpf平台到osg接口的数据传递,且通信效率高且运行稳定。
基于上述任一实施例,该装置还包括第一报文传输单元,用于:
基于内置的unity可执行程序,通过socket将待传递数据以报文格式传输给unity平台。
本发明实施例提供的装置,通过将待传递数据封装到报文中,并通过socket将报文发送至unity,提高了wpf平台与unity平台之间的通信效率。
基于上述任一实施例,图5是本发明实施例提供的通信装置的结构示意图之二,如图5所示,该装置部署于osg接口中,包括:待调用函数接收单元510、第二传参单元520和反向函数调用单元530。
其中,待调用函数接收单元510用于接收wpf平台调用osg接口提供的视点设置函数时传入的界面更新函数的托管;
第二传参单元520用于确定待传递数据,并将待传递数据设置为界面更新函数的传入参数;
反向函数调用单元530用于基于界面更新函数的托管,通过回调函数调用界面更新函数,将界面更新函数的传入参数中包含的待传递数据传输到wpf平台中,以供wpf平台对待传递数据进行显示处理。
本发明实施例提供的装置,通过将待传递数据设置为wpf平台传入的界面更新函数的传入参数,并通过回调函数调用界面更新函数,将界面更新函数的传入参数中包含的待传递数据传输到wpf平台中,实现了osg接口到wpf平台的数据传递,且通信效率高且运行稳定。
基于上述任一实施例,反向调用函数单元530具体用于:
将界面更新函数的托管转换为界面更新函数对应的函数指针;
基于界面更新函数对应的函数指针,通过回调函数调用界面更新函数。
基于上述任一实施例,本发明又一实施例提供了一种通信装置,该装置部署于unity平台中,该装置包括第二报文传输单元,用于:
基于unity程序脚本中内嵌的socket,将待传递数据以报文格式传输给wpf平台。
本发明实施例提供的装置,通过将待传递数据封装到报文中,并通过socket将报文发送至wpf平台,提高了wpf平台与unity平台之间的通信效率。
基于上述任一实施例,本发明另一实施例提供了一种通信装置,该装置包括中间报文传输单元和中间函数调用单元。
其中,中间报文传输单元用于基于unity平台的unity程序脚本中内嵌的socket,将待传递数据以报文格式传输给wpf平台;
中间函数调用单元用于wpf平台将接收到的待传递数据设置为osg接口提供的视点设置函数的传入参数后,调用视点设置函数,将视点设置函数的传入参数中包含的待传递数据传输到osg接口中。
本发明实施例提供的装置,通过将wpf作为媒介,unity平台将待传递数据传输到wpf平台中,wpf平台再将待传递数据传输给osg接口,可以实现unity平台与osg接口间的通信。
基于上述任一实施例,该装置还包括:中间参数传入单元、中间回调函数调用单元和中间报文传输单元。
其中,中间参数传入单元用于在osg接口接收到wpf平台调用视点设置函数时传入的界面更新函数的托管后,确定待传递数据,并将待传递数据设置为界面更新函数的传入参数;
中间回调函数调用单元用于osg接口基于界面更新函数的托管,通过回调函数调用界面更新函数,将界面更新函数的传入参数中包含的待传递数据传输到wpf平台中;
中间报文传输单元用于在wpf平台中基于内置的unity可执行程序,通过socket将待传递数据以报文格式传输给unity平台。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的通信方法,该方法包括:确定待传递数据,并将所述待传递数据设置为osg接口提供的视点设置函数的传入参数;调用所述视点设置函数,将所述视点设置函数的传入参数中包含的所述待传递数据传输到osg接口中,以供所述osg接口基于所述待传递数据进行视点设置。
当所述程序指令被计算机执行时,计算机还能够执行上述各方法所提供的通信方法,该方法包括:接收wpf平台调用osg接口提供的视点设置函数时传入的界面更新函数的托管;确定待传递数据,并将所述待传递数据设置为所述界面更新函数的传入参数;基于所述界面更新函数的托管,通过回调函数调用所述界面更新函数,将所述界面更新函数的传入参数中包含的所述待传递数据传输到wpf平台中,以供所述wpf平台对所述待传递数据进行显示处理。
当所述程序指令被计算机执行时,计算机还能够执行上述各方法所提供的通信方法,该方法包括:基于unity程序脚本中内嵌的socket,将待传递数据以报文格式传输给wpf平台。
当所述程序指令被计算机执行时,计算机还能够执行上述各方法所提供的通信方法,该方法包括:基于unity平台的unity程序脚本中内嵌的socket,将待传递数据以报文格式传输给wpf平台;wpf平台将接收到的所述待传递数据设置为osg接口提供的视点设置函数的传入参数后,调用所述视点设置函数,将所述视点设置函数的传入参数中包含的所述待传递数据传输到osg接口中。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的通信方法,该方法包括:确定待传递数据,并将所述待传递数据设置为osg接口提供的视点设置函数的传入参数;调用所述视点设置函数,将所述视点设置函数的传入参数中包含的所述待传递数据传输到osg接口中,以供所述osg接口基于所述待传递数据进行视点设置。
该计算机程序被处理器执行时还实现以执行上述各提供的通信方法,该方法包括:接收wpf平台调用osg接口提供的视点设置函数时传入的界面更新函数的托管;确定待传递数据,并将所述待传递数据设置为所述界面更新函数的传入参数;基于所述界面更新函数的托管,通过回调函数调用所述界面更新函数,将所述界面更新函数的传入参数中包含的所述待传递数据传输到wpf平台中,以供所述wpf平台对所述待传递数据进行显示处理。
该计算机程序被处理器执行时还实现以执行上述各提供的通信方法,该方法包括:基于unity程序脚本中内嵌的socket,将待传递数据以报文格式传输给wpf平台。
该计算机程序被处理器执行时还实现以执行上述各提供的通信方法,该方法包括:基于unity平台的unity程序脚本中内嵌的socket,将待传递数据以报文格式传输给wpf平台;wpf平台将接收到的所述待传递数据设置为osg接口提供的视点设置函数的传入参数后,调用所述视点设置函数,将所述视点设置函数的传入参数中包含的所述待传递数据传输到osg接口中。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
1.一种通信方法,其特征在于,该方法应用于wpf平台中,包括:
确定待传递数据,并将所述待传递数据设置为osg接口提供的视点设置函数的传入参数;
调用所述视点设置函数,将所述视点设置函数的传入参数中包含的所述待传递数据传输到osg接口中,以供所述osg接口基于所述待传递数据进行视点设置。
2.根据权利要求1所述的通信方法,其特征在于,还包括:
基于内置的unity可执行程序,通过socket将所述待传递数据以报文格式传输给unity平台。
3.一种通信方法,其特征在于,该方法应用于osg接口中,包括:
接收wpf平台调用osg接口提供的视点设置函数时传入的界面更新函数的托管;
确定待传递数据,并将所述待传递数据设置为所述界面更新函数的传入参数;
基于所述界面更新函数的托管,通过回调函数调用所述界面更新函数,将所述界面更新函数的传入参数中包含的所述待传递数据传输到wpf平台中,以供所述wpf平台对所述待传递数据进行显示处理。
4.根据权利要求3所述的通信方法,其特征在于,所述基于所述界面更新函数的托管,通过回调函数调用所述界面更新函数,具体包括:
将所述界面更新函数的托管转换为所述界面更新函数对应的函数指针;
基于所述界面更新函数对应的函数指针,通过回调函数调用所述界面更新函数。
5.一种通信方法,其特征在于,该方法应用于unity平台中,包括:
基于unity程序脚本中内嵌的socket,将待传递数据以报文格式传输给wpf平台。
6.一种通信方法,其特征在于,包括:
基于unity平台的unity程序脚本中内嵌的socket,将待传递数据以报文格式传输给wpf平台;
wpf平台将接收到的所述待传递数据设置为osg接口提供的视点设置函数的传入参数后,调用所述视点设置函数,将所述视点设置函数的传入参数中包含的所述待传递数据传输到osg接口中。
7.根据权利要求6所述的通信方法,其特征在于,还包括:
osg接口接收到wpf平台调用所述视点设置函数时传入的界面更新函数的托管后,确定待传递数据,并将所述待传递数据设置为所述界面更新函数的传入参数;
osg接口基于所述界面更新函数的托管,通过回调函数调用所述界面更新函数,将所述界面更新函数的传入参数中包含的所述待传递数据传输到wpf平台中;
wpf平台基于内置的unity可执行程序,通过socket将所述待传递数据以报文格式传输给unity平台。
8.一种通信装置,其特征在于,该装置部署于wpf平台中,包括:
第一传参确定单元,用于确定待传递数据,并将所述待传递数据设置为osg接口提供的视点设置函数的传入参数;
函数调用单元,用于调用所述视点设置函数,将所述视点设置函数的传入参数中包含的所述待传递数据传输到osg接口中,以供所述osg接口基于所述待传递数据进行视点设置。
9.一种通信装置,其特征在于,该装置部署于osg接口中,包括:
待调用函数接收单元,用于接收wpf平台调用osg接口提供的视点设置函数时传入的界面更新函数的托管;
第二传参单元,用于确定待传递数据,并将所述待传递数据设置为所述界面更新函数的传入参数;
反向调用函数单元,用于基于所述界面更新函数的托管,通过回调函数调用所述界面更新函数,将所述界面更新函数的传入参数中包含的所述待传递数据传输到wpf平台中,以供所述wpf平台对所述待传递数据进行显示处理。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述通信方法的步骤。
技术总结