vp程序.docVIP

  • 28
  • 0
  • 约2.54万字
  • 约 23页
  • 2018-06-19 发布于河南
  • 举报
vp程序

附录一 Vega Prime API 介绍 附录包含了配置VP的API的一些基本指导,包括你用来初始化、定义、配置和退出仿真循环的API命令和类。 设置API 基于STL(标准模板库)和C++的API显得非常紧凑和灵活。VP的API通过模板和继承性的使用使得仿真循环更加简洁而有效。 实时控制包括定义ACF、配置ACF和系统、运行仿真循环以及最后退出仿真循环。 初始化 vp::initialize执行如下任务: 检查license是否正确 初始化静态变量(static variables)和单例类(singleton classes) 初始化内存分配(memory allocator) 初始化渲染库(rendering library) 初始化场景(scene graph) 初始化ACF剥析程序(ACF parser) 初始化模块界面(module interface) 初始化内核(kernel classes) 需要注意的是:在自己定制的应用中,ACF中的模块不需要初始化。 初始化实例: //vpModule::initializeModule(modulename); vpModule::initializeModule是告诉你如何初始化你的应用中所添加的模块。初始化所添加模块和用户定制模块需要使用以下句法: // //初始化所有模块 // vpModule::initializeModule( vp ); vpModule::initializeModule( vpEnv ); vpModule::initializeModule( vpMotion ); vpModule::initializeModule( vpLADBM ); vpModule::initializeModule( vpFx ); vpModule::initializeModule( vpIR ); vpApp类 vpApp类用来定义一个典型的VP应用的框架。它在vpApp.h中被定义了。所有子方法(member methods)都被内嵌了。使用者可以拷贝和修改vpApp类。 vpApp的主体封装了VP应用中经常用到的vpKernel的功能。vpApp类控制实时功能(包括定义ACF、配置仿真类、仿真循环、更新和退出)。 例子: // create a vpApp instance vpApp *app = new vpApp; 从vpApp类创建一个新类,这是开始的最简单的方法。如果你对C++很熟悉,你就会明白你现在可以轻松运用vpApp类了。 vpApp类的所有成员都可以多次定制以满足你自己的应用的需求。 用户可以通过vpApp类来创建自己的类。 实例(源于vpApp的用户定义类): /*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~ //通过公用vpApp定制的自定义类 ~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~**/ class myApp:public vpApp { public: myApp() {};// constructor ~myApp() {};// destructor //其它方法 void printMessage();//prints a message into the console window /*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~* Method――键盘输入 这种方法在vpApp类中定义 用户可以不考虑这种方法来重新定义键盘输入 默认的键盘采取操作应答,除非你采取自己的命令 所支持/定义的键盘命令如下: Esc键://退出应用 TILDE键://切换帧速显示 Backspace键://重置观察者状态矢量 Enter键://重新捕捉观察者状态矢量 c键://将观察者置于屏幕中心点 f键://切换雾的开/关 l键://切换灯光效果的开/关 p键://输出观察者绝对位置 t键://切换纹理显示开/关 T键://切换透明度开/关 w键://切换线框开/关 x键://切换运动模式开/关 ~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*~~*/ virtual void onKeyInput(vrWindow::Key key, int mod) { switch (key) { //按“P”键时,打印信息 case vrWindow::KEY_P: printMessage(); break; default: //按vpApp定义的执行 vpApp::onKeyInput(key,mod); b

文档评论(0)

1亿VIP精品文档

相关文档