2 cchangcs

已隐藏 已隐藏

Make something different!

等级
TA的排名 5k+

OSGEarth绘制随模型位置变化而动态移动的线段

目录一、编写Callback二、初始化并绑定Callback本文主要介绍在OSGEarth中绘制随模型位置变化而动态移动的线段,即两个三维模型通过线段进行连接,在模型移动的过程中,连接的线段跟着模型做相应的位移。一、编写Callback#pragma onceclass UpdateLink :public osg::NodeCallback{public: osg:...

2019-12-13 15:17:25

OSGEarth添加文字

目录一、类型转换二、编码修改三、文字添加四、完整代码本文主要介绍在OSGEarth中实现在指定经纬度添加文字。一、类型转换下列代码用于是实现将String类型的字符串转换为WString类型,才可被相应函数接收作为输入。std::wstring String2WString(const std::string& s){ std::string str...

2019-12-13 15:03:19

OSGEarth隐藏显示tif图层

目录一、.earth文件中加载tif文件二、C++代码实现实时显示与隐藏显示图层隐藏图层在OSGEarth中,为了实现对tif图层的智能化管理,有时需要实现tif图层的实时显示与隐藏。一、.earth文件中加载tif文件在.earth文件中加入下列代码即可实现对example.tif文件的加载。注:注意设置name,才能通过name实现对tif图层的显示与隐藏。...

2019-12-13 14:50:21

OSGEarth模型点击事件

目录一、实现模型点击事件二、添加并设置模型名称三、绑定模型点击事件使用OSGEarth进行开发时,有时需要实现点击添加的三维模型,触发某个事件。一、实现模型点击事件下列代码实现了点击模型时,当点击的模型名称与监听的模型名称一致时,就触发某个事件。#include "StdAfx.h"#include "PickNodeHandler.h"CPickHandle...

2019-12-13 14:42:28

OSGEarth加载的三维模型缺乏立体感或透明

目录问题描述解决方案问题描述在OSGEarth中加载三维模型时,出现了模型过亮,缺乏立体感甚至透明的问题。解决方案将camera的光照关闭,即可解决上述问题,即加入下列代码:mViewer->getCamera()->getOrCreateStateSet()->setMode(GL_LIGHTING, osg::StateAttribute::OF...

2019-12-12 17:14:58

将Java函数发布为ODE服务并创建BPEL工作流

目录环境:一、发布ODE服务二、创建BPEL工作流环境:1、Axis 2插件2、BPEL插件3、Tomcat一、发布ODE服务1、在需要发布为ODE服务的Java函数的类上右键->New->Other->Axis2 Service Archiver->Next2、选择.class文件所在目录,并点击Next3、勾选Ski...

2019-12-10 22:08:56

一种简单的Java向C#发送消息的方式

在业务开发过程中,有时会遇到使用C#实现业务处理逻辑,监听并解析消息,并通过Java代码向C#实现的业务逻辑发送消息,以执行相应的操作。在遇到这种情况时,一个比较简单的方法就是:在C#端通过监听键盘点击事件来执行相应业务逻辑,Java端通过模拟键盘点击事件,来向C#端发送消息。具体实现代码如下所示:C#端1、找到属性->事件,并双击箭头所示位置,添加按钮点击事件2、...

2019-12-10 09:57:12

osgEarth根据DEM地形的高程设置不同的颜色

本文主要介绍在osgEarth中根据DEM地形的高程设置不同的颜色。将下面两个url中的路径替换为需要渲染的高程数据即可。<map name="readymap.org" type="geocentric"> <heightfield name="GuangDongHeightfiled" driver="gdal"> <url>./dem/GD_2...

2019-06-18 12:30:58

osgEarth基于callback更新绘制的图形(附带:osgEarth绘制多边形方法)

本文主要介绍在osgEarth中基于callback实现实时更新绘制的图形。绘制图形和调用callback的代码:void drawLakes(){ //初始化绘图参数 const osgEarth::SpatialReference* geoSRS = mapNode->getMapSRS()->getGeographicSRS(); //湖面 osgEarth::Sy...

2019-06-10 20:53:17

osgEarth解决中文乱码问题

本文主要介绍解决在osgEarth中的中文乱码问题。主要有两个需要注意的点:1、将字符串从Unicode转换为UTF-8编码:void unicodeToUTF8(const wstring &src, string& result){ int n = WideCharToMultiByte(CP_UTF8, 0, src.c_str(), -1, 0, 0, 0, 0)...

2019-05-31 11:19:33

osg读取fbx模型并播放动画(附代码和模型)

本文主要介绍通过osg读取fbx 3d模型,并播放模型所带的动画。所使用到的类为AnimationManagerBase。模型下载地址:

2019-05-16 17:01:30

C# ListBox中添加CheckBox并遍历添加的CheckBox

在使用ListBox时,有时需要动态的添加CheckBox,并在添加后根据CheckBox的选中情况执行相应的事件。首先是添加的代码:DirectoryInfoTheFolder=newDirectoryInfo("G:/proj/ActiveDemoEarth/WindowsFormsApplication1/bin/x64/Release/line/");...

2019-05-13 13:24:42

C#监测TXT文件的变化并输出变化内容

本文主要介绍在C#中监测TXT文件内容的变化,并输出变化的内容。原本想到的解决方案是使用FileSystemWatcher,但是FileSystemWatcher一次变化会触发很多次事件,解决了很久也没有结果,就选择了下面的方法 String filename =" ";//添加读取的txt文件 using (var fs = new FileStream(filename, ...

2019-05-11 15:34:50

OSGEarth基于经纬度获取高程数据

在添加了DEM数据后,有时需要基于经纬度查询某一点的高程信息,本文主要介绍了如何实现基于经纬度查询高程数据的实现过程。首先加载头文件:#include <osgEarth/MapNode>#include <osgEarth/ElevationQuery>#include <osgDB/ReadFile>创建需要使用到的变量:osg::ref_pt...

2019-05-07 15:55:04

OsgEarth加载DEM(数字高程模型)

本文主要介绍在OsgEarth中添加DEM,即数字高程模型。写在前面,由于我也是OsgEarth的小白一枚,写这篇博客只是为了个人记录所用,大家看了觉得没有用勿喷,有错误可在评论指出。添加方法:在.earth文件中添加下列代码,其中name可自己制定,url标签中添加dem模型所在的目录,可以写绝对路径或相对路径:<heightfield name="xinjiang" driver...

2019-04-24 18:14:13

osgEarth C++转换为ActiveX控件

本文主要介绍osgEarth C++程序如何转换为ActiveX控件。1、创建win32dll应用程序,并添加osgEarth代码。2、配置包含路径、库路径和链接库:D:\OSG_PATH\Osg3.4.0_SDK\lib;D:\OSG_PATH\OsgEarth2.8_SDK\lib;D:\OSG_PATH\Osg3.4.0_SDK\include;D:\OSG_PATH\OsgEa...

2019-04-21 22:46:40

面经个人向(算法岗)

从三月份开始,一直在找算法岗的实习,因为导师不让出去实习的缘故,所以对于找实习一直很佛系,到今天也只面试了三个公司(阿里、字节跳动和华为)。想记录一下这段时间面试所遇到的问题(可能只适用于我自己,大家看了觉得没有用勿喷)。1、人群计数模型的原理:首先根据标注的人头位置和核密度估计生成每个人群图像所对应的人群密度图,然后采用CNN网络模型基于人群特征回归人群密度图,最后计算人群密度图的数值总和...

2019-04-16 21:11:15

已解决:osg或者osgEarth 加载模型后只能从前后左右看到

在使用osg或者osgEarth加载3d模型时,加载后的模型只能从前后左右四个方向看到,从上方无法看到模型。解决方法:出现上述问题的原因是深度测试没有打开,只需在camera中将深度测试打开即可。打开深度测试的代码:camera->getOrCreateStateSet()->setMode(GL_DEPTH_TEST, osg::StateAttribute::ON...

2019-04-15 13:16:11

3dmax文件格式转换——.max 转换为 .flt(解决转换后.flt没有纹理贴图的问题)

本文主要介绍如何在3dmax中将.max格式文件转换为.flt格式文件,并解决转换后的文件没有纹理贴图的问题。在3dmax中,将.max文件转换为.flt格式,只需导出选择.flt格式即可,但是导出的文件在osgEarth中加载后,缺少纹理和贴图。下面是解决方案:1、选中加载的模型,然后点击渲染->渲染到纹理2、将渲染到纹理子窗口往下拉,点击添加按钮,添加...

2019-03-29 15:46:02

OSGEarth+MFC运行后黑屏

本文主要介绍如何解决在MFC窗口程序中实现OSGEarth后黑屏。原因:出现该问题的原因是运行后显示出来的结果超出了MFC程序视窗外。解决方案:将camera->setViewport(new osg::Viewport(traits->x, traits->y, traits->width, traits->height));修改为c...

2019-03-05 10:20:11

查看更多

勋章 我的勋章
  • 领英
    领英
    绑定领英第三方账户获取
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 签到达人
    签到达人
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。