- 博客(18)
- 资源 (7)
- 收藏
- 关注
转载 C++ 4种类型转换详解
在C/C++语言中用 (type) value(在C++还可以采用type(value))来进行显式类型转换(explicit type conversion),常常又被称为强制转换(cast投射/铸模)。这种转换的正确性完全掌握在程序员手中,传统上强制转换往往被过度使用,成为C++程序犯错的一个主要根源。为了减少强制转换的副作用,并且在查错时使程序员能够快速定位(总是最值得怀疑的)强
2014-05-26 21:13:30 534
转载 C++文件操作详解(ifstream、ofstream、fstream)
C++ 通过以下几个类支持文件的输入输出:ofstream: 写操作(输出)的文件类 (由ostream引申而来)ifstream: 读操作(输入)的文件类(由istream引申而来)fstream: 可同时读写操作的文件类 (由iostream引申而来)打开文件(Open a file)对这些类的一个对象所做的第一个操作通常就是将它和一个真正的文件联系起来,也就是说打
2014-04-09 21:38:34 888
转载 c++中向量
C++中的标准模板库(STL, Standard Template Library)有三个主要组成部分:容器、迭代器、算法而STL容器可以分为三类:顺序容器、关联容器、容器适配器顺序容器又有三种预定义的容器:向量(Vector)、双端队列(Deque)、表(List)向量:访问向量中的元素。在数组中间或是开始处插入一个元素是费时的,特别是在数组非常大的时候更是如此。然而在数组末端插
2014-04-09 21:34:21 806
原创 简单图形编程学习(2)
画弧线和曲线通过Arc()函数画弧线或整个椭圆。椭圆限定在一个矩形内,称为外接矩形。Arc()函数的原型说明如下:在Windows系统中,弧线从开始点到终点的方向是逆时针方向,但可以通过SetArcDirectoin()函数将绘制弧线方向设置为顺时针方向用Arc()绘制圆,圆弧,椭圆,代码如下:for (int i =0 ;i{pDC->Arc(260-5*i,
2014-01-03 15:57:47 826
原创 简单图形编程学习
在windows系统中,程序都是通过图形设备接口(GDI)的抽象接口和硬件打交道。GDI是Windows系统核心的三种动态链接库之一,管理Windows系统的所有程序的图形输出。设备描述表(DC),DC是一个数据结构,当程序向GDI设备中绘图时,需要访问该设备的DC。MFC将GDI的DC封装在C++类中,包括CDC类和CDC派生类,这些类中的许多成员都是对本地GDI绘图函数进行简单
2014-01-03 15:08:22 1294
转载 error LNK2019: unresolved external symbol
今天,用VS2008编译一个C++语言的程序,修改完所有错误后,出现了如下的错误:MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16referenced in function ___tmainCRTStartup在网上搜了一下,做如下修改:Project -> x
2013-12-27 16:32:47 729
转载 malloc/free与new/delete的区别
原文链接:http://blog.csdn.net/hackbuteer1/article/details/6789164相同点:都可用于申请动态内存和释放内存不同点:(1)操作对象有所不同。malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时
2013-12-18 15:36:37 451
转载 高斯消元法求矩阵的逆
#include #include #include void exchange(double **a, double **b,int i, int j, int n) //交换矩阵第i行和第j行{int k;double temp;for (k = 0; k {temp = b[j][k];b[j][k] = a[i][k];a
2013-12-18 11:11:11 3020
转载 MessageBox用法(附相关效果图)
我们在程序中经常会用到MessageBox。 MessageBox.Show()共有21中重载方法。现将其常见用法总结如下: 1.MessageBox.Show("Hello~~~~");最简单的,只显示提示信息。 2.MessageBox.Show("Thereare something wrong!","ERROR"); 可以给消息框加上标
2013-12-07 15:26:05 831
原创 GDI 绘图 内存泄漏问题
GDI绘图在窗体上绘图,必要用到双缓存的技术,而这又离不开两个函数:CreateCompatibleDC与CreateCompatibleBitmap如下代码:CDC* pMem=new CDC; CBitmap* pBmp=new CBitmap; CBitmap* pOldBmp; CDC* pDC=GetDC();
2013-11-28 21:24:42 1115
转载 error C2039: 'addCameraManipulator' : is not a member of 'osgGA
在练习FreeSouth的《StepIntoOpenSceneGraph》的例子,其中漫游那一部分,遇到了error C2039: 'addCameraManipulator' : is not a member of 'osgGA后经论坛上某位大神指点,才知道后来更新的OSG版本把原来的一个函数名称改了,这个错误只要把函数名改为了 setCameraManipulat
2013-11-25 15:12:45 821
原创 OSG 场景节点添加,删除,隐藏 ,开关
添加节点我们通过osg::ref_ptr root = new osg::Group();申请场景根节点通过osg::ref_ptr node = new osg::Node();可以申请多个节点,从而达到在场景中添加多个场景如:osg::ref_ptr root = new osg::Group();osg::ref_ptr node = osgDB::r
2013-11-20 10:22:25 8467 1
原创 OSG 模型添加(含自己画的模型,已有模型),对添加的模型做平移 缩放等。
添加已有模型 在osg中同时加入多个模型(A,B,C……),可通过Group->addChild(A)添加。然后再把group添加到viewer中就可以了添加自定义模型添加用户自定义模型,我使用函数osg::ref_prt createSceneGraph() 自己画了一个模型,然后通过group->addChild(createSceneGraph().get());添加到场
2013-11-19 10:51:31 4798 1
原创 OSG 添加操作器及功能列表
本文参考osgChina官网及FreeSouth《OSG程序设计教程》相关信息//添加一些操作器 osg::ref_ptr keyswitchManipulator = new osgGA::KeySwitchMatrixManipulator; keyswitchManipulator->addMatrixManipulator( '1', "Trackball"
2013-11-16 16:44:49 2507 1
原创 简单OSG小程序,实现在cmd下osgviewer <filename>小功能
在使用cmd指令,osgviewer cow.osg 时通过S、T、L、F等键能实现一些功能。本程序通过添加一个事件句柄,来实现上述功能。//添加状态事件 //实现L T W键的功能viewer.addEventHandler(new osgGA::StateSetManipulator(viewer.getCamera()->getOrCreateStateSet())
2013-11-16 15:50:44 1827
原创 OSG中的相关词汇表
.osg 这是一种基于ASCII的OSG自定义文件格式,用于保存所有的场景图形元素。Data variance(数据变量)这是一个osg::Object 类的属性,用于指定程序是否要动态更改Object 对象的数据。用户可以使用Object::setDataVariance() 设置该属性, 并传入Object::DYNAMIC 或Ob
2013-11-16 11:25:52 981
转载 osgfxbrowser例子 osgFX特效演示
该文内容主要来自王锐《最长的一帧》osg::DisplaySettings::instance()->setMinimumNumStencilBits(1);在创建图形上下文之前设置DisplaySettings,对应Traits中的stencil,模板缓冲,默认是0。unsigned int clearMask = viewer.getCamera()->getClearMask
2013-11-15 14:15:35 1125
转载 [osg]源码分析:OSG中的智能指针osg::ref_ptr
探究一下osg中的智能指针:osg::ref_ptr。一、首先注意,智能指针是个模板类(不要以为理解了这句话)。比如这样一个定义:osg::ref_ptr pArray = new osg::Vec3Array;这里,pArray本质上是一个ref_ptr对象(并非是指针),而之所以可以将new返回的指针赋给他是因为osg::ref_ptr重写了赋值操作符(关于赋值操作符的
2013-11-14 15:25:03 680
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人