oiv7.0 --配置

来源:互联网 发布:ubuntu进不去登录界面 编辑:程序博客网 时间:2024/06/11 09:11

oiv7.0 --配置  

一、SoPreferences类设置查询配置参数。

当oiv被初始化时,自动读取两个配置文件:(1)系统配置文件$OIVHOME/oiv.cfg或由OIV_CONFIG_FILE环境变量指定的文件(2)本地配置文件,位于应用程序当前工作目录,名叫oiv.cfg。

其它的配置文件可用SoPreferences::readFile获得。

如果配置文件中所定义的变量已经在oiv环境变量中被定义,它将会把oiv环境变量中己定义的值覆盖。

如果设置了OIV_DEBUG_CONFIG环境变量,所读的文件及设置的值会被显示用于调试。

从配置文件中读取的值被设置在oiv配置数据库中。因为这些值只能被设置在内存中,可用SoPreferences::getValue 获得。

注:现在如果修改了配置文件中变量值,它就可以在程序中使用,而不用重新启动程序。

可以用SoPreferences类的许多set方法来设置,也可以用设系统环境变量的方式setenv/export来设置,但前者是平台独立的,后者必须清楚变量的影响范围,所以前者方法更好。

查询配置数据库:首先查找配置数据库,如果没找到,再从系统环境中找,如果只能在系统环境中找到,则把该值存放在配置数据库中以加快下次查找速度。SoPreferences::getValue()接收一个参数名,返回对应的值,如果没找到,返回null. 或者用以下方法来获得

bool getBool (const char *name, bool defaultValue);
int getInt (const char *name, int defaultValue);
long getLong (const char *name, long defaultValue);
float getFloat (const char *name, float defaultValue);
double getDouble (const char *name, double defaultValue);
const SbString &getString (const char *name, const SbString &defaultValue);
const SbVec3f &getVec3f (const char *name, const SbVec3f &defaultValue);
const SbColor &getColor (const char *name, const SbColor &defaultValue);

name表示参数名,找到返回值,否则返回默认值。

二、配置oiv初始状态:

影响初始viewer或渲染行为状态的变量,可以在程序中设置修改,如OIV_TRANSPARENCY_TYPE,OIV_BACKGROUND_COLOR

影响初始遍历状态的变量,该遍历状态是在遍历过程中通过节点来修改的,可通过场景图中的节点来覆盖,如OIV_COMPLEXITY,OIV_TEXTURE_QUALITY

三、图形配置管理:

SoGraphicConfigTemplate类:参数

SoGraphicDevice类:设备

SoGraphicConfig类:配置

原创粉丝点击