osg2cpp例子

来源:互联网 发布:肝网络用语什么意思 编辑:程序博客网 时间:2024/04/29 16:00

今天我开始一边学习一边解析osg3.0.1中的每一个例子。
首先,开始是osg2cpp,这个例子主要说明了把GLSL中的定点着色器和片源着色器文件读取成一个char数组,可以在应用程序中直接拷贝定义。
首先是命令行处理类ArgumentParser和ApplicationUsage,通过这两个类可以处理控制台程序的命令行命令,程序的操作说明,命令行参数方法等。
arguments.getApplicationUsage()->setApplicationName 设置应用程序名称;
arguments.getApplicationUsage()->setDescription设置应用程序描述
arguments.getApplicationUsage()->setCommandLineUsage设置应用程序使用描述
arguments.getApplicationUsage()->addCommandLineOption设置应用程序具体的命令描述

if (arguments.read("-h") || arguments.read("--help"))
    {
        arguments.getApplicationUsage()->write(std::cout);
        return 1;
    }
很常用的方法,显示帮助信息。

osgUtil库中存放各种工具类,方便操作,本例子中用到了字符串的处理(当然,qt等中也有自己的一套处理字符串函数),建议使用osg的。

然后就是string中的find_first_of 、std::string::size_type、std::string::npos。
std::string::size_type返回一种unsigned类型,不同的机器解析不同,对于string的size一定要返回size_type类型而不是int,size_type所表示的长度更长而且与机器无关。
find_first_of 查找第一个出现指定字符的位置。
有几个重载
find_first_of()函数:

  查找在字符串中第一个与str中的某个字符匹配的字符,返回它的位置。搜索从index开始,如果没找到就返回string::npos

  查找在字符串中第一个与str中的某个字符匹配的字符,返回它的位置。搜索从index开始,最多搜索num个字符。如果没找到就返回string::npos,

  查找在字符串中第一个与ch匹配的字符,返回它的位置。搜索从index开始。

string::npos表示查找失败,到末尾了。
这里还涉及string的find、replace、substr

原创粉丝点击