OpenSceneGraph in ActiveX by ActiveQt】的更多相关文章

OpenSceneGraph in ActiveX by ActiveQt eryar@163.com Abstract. Qt’s ActiveX and COM support allows Qt for Windows developers to access and use ActiveX controls and COM objects provided by any ActiveX server in their Qt applications. Make their Qt appl…
经过不断试用与改动,这个查看器终于还是完毕了设计.实现.查看器,顾名思义,没有编辑功能:说的白一点,仅仅是一个以OpenStreetMap为底图的显示装置罢了.和专业GIS相比,这款基于插件的OpenStreetMap瓦片查看器client显得单薄.和消费类GIS(如面向浏览器的地图API)相比,它是本地的.似乎和Native应用更加合拍. 事实上一直以来想利用业余时间做这样一个工具,使得非计算机专业的project师们能够拥有一款支持漫游.标图.动画效果的轻量级地理信息插件,特别是掌握C++.…
重点重写QAxBindable的createAggregate() 参考Qt例子: qtactiveqt\activeqt\opengl\glbox.cpp…
最近写的插件功能基本完成,也遇到了一些坑,在这里记录一下. 我写的这个插件的js接口是仿造google earth的js接口,尽可能的达到与它的api一致.先从最简单的说起: 1. 导出接口中的float参数 GE中的一些接口有些参数是float,比如下面这个:     float KmlMouseEvent::getLatitude() 你要是真按着这个函数来返回float,我估计你在页面里调用这个方法的时候肯定会提示你"方法不存在,或不支持该方法"之类的. 明明写了,为啥提示没有这…
如何用ActiveQt写导出类 最近一直在用ActiveQt框架来写ActiveX插件, 由于项目需要提示类的导出, 所以上午捣鼓了一下, 现在记录记录.其实内容主要是把Qt手册里自己用到的部分整理一下而已.导出类的编写~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~用ActiveQt框架写导出类, 主要注意几点:1. 派生关系这里要注意必须要从QObject或它的派生类派生, 并且QObject要放在第一个. 也就是说, 如果你的类要从多个类…
Qt的windows商业版本提供了ActiveQt这个framework,使用这个组件我们可以在Qt中使用ActiveX控件,并且也开发基于Qt的ActiveX控件.ActiveQt包含了两个组件QAxContainer和QAxServer. l         QAxContainer允许我们使用COM对象,并且可以将将ActiveX控件嵌入到Qt程序中去. l         QAxServer可以将我们写的Qt控件导出为COM对象或者是ActiveX控件. 第一个例子我们来演示一下在Qt中…
ActiveX.pro #------------------------------------------------- # # Project created by QtCreator 2018-01-19T09:37:39 # #------------------------------------------------- # Qt shared QT_CI_JENKINS_HOME=$$(JENKINS_HOME) !isEmpty(QT_CI_JENKINS_HOME) { me…
(转自:http://blog.csdn.net/tingsking18/article/details/5403038) 在Qt中使用ActiveX控件 Qt的windows商业版本提供了ActiveQt这个framework,使用这个组件我们可以在Qt中使用ActiveX控件,并且也开发基于Qt的ActiveX控件.ActiveQt包含了两个组件QAxContainer和QAxServer. l         QAxContainer允许我们使用COM对象,并且可以将将ActiveX控件嵌…
前言   使用C#开发动画,绘图性能跟不上,更换方案使用Qt开发Qt的控件制作成OCX以供C#调用,而activex则是ocx的更高级形式.  QtCreator是没有Active控件项目的,所有需要使用VS,笔者使用VS2019开发.   准备工作   Qt5.15.2 + VS2019 + vs tools,搭建基础开发环境不再赘述.     开发第一个Qt Activex:Hello world 步骤一:新建Qt ActiveQt Server项目              步骤二:拖一个…
若该文为原创文章,转载请注明原文出处本文章博客地址:https://blog.csdn.net/qq21497936/article/details/113789693 长期持续带来更多项目与技术分享,咨询请加QQ:21497936.微信:yangsir198808 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术.树莓派.三维.OpenCV.OpenGL.ffmpeg.OSG.单片机.软硬结合等等)持续更新中-(点击传送门) Qt开发专栏:开发技术 上一篇:<Qt开发Activex笔…
一.前言 最近有这样一个需求,需要在网页上面启动客户端的软件,软件之间的通信.调用,单单依靠HTML是无法实现了,因此必须借用Activex来实现.由于本人主要擅长C#,自然本文给出了用C#实现的范例,本文的预期效果是有一定Winform基础的人可都轻松读懂本文. 文章主要介绍了以下几个部分:   1.用C#制作Activex控件,并发布为msi安装文件   2.将msi打包为cab,达到浏览器自动安装的效果   3.给cab数字签名(可选)   4.将Activex应用到网页上   二.用C#…
在编译 OpenSceneGraph 的一个简单示例时, #include <osgViewer/Viewer> #include <osgDB/ReadFile> void _tmain(int argc, _TCHAR* argv[]) { osgViewer::Viewer viewer; viewer.setSceneData(osgDB::readNodeFile("glider.osg")); viewer.realize(); viewer.run…
1,容器应用程序是可以嵌入或链接对象的应用程序.服务器应用程序是创建对象并且当对象被双击时,可以被启动的应用程序. 2,可以安装一个TstCon32来测试ActiveX控件 3,可以用 Invalidate();或InvalidateControl();使窗口无效 4,在ClockLib下的_DClock增加属性,可以在ClockCtrl类中用PROPPAGEID(CLSID_CColorPropPage)增加属性页.…
OpenSceneGraph 笔记--如何导出三角形数据 转载:http://blog.csdn.net/pizi0475/article/details/5384389 在OpenSceneGraph开发中,为了方便会经常使用到一些不是三角形片的数据,比如四边形等数据.例如画一个管子用四边形带比用三角形片好计算得多.比如现在我们要画一个由两个平面组成的面,我可以这样做:     osg::Geode* geode=new osg::Geode;    osg::Geometry* polyGe…
Visulalize Boost Voronoi in OpenSceneGraph eryar@163.com Abstract. One of the important features of the boost polygon library is the implementation of the generic sweepline algorithm to construct Voronoi diagrams of points and linear segments in 2D(d…
Visulalization Voronoi in OpenSceneGraph eryar@163.com Abstract. In mathematics a Voronoi diagram is a way of dividing space into a number of regions. A set of points, called seeds, sites, or generators is specified beforehand and for each seed there…
前文中四篇随笔.已经可以实现 ActiveX 与 Js 无缝交互. 也就是说借用ActiveX实现更加强大的功能已经完全不是问题.但是.ActiveX 本身还有一个局限性——浏览器兼容问题.如此强大的ActiveX却因为浏览器兼容而饱受折磨,是不是有些可惜? 那有没有更好的方式可以代替ActiveX呢? 如果.我们使用.NET开发一独立的Application(WinForm .Web. 或者 Windows服务).并在客户端部署,并使用Js进行跨进程通讯,该方案是否可运行呢?然而.恰好,Web…
说道ActiveX,我的第一直觉就是Flash,利用ActiveX.我们可以创建丰富的可交互式应用程序.同时.利用ActiveX特性.我们可以实现Js 与 ActiveX 的无缝连接(包括数据共享.和 接口相互调用),借助ActiveX打破浏览器限制.进而实现更显更加强大的功能. 闲话少说.步入正题,看一下如何快速开发一个简单的密码登录框: 新建一个Windows应用程序项目 修改 项目属性——> 应用程序——> 输出类型,改为 “类库”. 修改 项目属性——> 应用程序——> 程…
在上一篇随笔:ActiveX(一)第一个简单的Demo 中,已经可以实现 js 单向调用 ActiveX 中的方法,在很多情况下ActiveX中的方法的执行时相对耗时.耗性能的.在这样的情况下.ActiveX的方法执行会使用异步策略,那么方法异步时,js又如何获取异步执行结果呢?方案无非两种,一种是轮训.一种是Notify. 如果是Notify,Js如何监听其事件呢? 这将是本篇随笔接下来的重点: 继续上一个Demo,假设,技术需求如下:当按回车时.ActiveX将密码框中的密码主动推给Js (…
在上一篇随笔: ActiveX(二)Js 监听 ActiveX中的事件  中,已经可以实现 Js 监听 ActiveX中的事件,至此.Js 和 ActiveX 已经可以实现双向通讯了.但是.这样的实现方式,都是站在Js的角度去实现的,那么 ActiveX 能否主动调用 Js 呢?答案无疑是肯定的,在该篇随笔中.我们将逐渐揭开这一层神秘的面纱. 我第一次接触用C#代码调用Js是在四年前,那时候正在实习做Windows应用.需要借用 WebBrowser 控件操作js.完成一些特殊需求.当时的代码大…
在上一篇随笔 ActiveX(三)ActiveX 调用 Js 中,我们已经可以获得js中window对象的强类型接口.即 mshtml.IHTMLWindow2 ,通过该接口.我们可以调用js函数.那么我们再试一试其他的方法呢,看看结果是否符合预期: private void btnAlert_Click(object sender, EventArgs e) { if (this.window2 != null) { this.window2.alert("C#CodeAlert:"…
ActiveX控件方便用户在网页中插入各种效果,但是并不是所有浏览器都支持该控件. ActiveX是微软独有的,只有基于IE内核的浏览器才能使用. 当出现如上错误,可以将通过该控件创建的对象定义为本地的JavaScript对象.代码如下: var xmlHttp: //判断浏览器是否支持ActiveX控件 if(window.ActiveXObject){ //支持-通过ActiveXObject的一个新实例来创建XMLHttpRequest对象 xmlHttp = new ActiveXObj…
入职差不多两个月了,由学生慢慢向职场人做转变,也慢慢的积累知识,不断的更新自己.最近的一个项目里边,涉及到的一些问题,因为SDK提供的只是winform才能使用了,但是有需求咱们必须得完成啊,所以涉及到的ActiveX控件开发并用web来显示的,正好也总结一些,之前在学校一直没有接触过,网上是有教程的,但是大多有问题,只有自己亲自测试通过了才放心.(转发请注明来源:http://www.cnblogs.com/EminemJK/) 一.开发ActiveX控件 1.新建类库,命名类库名称“user…
如果是在64位操作系统中编译的代码,如果activex是32位的那么将不会运行32位的activex. 解决方法:右击项目->属性->生成->目标平台[x86]…
http://www.cnblogs.com/devcjq/articles/2906224.html Flash是Macromedia公司出品的,用在互联网上动态的.可互动的shockwave.它的 优点是体积小,可边下载边播放,这样就避免了用户长时间的等待. FLASH可以用其生成动画,还可在网页中加入声音.这样你就能生成多媒体的图形和界面,而使文件的体积却很小. FLASH虽然不可以象一门语言一样进行编程,但用其内置的语句并结合 javaSCRipE,您也可作出互动性很强的主页来. FLA…
此处的Activex是ATL方式的. [ComVisible(false)]    [ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("00000001-0000-0000-C000-000000000046")]    internal interface IClassFactory    {        void CreateInstance([MarshalAs(UnmanagedType…
需要解决三个问题,运行环境检测与安装,按顺序执行安装,activex注册. 运行环境检测与安装 最开始的方法,百度之后,根据网上的搜索的结果,使用了RegQueryDWordValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{9A25302D-30C0-39D9-BD6F-21E6EC160475}', 'Version', version),最后的结果,我发现,跟我想的不一样,没有判断到是否已经安装了vc++9的环…
OpenSceneGraph控制模型 转自:http://www.cppblog.com/eryar/archive/2012/05/28/176538.html 一.简介 对模型的控制就是修改模型的位置和方向属性,使模型的位置和方向发生改变,通常通过移动.旋转.缩放来实现.在三维CAD软件中通常要对模型的位置进行修改,如装配模型时把其中一个零件模型移动一个位置.由计算机图形学知识得三维图形的几何变换可用一个四阶齐次矩阵来表示,即模型的几何变换都是对矩阵进行操作. 二.OSG模型控制 在OSG中…
1.地球背面的一个点,计算它在屏幕上的坐标,能得到吗? 不是被挡住了吗? 答:计算一个空间点的屏幕坐标,使用osgAPEx::GetScreenPosition函数.当空间点处于相机视空间内(不管它是否被别的物体遮挡)时,都是可以得到它对应的屏幕坐标的. 如何判断一个点是否在地球背面?可以通过计算该点处垂直地面的方向UP,与相机方向的夹角,如果夹角为锐角,则可认为该点在地球背面.计算地球上任意点的UP方向使用osgAPEx::ComputeLocalUpVector. 2.OSG中可以播放视频吗…
什么是插件 现在的浏览器提供了大量的内置功能,但仍然有一些工作无法完成,如播放音频和视频.插件及其扩展浏览器功能就尤为重要. 插件是可下载的应用程序,可以插入到浏览器中,现在有很多不同的插件,常用的有Adobe Flash  Palyer ,Microsoft的Silverlinght和Apple的QuickTme播发器. 插件是封装了完成某项工作(播放音频文件)所需的所有功能的对象,对网站作者隐藏了复杂的细节,通常用C++或者JAVA等语言编写插件. 插件通常有某种用户界面,如QuickTme…