VegaPrime中文教程
- 格式:doc
- 大小:1.14 MB
- 文档页数:78
开始对NT用户:从Windows NT Workstation菜单栏:选择‘Start’‘Programs’‘Vega’‘LynX’你将在屏幕上看到lynx系统界面。
在屏幕左侧一个图标按钮上点击可关闭当前显示的面板同时激活与所点图标相关联的面板,并随机打开。
缺省状态下在必要的情况说明下预览以下应用程序:system,channel,window,environment,graphic state,observer和a motion model。
图标滚动列主面板系统设置Goal:取消不用的模块在文件下拉菜单下选择Active Modules。
在这个对话框中你可以选择以下几项:Large Area DBM,Light Lobes, Symbology,Clip-Mapped Objects,和SensorVision。
通过你的选择,然后点击‘OK’,激活或者取消附加模块当你完成后选择点击‘OK'。
创建一个Vega对象物对象物是许多几何体的一个集合。
在一个场景中涉及许多对象物,合起来代表一种可见的情景景物。
更多细节请参看Vega LynX User's Guide Chapter5。
Goal:创建一个静态的Vega对象物在图标滚动栏中点击object按钮。
从Objects下拉菜单中选择‘New'。
将会出现一个‘New Object'的对话框。
在文件编辑栏中键入‘terrain’来命名object实例。
注意:用户确定所命名的名字,可以选择熟悉的名字,以便快速确认使用的几何文件。
点击‘OK'。
此时,lynx界面如下图:文件浏览器控制按钮使用文件浏览器(?)结合你要使用的对象物场合选择你要插入的几何模型文件。
你将在如下路径<Installation Drivefor Vega>\Vega\Sample\Data\Vega\找到Open Flight文件格式的例子。
1Setup设定此处设定的是仪表的名称,容器的类型,最大最小的量程设定,阻尼时间,输出的模式按[OK]键后进入显示如下菜单:Measurementloopname仪表的名字Medium介质的类型Application容器的类型(有固液之分)Vesseltype容器底部形状Vesselheight/Me.range容器的高度3.1)选择固体后出现如下信息Application选择容器的类型按[OK]键进入显示如下ApplicationSilo选择容器的类型按[OK]键显示如下Silo筒仓Bunker煤仓Bunkerquickfilling物位变化快的煤仓Heap堆料Crusher压碎器Demonstration演示按[?]键选择以上显示类型按[OK]键完成选择按【ESC】退出3.2)选择液体后出现如下信息Application选择容器的类型6)Max.adjustment最大数值校准按[OK]键进入显示如下Max.adjustment100%可以更改的百分比数0.000m可以更改的上空距离数按一下[OK]键和[?]选择和更改百分比数按[+]输入需要更改的数值Max.adjustment100%可以更改的百分比数按[OK]键确认后出现如下Max.adjustment0.000m可以更改的上空距离数按一下[OK]键和[?]选择和更改上空的距离值确认后显示如下Failuremode22.0mA20.5mA Nochange此项是固定选取的项目<3.6mA按一下[?]键Displayedvalue显示的测量值Backlight背光的选择1)Language设定显示的语言按[OK]键进入显示如下LanguageEnglish▼可以选择显示的语言按一下[OK]键显示如下信息German德语English英语Fran?ais法语Espan?l西班牙语Pycckuu俄语用[?]键选择需要的语言,5)Backlight背光灯按[OK]键进入显示如下BacklightSwitchedoff状态开关关按[OK]键进入显示如下BacklightSwitchon?询问开关是否打开按[OK]键背光灯打开BacklightSwitchoff?询问开关是否关闭按[OK]键背光灯关闭根据需要自己选择需要的模式按【ESC】退出3.Diagnostics诊断此项内容包括的是对仪表状态诊断结果,包括仪表状态,峰值,电子部件温度,测量可靠性,模拟测量,信号曲线和虚假参数曲线。
Vensim ® PLE 快速参考与自学手册台湾科技大学摘要1.File(档案)与cutting/pasting(剪下/贴上) 的操作如微软窗口系统之功能‧2.许多功能列中经常使用的功能项目都放在工具列的按钮,以利操作‧3.专门术语:”click”单击‧”drag” 即拖动‧”right-click” 右击‧而”control-click” 即按ctrol键及按鼠标左键再释放之,结果与”right-click”相同‧4.V ensim使用预设变量,无论建立任何模块,系统自动建立必要变量而使用它;如标题列的FINAL TIME变数‧________________________Copyright 2002,CraigW.Kirkwood.Allrightsreserved.(Email:**********************)Updated on December 12, 2002 by Jennifer Cihla Vender using VensimPLE Version 5.0c1Main Toolbar(工具列)按钮说明New Model(新模块):建立一个新的Vensim模块。
Open Model(开启模块):开启一个存在的Vensim模块。
Save(储存):以现有文件名称储存‧(若要更换文件名称,请使用在File下的Save As指令) 。
Print(打印):打印目前窗口所选择的项目(若无选择则打印整个绘图工作区)。
‖print option‖小窗口让使用者有所选择。
‖selection‖选择使用鼠标拖曳成矩形的区域。
Cut(剪下):剪下所选择的项目并储存于回纹夹里。
Copy(复制):复制所选择的项目并储存于回纹夹里。
Paste(贴上):将现有回纹夹的数据贴到绘图工作区。
Set up a Simulation(建立模拟):在绘图工作区中,注记常数与lookup变数。
Vega Prime桌面指南Version 1.2 for Windows®2000, Windows®XP Professional Edition, Solaris®8.0,and Red Hat 8.0 Linux®Vega Prime Desktop Tutor Version 1.2这一段不翻译了入门本书对于掌握Vega Prime基础是实用的、经典的[[classroom-in-a-book]],本指南可以让你按自己的方式进行学习。
通过这本书,你将会学到Vega Prime实时应用程序的基本原理,Lynx Prime的用户界面,V ega Prime的工具包。
你完全可以使用可活动的模型、小比例尺的地形,特效和爆炸等建立一个实时的3D应用程序。
我们建议你按照本书的章节顺序学习,因为本书章节是按照生产流程排列的。
主题顺序反映了你在制作应用程序过程中可能会碰到的问题。
可以把它作为便利的、有指导性的参考使用。
学完这本书,你将会:建立包含静态、动态物体、多视点、运动策略和特效的acf文件。
安装Microsoft Developer Studio工作空间和工程编译你的Vega Prime程序。
准备请安转Vega Prime并且通过学习本书使用软件本书只包含了Windows的文件路径,如果你在Solaris or Linux上使用Vega Prime,文件的默认安装目录是/usr/local/MultiGen-Paradigm/完整的应用程序配置文件和代码位于C:\ProgramFiles\MultiGen-Paradigm\resources\tutorials\vegaprime\desktop_tutor\tornado\completed _ACF,在任意部分跳转或者检查作品结果都是很容易的。
VegaPrimeDesktopTutor1_2.pdf位于C:\ProgramFiles\Multigen-Paradigm\docs\vegaprime\pdf目录章1开始使用Vega Prime 和LynX Prime 8Vega Prime实时应用程序的组成10开始LynX Prime 11退出LynX Prime 11保存你的工作11LynX Prime用户界面探索12章2建立你的场景然后是Prime节点18增加和浏览对象19摘要28章3运动和观察移动和观测31设置观察点31建立转换33增加运动模型35增加Isectors[[???]] 36定义通道41修改窗体48摘要49章4环境设置环境52定义环境52增加灯光54摘要57章5特效增加特效60建立碎片特效61构造旋风62使用颗粒存储单位建立特效75摘要76章6运行应用程序编译和运行Tornado[[飓风]]程序78设置Visual Studio 78摘要80附录1Vega Prime API设置API 82初始化82vpApp 类83定义84配置85运行时循环85更新85停止86Vega Prime小应用程序86附录2Tornado程序检查应用程序90章1开始介绍Vega Prime是一个提供了很多类的工具集,可以让你构建高级的实时的3D应用程序。
Vega Prime Distributed 模块的中文总结一、DR的应用1、首先建立DR和应用程序2、DR的建立包括对系统master/slave的设置,确定系统拥有的virtual pipelines3、要实现一个工作在DR模式下的应用程序,还必须在.acf文件中增加一个channel,pipelines,windows,pipeline ID二、建立DR初始化要求:·系统用网络连接在一起·每个系统安装相同版本的vega prime·MASTER要拥有运行DR的许可·DR的建立·在每个系统上开启MPI Agent·在master系统上开启DRUtil·对配置进行检查,确保MPI Agent 的role 分配正确,如果相应的系统的角色分配不对则在MPI AGENT 中修改。
·为每个mpi agent 分配一个virtual monitor。
·为验证MPI agent 配置的真确性可以按如下方式操作:test->choose virtual monitors。
·验证slaver可以找到master应用:选择"test path to application".·并填写“path to master's application", 按下“start"按钮开始测试。
·如果一切正常,可以看到蓝屏上有virtual monitor x的字样,如果出现问题“test results”将给出问题和修改意见。
三、建立应用程序vp支持LynX Prime 面板中ACTIVE PREVIEW对DR的test建立一个单通道的DR应用。
1.为每个系统建立一个pipeline2.给每个pipeline 一个“pipeline ID"3.为每个pipeline 建立一个window ,并关联到pipeline4.为每个window 建立一个channel ,并将它联到window5.把所有的channels加到Observer中去四、运行DR应用五、建立你的database典型的应用都必须加载许多的数据,如:纹理、模型、地形等,工作中的系统都必须能正确的引用数据,data的获取有两种,本地获取,或异地获取.a.本地获取:每个系统都存储一份数据拷贝,这种方法的缺点是数据更新时,每一份拷贝都需要更新.B.共享数据:共享的数据存储在一个中心位置,由网络传递给其它的系统,优点是数据更新只需要一次,缺点是数据获取的慢,在window中可以映射一个网络驱动器来传数据。
Vega Prime培训教材Version 1.2 for Windows® 2000, Windows® XP Professional Edition, Solaris® 8.0, and Red Hat 8.0 Linux®北京华力创通科技有限公司仿真系统事业部2003年12月说明 (4)第一章开始 (6)介绍 (6)使用VP和LP (6)VP应用的组成 (7)启动LP (8)退出LP (8)保存 (9)LP的界面构成 (9)第二章创建你的场景 (13)介绍 (13)Prime连接 (13)添加和浏览物体 (14)小结 (21)第三章运动方式和观察者 (22)介绍 (22)运动和观察 (22)设置观察者 (22)创建Transforms (24)添加运动模式 (26)添加碰撞检测 (27)定义通道 (30)修改视窗 (37)小结 (38)第四章环境 (38)介绍 (38)环境设置 (39)定义环境 (39)添加光点 (41)小结 (43)第五章特效 (44)介绍 (44)添加特效 (44)制作碎片效果 (45)制作龙卷风效果 (45)为粮仓制作特效 (55)小结 (55)第六章运行应用 (55)介绍 (55)编译和运行tornado应用程序 (56)建立VC编译环境 (56)小结 (57)附录一Vega Prime API (58)介绍 (58)设置API (58)初始化 (58)vpApp类 (59)定义语句 (60)配置 (61)仿真循环 (61)仿真更新 (61)关闭 (62)VP最小的应用 (62)附录二tornado应用程序 (63)介绍 (63)程序剥析 (63)说明本书主要介绍如何掌握Vega Prime的基本用法。
您可以根据书的内容在自己的工作地点学习使用Vega Prime。
本书将介绍Vega Prime实时应用、Lynx Prime 用户界面,和Vega Prime工具箱的基本用法。
VEGA实用编程手册Vega结构类VGTYPE_CHAN VGTYPE_MOTIONVGTYPE_WINDOW VGTYPE_GFXVGTYPE_OBSERV VGTYPE_ENVVGTYPE_SCENE VGTYPE_ISECTORVGTYPE_SYSTEM VGTYPE_VOLVGTYPE_OBJECT VGTYPE_LIGHTVGTYPE_DBM VGTYPE_FOGVGTYPE_PLAYER VGTYPE_ENVFXVGTYPE_IODEV VGTYPE_POSVGTYPE_TFLODVGTYPE_PARTVGTYPE_DATASETVGTYPE_CLASSDEFVGTYPE_CTABVGTYPE_DLISTVGTYPE_IOMAPVGTYPE_MCODEVGTYPE_LIST函数命明规则vgNewXXXvgFindXXXvgGetXXXvgGetNumXXXvgNewXXXCopyvgSrcAssoc(source, association);‘vg’ is our product code‘Src’ is the placeholder of the source instance‘Assoc’ is the placeholder of the Association to be made Example/*declare variables*/vgChannel *channel;vgWindow *window;/*get a pointer to the existing instance created thru the ADF*/channel=vgGetChan(0);window=vgGetWin(0);/*associate the window with the channel*/vgChanWin(channel, window);vgAddSrcAssoc(source, association);‘vg’ (I think you’ve got it now)‘Add’ is the action adding another association to our source‘Src’ is the placeholder of the source instance‘Assoc’ is the placeholder of the Association to be addedExample/*declare variables*/vgChannel *channel;vgObserver *observer;/*get a pointer to the existing instance created thru the ADF*/channel=vgGetChan(0);observer=vgGetObserv(0);/*add the observer to the channel*/vgAddObervChan(observer, channel);vgRemSrcAssoc(source, association);‘Rem’ is the action: removing an association from our source‘Src’ is the placeholder of the source instance‘Assoc’ is the placeholder of the Ass ociation to be removedExample/*declare variables*/vgChannel *channel;vgObserver *observer;/*get a pointer to the existing instance in ADF*/channel=vgGetChan(0);observer=vgGetObserv(0);/*remove the channel from the observer*/vgRemObservChan(observerl, channel);vgGetSrcAssoc(source, index);‘Get’ is the action: getting the handle of an association to our source.‘Src’ is the placeholder of the source instance‘Assoc’ is the placeholder of the Association we are gettingExample/*declare variables*/vgChannel *channel;vgObserver *observer;/*get a pointer to the existing instance in ADF*/ observer-vgGetObserv(0);/*get the channel associated with the observer*/channel=vgGetObservChan(observer, 0);Vega Common APIVega Common Class functions (vgCommon) apply to most Vega Classes & instances. Vega Common Functionsint vgGetType (vgCommon *handle);void vgName (vgCommon *handle, const char *name);Void vgGetName (vgCommon *handle, char *str);int vgGetNameLen (vgCommon *handle);void vgDelete (vgCommon *handle);void vgUpdate (vgCommon *handle);updates a Vega instanceERR vgProp (vgCommon *handle, int which, float prop);sets the property of an instanceFloat vgGetProp (vgCommon *handle, int which);returns the current property of an instancevoid vgCopy (vgCommon *dest, vgCommon *src);copies the source instance to the destination instancevoidvgPrint (vgCommon *handle);void vgUserData (vgCommon *handle, void *data);void *vgGetUserData (vgCommon *handle);void vgWriteADF (vgCommon *handle, int token, FILE *fp);void vgAddFunc (vgCommon *handle, int which, vgCallback *func, void *data);adds a callback function to a Vega instancevoid vgDelFunc (vgCommon *handle, int which, vgCallback *func, void *udata);removes a callback function from a Vega instanceVega Common Function Callback EventsVGCOMMON_POS - called when item is positionedVGCOMMON_DELETE - before the item is deletedVGCOMMON_COPY - call on dest, item before copyVGCOMMON_STATE - call when item state is changedVGCOMMON_PRINT - call when class is printedVGCOMMON_NEW - call when class is instancedVGCOMMON_POSTUPDATE - call after item is updatedThe Vega System (vgSystems) The Vega System Functions (vgSystems) allow the user to initialize, define, configure, and control the real-time processing of Vega. The target platform is defined by setting values for the number of processors, priorities of the processes, and synchronization algorithms.Vega System FunctionsvgSystem *vgInitSys(void);initializes the Vega, creates a shared memory arena, initializes Performervoid vgDefineSys (const char * adfname);reads the ADF specifiedvoid vgCongigSys (void);makes the associations between the instancesvoid vgSyncFrame (void);synchronization and cullingvoid vgFrame (void);rendering the scenevgSystem *vgGetsys (void);retrieves a pointer to the systemvoid vgExit (int);void vgUserExit (int (*usrexit) (int));void vgExitKey (int key);double vgGetTime (void);double vgGetRunTime (void);double vgGetFrameTime (void);double vgGetDeltaFrameTime (void);A Vega ProgramvgInitSys();vgDefineSys (“my_adf.adf”);vgConfigSys();while (true){vgSyncFrame();vgFrame();}Vega System 回调函数VGSYS_PRESYSNC --called before pfSyncVGSYS_POSTSYNC --called after pfSyncVGSYS_PROFRAME --called before pfFrameVGSYS_POSTFRAME --called after pfFrameVega System Properties and Property ValuesVGSYS_MPMODE – sets the multiprocessing modeVGSYS_PHASE – specific the synchronize method to useVGSYS_FRAMERATE – frame rateVGSYS_APPCPU – sets the app on a specific CPUVGSYS_APPPRI – set the process priorityVGSYS_ISECTPROC – enable/disable async isect processVGSYS_ISECTCPU – sets the intersection target CPUVGSYS_ISECTPRI – sets the intersection priorityVGSYS_DBPROC – enable/disable async database processVGSYS_DBCPU – sets the database process target CPUVGSYS_DBPRI – sets the database process priorityVGSYS_NUMSTAGES -number of pipeline stagesVGSYS_NUMBUFFERS -number of mulitbuffers usedVGSYS_CURBUFFEREDID -index of the current bufferVGSYS_GRAPHICS - enable/disable graphicsVGSYS_FPERROR - enable/disable floating point error detectionVGSYS_CONFIGVEGA - enable/disable configuring Vega from vgConfigSysVGSYS_APPINPUT - enable/disable the input during the APP processVGSYS_DISABLE_CLOCKS - all non-system processors have clock interrupts disabled for faster executionVGSYS_PRELOAD_TEX - enable or disable preloading of texturesVGSYS_PRELOAD_PAGETEX- enable/disable preloading of pageable texturesVGSYS_TEX_PAGESIZE - number of bytes to download per frame when loading pagable texturesVGSYS_SORT_TEX - sort textures by number of componentsVega关系图Graphics State(vgGfx)Vega Graphics State FunctionsvgGfx *vgNewGfx (void);vgGfx *vgFindGfx (const char *name);vgGfx *vgGetGfx (int idx);int *vgGetNumGfx (void);vgGfx *vgNewGfxCopy (const vgGfx *gfx);Vega Graphics State PropertiesVGGFX_TEXTUREVGGFX_LIGHTINGVGGFX_ZBUFFERVGGFX_FOGVGGFX_WIREFRAMEVGGFX_BACKFACEVGGFX_FRONTFACEVGGFX_STEREOVGGFX_FADE - enable/disable fade level of detailVGGFX_FADERANGE - range between levels of detailVGGFX_LODSCALE - global LOD scale range modifierVGGFX_BLENDMODE -alpha blending mechanismWindow(vgWindow)Vega Window FunctionsvgWindow *vgNewWin (void);vgWindow *vgFindWin (const char *name);vgWindow *vgGetWin (int idx);int vgGetNumWin (void);void vgWinLabel (vgWindow *win, const char *label);void vgWinSize (vgWindow *win, int 1, int r *r, int *b, int *t);void vgWinIntro (vgWindow *win, void (*intro) (vgWindow *win, void *d), void *data); void vgWinConfig(vgWindow *win, int attributes);void vgWinFBConfigID (vgWindow *win, int id);int vgGetWinFBConfigID (vgWindow *win);Vega Window 回调函数VGWIN_INPUT - allows you to install your own event loopVGWIN_INTRO - to run a …distraction‟ while you load your applicationVega Window PropertiesVGWIN_SCREENVGWIN_WINBORDERVGWIN_INPFOCUSVGWIN_AAVGWIN_CULLTHREADSVGWIN_WINCURSORVGWIN_IOCPU - select the CPU for async inputVGWIN_IOPRI - select the async I/O priorityVGWIN_DRAWCPU - select CPU for drawing processVGWIN_DRAWPRI - draw process priorityVGWIN_CBITS - set the color bits per componentVGWIN_ZBITS - sets the size of the Z bufferVGWIN_ALPHABITS - sets the preferred number of bits for the alpha component of each color VGWIN_MSSIZE - set the size of the multisample bufferVGWIN_STENSIZE - set the size of the stencil bufferVGWIN_BUFMODE - set single or double buffer modeVGWIN_STEREO - enable/disable stereo modeVGWIN_WININPUT - enable/disable window inputVGWIN_WINQUIT - window manager handles quitVGWIN_WINASYNC - enable/disable async inputVGWIN_DRAWMODE - select a frame bufferVGWIN_VISUALID – sets Xvisual ID for the window (OGL)VGWIN_ACCUMALPHABITS – sets alpha bits in the accumulation bufferVGWIN_ACCUMCBITS – set color bit per component in accumulation bufferVega Channel (vgChannel)The Vega Channel functions (vgChannel) describe a view into a scene and a rectangular region of a window where the view will be displayed. A single window may have several channels associated with it, but the channel may only be associated with one window. The channels are drawn in the order in which they were defined. Channels cannot be destroyed once created, but they can be disabled and enabled. A channel is a visual channel to render the scene. The API here will let you control how the scene is projected on the screen in terms of environment, how the screen is cleared the shape and size of the viewports … you‟ll see as we go through each and every painless line of code.Vega Channel FunctionsvgChannel *vgNewChan (void);vgChannel *vgFindChan (cont char *name);vgChannel *vgGetChan (int idx);int *vgGetNumChan (void);vgChannel *vgNewChanCopy (const vgChannel src);void vgChanFOV (vgChannel *vc, float h, float v);void vgGetChanFOV (vgChannel *vc, float *h, float *v);void vgChanNearFar (vgChannel *vc, float near, float far);void vgGetChanNearFar (vgChannel *vc, float *near,float *far);void vgChanFrust (vgChannel *vc, float 1, float r, float b,float t);void vgGetChanFrust (vgChannel *vc, float *1, float *r, float *b, float *t);void vgChanSkew (vgChannel *vc, vgPosition *pos);void vgGetChanSkew (vgChannel *vc, vgPosition *pos);void vgChanViewPort (vgChannel *vc, float 1, float r, float b, float t);void vgGenChanViewPort (vgChannel *vc, float *1,float *r, float *b, float *t);void vgChanWin (vgChannel *chan, vgWindow *win);vgWindow *vgGetChanWin (vgChannel *chan);void vgChanGfx (vgChannel *vc, vgGfx *gfx);vgGfx *vgGetChanGfx (vgChannel *vc);void vgChanClrColor (vgChannel *vc, float r, float g, float b);void vgGetChancClrColor (vgChannel *vc, float *r, float *g, float *b;void vgChanCTab (vgChannel *chan, vgColorTable *ctab);vgColorTable *vgGetChanCTab (vgChannel *chan);void vgGetChanWorldToScreen (vgChannel *vc, float x, float y, float z, float *sx, float *sy); void vgGetChanScreenToWorld(vgChannel, *chan,float sx, float sy,sloat sz, float *x,float *y, float *z);void vgGetChanPorjMat (vgChannel *vc, vgMat mat);void vgGetChanViewMat (vgChannel *vc, vgMat mat);void vgGetChanWorldToScreenMat (vgChannel *vc, vgMat mat);void vgChanDVRFilter (vgChannel *chan, float hi, float lo, float pscale, float ascale);void vgGetChanDVRFilter (vgChannel *chan, float *hi, float *lo, *pscale,float *sscale):void vgChanDVRSize (vgChannel *chan int xsize, int ysize;void vgGetChanDVRSize (vgChannel *chan, int *xsize, int *ysize);void vgChanDVRFilter (vgChannel *chan, float hi, float lo, float pscale, float ascale);void vgGetChanDVRFilter (vgChannel *chan, float*hi, float *lo, *pscale,float *sscale):void vgChanDVRSize (vgChannel *chan int xsize,int ysize);void vgGetChanDVRSize (vgChannel *chan, int *xsize, int *ysize);Vega Channel回调函数VGCHAN_PREDRAWVGCHAN_POSTDRAWVGCHAN_PRECULLVGCHAN_PROSTCULLVega Channel PropertiesVGCOMMON_ENABLED - enables the channelVGCHAN_FRUSTUM - frustum typeVGCHAN_STATS - set up statistics displayVGCHAN_STATSSEL - which statistics you want to seeVGCHAN_CLEAR - screen clear methodVGCHAN_RENDER - enable/disable channel renderingVGCHAN_ALPHA -- alpha for clearingVGCHAN_CULLMODE - set cull traversal modeVGCHAN_CULLSORT - selects sorting methodVGCHAN_CULL_MAINSORT - primary sorting orderVGCHAN_CULL_SECSORT - secondary sorting orderVGCHAN_CULLCPU - culling CPUVGCHAN_CULLPRI - cull priorityVGCHAN_DVR_ENABLE - on/off dynamic video resolutionVGCHAN_DVR_MODE - dynamic video resolution modeVega Observer(vgObserver)The Vega Observer is a collection of attributes and references to Vega class descriptors that together describe a visual representation. The funcions specify the characterisitcs, position and control visual representations within the Vega system.The observer may look at several channels, but the observer can only be associated with one scene, one graphic state, on player, and one motion model.Vega Observer FunctionsvgObserver * vgNewObserv ( void );vgObserver * vgFindObserv ( const char *name );vgObserver * vgGetObserv ( int idx );int vgGetNumObserv ( void );void vgObservStressLevel ( vgObserver *obs, float low, float high, float ramp );void vgGetObservStressLevel ( vgObserver *obs, float *low, float *high, float *ramp );void vgObservScene ( vgObserver *obs , vgScene *scene );vgScene * vgGetObservScene ( vgObserver *obs );void vgObservGfx ( vgObserver *obs, vgGfx *gfx );vgGfx * vgGetObservGfx ( vgObserver *obs );void vgObservMot ( vgObserver *obs, vgMotion *mot );vgMotion * vgGetObservMot ( vgObserver *obs );void vgObservNav ( vgObserver *obs, vgNavigator *nav );vgNavigator * vgGetObservNav ( vgObserver *obs );void vgObservVol ( vgObserver *obs, vgVolume *vol );vgVolume * vgGetObservVol ( vgObserver *obs );void vgAddObservIsect ( vgObserver *obs, vgIsector *isect );int vgRemObservIsect ( vgObserver *obs, vgIsector *isect );int vgGetObservNumIsect ( vgObserver *obs );vgIsector * vgGetObservIsect ( vgObserver *obs, int _index );void vgObservIDev ( vgObserver *obs, vgIDev *input );vgIDev * vgGetObservIDev ( vgObserver *obs );void vgAddObservChan ( vgObserver *obs, vgChannel *chan );int vgRemObservChan ( vgObserver *obs, vgChannel *chan );int vgGetObservNumChan ( vgObserver *obs );vgChannel * vgGetObservChan ( vgObserver *obs, int _index );void vgAddObservEnv ( vgObserver *obs, vgEnv *env );int vgRemObservEnv ( vgObserver *obs, vgEnv *env );int vgGetObservNumEnv ( vgObserver *obs );vgEnv * vgGetObservEnv ( vgObserver *obs, int _index );void vgObservEnv ( vgObserver *obs, vgEnv *env );void vgObservPlyr ( vgObserver *obs, vgPlayer *plyr );vgPlayer * vgGetObservPlyr ( vgObserver *obs );void vgObservTetherPos ( vgObserver *obs, vgPosition *pos );void vgGetObservTetherPos ( vgObserver *obs, vgPosition *pos );void vgObservTetherOffset ( vgObserver *obs, float x, float y, float z);void vgGetObservTetherOffset ( vgObserver *obs, float *x, float *y, float *z ); void vgObservLookatPos ( vgObserver *obs, vgPosition *pos );vgPosition * vgGetObservLookatPos ( vgObserver *obs );void vgObservLookatObj ( vgObserver *obs, vgObject *obj );vgObject * vgGetObservLookatObj ( vgObserver *obs );void vgObservLookatPlyr ( vgObserver *obs, vgPlayer *plyr );vgPlayer * vgGetObservLookatPlyr ( vgObserver *obs );void vgObservChanShareMask ( vgObserver *obs, int mask);int vgGetObservChanShareMask ( vgObserver *obs );Vega Observer回调函数VGOBS_ADD_ENV– adding an environmentVGOBS_REM_ENV– removing an environmentVega Observer PropertiesVGOBS_STATE observer state attributeVGOBS_PLYRCLOAK render geometry associated with plyrVGOBS_STEREOSEP separation of viewpointVGOBS_STEREORNG range of viewpoint convergence(收敛)VGOBS_HAT return height above terrainVGOBS_STRESS enable/disable load managementVGOBS_LOOKAT_TARGET specify target for observerVGOBS_TEHTERSTATEVGOBS_TETHERCOORDVGOBS_MAXTLISTVGOBS_TLAGVGOBS_SPINRADVGOBS_SPINDELTAVGOBS_SPINELEVVega Scene(vgScene)A Vega Scene (vgScene) is a collection of objects that can be viewed by an observer. Vega can manage any number of scenes at one time, and multiple observers can view the same scene simultaneously.Vega Scene FunctionsvgScene * vgNewScene ( void );vgScene * vgNewSceneCopy ( const vgScene *scene );vgScene * vgFindScene ( const char *name );vgScene * vgGetScene ( int idx );int vgGetNumScene ( void );void vgAddSceneObj ( vgScene *sc, vgObject *obj );int vgGetSceneNumObj ( vgScene *sc );vgObject * vgGetSceneObj ( vgScene *sc, int idx );void vgRemSceneObj ( vgScene *sc, vgObject *obj );void vgOptimizeScene ( vgScene *sc, unsigned optim );Vega Data Set(vgDataset)The Vega Data Set Functions (vgDataset) is the basic mechanism Vega uses to bring data into the system.A data set is conceptually any collection of data.Vega Data Set FunctionsvgDataSet * vgNewDS ( void );vgDataSet * vgNewDSCopy ( const vgDataSet *src );vgDataSet * vgFindDS ( const char *name );vgDataSet * vgGetDS ( int _index );int vgGetNumDS ( void );ERR vgLoadDS ( vgDataSet *ds );ERR vgUnloadDS ( vgDataSet *ds );int vgMakeDS ( vgDataSet *ds, void *data, vgDSType type );int vgDSLoader ( void *(*loader)(char *), vgDSType type, char *ext );int vgFilePath ( const char *path );void vgAddDSTex ( vgDataSet *ds, vgTexture *tex );Example: Naming a datasetvgDataset myDatasetmyDAtaset=vgNewDS();vgName(myDataset, "egg.flt");Vega Data Set回调函数VGDS_PRELOAD Called before a file is loaded. Called fromthe DBASE process.VGDS_MGFLTBEAD Add a callback which is called every time a newbead is read from the MultiGen flight file.(flt loader only) This is called fromthe DBASE process.VGDS_POSTLOAD Called after a file is loaded. Called from theDBASE process.VGDS_STATE_CHANGE Get notified when the dataset changes state(i.e. is loaded or unloaded).This is called from the APP process.VGDS_POSTTEXLOAD Invoked after all textures for an dataset havebeen downloaded.Vega Data Set propertiesVGDS_TYPEVGDS_ISLOADEDVGDS_USEDVGDS_IMMEDIATEVGDS_USEPROJECTIONVGDS_CURRPROJECTIONVGDS_CURRORIGLATVGDS_CURRORIGLONGVGDS_CREATECONSTRAINTSVega Object(vgObject)A vgObject is a collection of geometry and attributes maintained in a single hierarchy. Vega Object FunctionsvgObject* vgNewObj ( void );vgObject* vgNewObjCopy ( const vgObject *obj );vgObject* vgFindObj ( const char *name );vgObject* vgGetObj ( int _index );int vgGetNumObj ( void );void vgObjDS ( vgObject *obj, vgDataSet *ds );vgDataSet* vgGetObjDS ( vgObject *obj );void vgMakeObj ( vgObject *obj, int options );void vgUnmakeObj ( vgObject *obj );void vgObjVol ( vgObject *obj, vgVolume *vol );vgVolume* vgGetObjVol ( vgObject *obj );void vgObjCTab ( vgObject *obj, vgColorTable *ctab );vgColorTable* vgGetObjCTab ( vgObject *obj );void vgObjClass ( vgObject *obj, unsigned int iclass );unsigned int vgGetObjClass ( vgObject *obj );void vgObjRepresent ( vgObject *obj, unsigned mask );unsigned vgGetObjRepresent ( vgObject *obj );int vgAddObjSTab ( vgObject *obj, vgStateTable *stab );int vgGetObjNumSTab ( vgObject *obj );vgStateTable* vgGetObjSTab ( vgObject *obj, int which );int vgRemObjSTab ( vgObject *obj, vgStateTable *stab );int vgGetObjSTabIndex ( vgObject *obj, vgStateTable *stab );Vega Object propertiesVGOBJ_CSVGOBJ_OPTIMVGOBJ_AUTORANGEVGOBJ_PARTSVGOBJ_UPVOLVGOBJ_DIVISIONSVGOBJ_IMMEDIATEVGOBJ_USEPROJECTIONVGOBJ_TEMPVGOBJ_CONVTVGOBJ_SCALEVega Player(vgPlayer)Vega Player FunctionsvgPlayer* vgNewPlyr ( void );vgPlayer* vgNewPlyrCopy ( const vgPlayer *src );vgPlayer* vgFindPlyr ( const char *name );vgPlayer* vgGetPlyr ( int _index );int vgGetNumPlyr ( void );void vgPlyrVol ( vgPlayer *plyr, vgVolume *vol );vgVolume* vgGetPlyrVol ( vgPlayer *plyr );void vgAddPlyrIsect ( vgPlayer *plyr , vgIsector *isect );void vgRemPlyrIsect ( vgPlayer *plyr , vgIsector *isect );int vgGetPlyrNumIsect ( vgPlayer *plyr );vgIsector* vgGetPlyrIsect ( vgPlayer *plyr, int idx );void vgAddPlyrObj ( vgPlayer *plyr , vgObject *obj );void vgRemPlyrObj ( vgPlayer *plyr , vgObject *obj );int vgGetPlyrNumObj ( vgPlayer *plyr );vgObject* vgGetPlyrObj ( vgPlayer *plyr, int idx );void vgPlyrMot ( vgPlayer *plyr, vgMotion *motion );vgMotion* vgGetPlyrMot ( vgPlayer *plyr );void vgPlyrNav ( vgPlayer *plyr, vgNavigator *nav );vgNavigator* vgGetPlyrNav ( vgPlayer *plyr );void vgPlyrObservRef ( vgPlayer *plyr, vgObserver *obs );vgObserver* vgGetPlyrObservRef ( vgPlayer *plyr );vgPlayer* vgGetPlyrPlyrRef ( vgPlayer *plyr );void vgPlyrPlyrRef ( vgPlayer *plyr, vgPlayer *plyrd );void vgPlyrCSRef ( vgPlayer *plyr, vgPosition *pos );void vgGetPlyrCSRef ( vgPlayer *plyr, vgPosition *pos );void vgPlyrRepresent ( vgPlayer *plyr, unsigned mask );unsigned vgGetPlyrRepresent ( vgPlayer *plyr );Vega Player propertiesVGCOMMON_ENABLEDVGPLYR_TYPEVGPLYR_CLASSNUMVGPLYR_TEAMVGPLYR_CSREFVGPLYR_MOTIONVGPLYR_SPLINE_NAVIGATORVega Motion Models(vgMotion) Vega Motion Models FunctionsvgMotion* vgNewMot ( void );vgMotion* vgNewMotCopy ( const vgMotion *src );vgMotion* vgFindMot ( const char *name );vgMotion* vgGetMot ( int idx );int vgGetNumMot ( void );int vgMotInitPos ( vgMotion *mot, vgPosition *pos );void vgMotResetPos ( vgMotion *mot );int vgGetMotENUHPR ( vgMotion *mot, float *h, float *p, float *r );void vgAddMotIsect ( vgMotion *mot, vgIsector *isect );int vgRemMotIsect ( vgMotion *mot, vgIsector *isect );int vgGetMotNumIsect ( vgMotion *mot );vgIsector* vgGetMotIsect ( vgMotion *mot, int idx );void vgMotIDev ( vgMotion *mot, vgIDev *input );vgIDev* vgGetMotIDev ( vgMotion *mot );int vgMotRegister ( int index, int (*mot_callback)( vgMotionCallbackStruct *mot_cb ) ); void vgMotTrigger ( vgMotion *mot );void vgMotTgtMask ( vgMotion *mot, unsigned mask );unsigned vgGetMotTgtMask ( vgMotion *mot );vgPlayer* vgGetMotTgtPlyr ( vgMotion *mot );Vega Motion Models Properties VGCOMMON_ENABLEDVGMOT_DRIVE_BRAKEVGMOT_DRIVE_GASVGMOT_DRIVE_WHEELVGMOT_FLY_VELOCITYVGMOT_MODELVGMOT_SPIN_RADIUSVGMOT_UFO_VELOCITYVGMOT_WARP_XMAXVGMOT_WARP_XMINVGMOT_WARP_YMAXVGMOT_WARP_YMINVGMOT_XSCALEVGMOT_YSCALEVGMOT_PLANE_BRAKESVGMOT_PLANE_FLAPSVGMOT_PLANE_ALPHALIMIT VGMOT_PLANE_STICKXVGMOT_PLANE_STICKYVGMOT_PLANE_RUDDERVGMOT_PLANE_THROTTLE VGMOT_TRACKBALL_RADIUS ATTRIBUTESVGMOT_PLANEATTR_FDATA VGMOT_MISSATTR_DATA。
Vensim ®PLE 快速參考與自學手冊台灣科技大學摘要1.File(檔案)與cutting/pasting(剪下/貼上) 的操作如微軟視窗系統之功能‧2.許多功能列中經常使用的功能項目都放在工具列的按鈕,以利操作‧3.專門術語:”click”即按壓滑鼠左鍵再釋放之‧”drag”即按壓滑鼠左鍵不釋放而移動滑鼠‧”right-click”即按壓滑鼠右鍵再釋放之‧而”control-click”即按ctrol鍵及按滑鼠左鍵再釋放之,結果與”right-click”相同‧4.Vensim使用預設變數,無論建立任何模組,系統自動建立必要變數而使用它;如標題列的FINAL TIME變數‧________________________Copyright 2002, Craig W. Kirkwood. All rights reserved. (Email: craig.kirkwood@) Updated on December 12, 2002 by Jennifer Cihla Vender using VensimPLE Version 5.0c1Main Toolbar(工具列)Sketch Tools(繪圖工具列)。
Analysis Tools (分析工具欄)分析工具注意事項:1.若有較多的模擬執行,則分析工具是無法運作的。
因此,在實驗中,必須仔細地追蹤在視窗中所顯示的結果。
2.大部分視窗顯示有關工作變數的資訊。
在視窗中選擇一變數,用滑鼠雙擊變數即成工作變數。
3.在分析工具所輸出圖形左上角功能列如右圖,其中最左邊的鍵是刪除視窗鍵。
在其右邊則是鎖住刪除功能鍵,再按一次則可恢復刪除功能。
其右邊則是印表機功能鍵可以列印此視窗內容。
其右邊鍵則是複製視窗至迴紋夾。
最後鍵則是儲存視窗內容於檔案。
4.在圖形內有多個曲線,這些曲線會使用不同顏色顯示。
黑白印表機列印時很難區隔它,因此在Option 功能鍵,選擇”Show Line Markers on Graph Lines ”可以在曲線上標示不同數字以示區隔。
运动模型就是一种位置策略,使我们用标准输入能实现模型的动态定位。
Vega Prime 用vpMotion定义抽象的运动模型。
运动模型可以应用在observer上,也可以应用在object上。
所有具体的运动模型,比如drive、fly、UFO等等,都是从vpMotion这个抽象基类派生的。
对于vpMotion可以指定任意的输入设备来控制运动,如vpInputKeyboard(键盘),vpInputMouse(鼠标)或者vpInputComposite(由几个设备合成的输入设备)。
如果没有自定义输入设备,各个运动模型将启用自己的默认输入设备,默认设备在各运动模型中自行定义。
运动模型将所需要的输入分为三种类型:SourceBoolean、SourceFloat和SourceInteger,每种类型控制一种运动方式,比如在drive模型中,SourceBoolean控制加速减速,SourceFloat控制左转右转。
每个运动模型会自动调用compute()方法,将输入设备的第一个SourceBoolean键值对应于所需要的第一个SourceBoolean,第一个SourceFloat键值对应于所需要的第一个SourceFloat,以此类推,这样就能用定义的输入设备控制运动模型了。
Vega Prime 中定义了七种运动模型,分别是:vpMotionDrive,vpMotionFly,vpMotionUFO,vpMotionWalk,vpMotionWrap,vpMotionGame和vpMotionSpin。
VpMotionDrive是一个drive模型,用户可以控制其运动速度和转向;vpMotionFly是一个简单的飞行模拟模型,这个模型的效果和空气动力学的响应、推动力以及飞机模型的质量有关,这三个参数是可以在.acf文件或者程序中设置的。
飞行模型能够模拟质点六个自由度的变化;vpMotionUFO是一个无重力的运动模型,它使质点能够高速运动,并能够在任意位置盘旋;vpMotionWalk模拟基本的步行运动;vpMotionGame模拟第一人称射击游戏中主角的运动方式;vpMotionSpin模拟站在一个球体表面随球体转动的运动模型。
Vega Prime Lynx 用户界面教程(试用)编写人:陈仲委柴本成2007年5月说明 (4)第一章开始 (6)介绍 (6)使用VP和LP (6)VP应用的组成 (7)启动LP (8)退出LP (8)保存 (9)LP的界面构成 (9)第二章创建你的场景 (13)介绍 (13)Prime连接 (13)添加和浏览物体 (14)小结 (21)第三章运动方式和观察者 (22)介绍 (22)运动和观察 (22)设置观察者 (22)创建Transforms (24)添加运动模式 (26)添加碰撞检测 (27)定义通道 (30)修改视窗 (36)小结 (37)第四章环境 (38)介绍 (38)环境设置 (38)定义环境 (38)添加光点 (40)小结 (42)第五章特效 (42)介绍 (42)添加特效 (42)制作碎片效果 (43)制作龙卷风效果 (43)为粮仓制作特效 (53)小结 (53)第六章运行应用 (53)介绍 (53)编译和运行tornado应用程序 (54)建立VC编译环境 (54)小结 (55)附录一Vega Prime API (56)介绍 (56)设置API (56)初始化 (56)vpApp类 (57)定义语句 (58)配置 (59)仿真循环 (59)仿真更新 (59)关闭 (60)VP最小的应用 (60)附录二tornado应用程序 (61)介绍 (61)程序剥析 (61)说明本书主要介绍如何掌握Vega Prime的基本用法。
您可以根据书的内容在自己的工作地点学习使用Vega Prime。
本书将介绍Vega Prime实时应用、Lynx Prime 用户界面,和Vega Prime工具箱的基本用法。
您将学会如何创建一个能够移动的模块,小范围地形,特殊效果和爆炸的实时3D应用。
我们建议您按本书的章节顺序依次学习。
因为书中的章节是按创建和创建过程遇到的相应主题顺序依次排列。
因此本书也是一个使用方便,按主题顺序的参考书。
学习完成本书内容,您将能够完成以下操作:⏹创建一个应用结构文件(ACF)文档,包括相关的静态和动态物体,多通道视角,动作执行规化和特殊效果。
⏹建立一个微软开发演示工作平台,用于编辑您的Vega Prime应用。
准备工作⏹在您学习本书内容时,请先安装Vega Prime并按书内容操作软件。
⏹本书只包括为Window设定的文件路径。
如果您在Solaris或Linux中使用Vega Prime,缺省路径为/usr/local/MultiGen-Paradigm/⏹完整的应用结构文件和代码位于C:\ProgramFiles\MultiGen-Paradigm\resources\tutorials\vegaprime\desktop_tutor\tor nado\completed_ACF目录下,使得转入程序任何部分或检查运行结果都非常容易。
⏹用于参考的文件(PDF格式)在C:\ProgramFiles\Multigen-Paradigm\docs\vegaprime\pdf 目录下。
第一章开始介绍Vega Prime(以下简称VP)是一个实时三维驱动的工具包。
LP(以下简称LP)是用来定义VP中的类及其参数的人机交互界面,定义好的内容可以保存到一个文件中。
这部分内容描述了VP的结构和用户界面。
使用VP和LPVP最好与LP一起使用。
尽管VP包含了创建一个应用所需的所有API,但LP 简化了开发过程,而且LP允许开发者无需编写代码即可创建一个应用。
LP是一个编辑器,用于增加不同种类的模型,为模型定义参数。
这些参数都存贮于应用配置文件(ACF)中的一个模型结构内,例如观察者的位置,模型及它们在场景中的位置,在场景中的移动,光线,环境效果,及目标硬件平台。
ACF文件包含了VP在初始化和运行时所需的信息。
您可以在Active Preview(动画预览)中查看你所定义的内容。
AP可以允许您使用交互式方法进行配置ACF,Active Preview会根据变化信息持续修改ACF内容。
当出现变化,AP将用新的数据更新VP仿真窗口内容。
您同样可以用C++语言编写程序使场景更加生动。
您可以根据应用中的特殊场景修改模型的参数。
当一个模型建立完成后,您可以修改它位置。
VP应用同样可以将ACF加载到一个图像数据流中。
当您编辑完应用后,它就成为一个可运行的3D实时应用!VP系统结构如你需要了解更多LP内容及它如何与VP一起工作,请查询Vega Prime程序员指南。
VP应用的组成应用程序应用程序控制场景,模型在场景中的移动,和场景中其它大量的动态模型。
实时应用程序包括汽车驾驶,动态模型的飞行,碰撞检测,和特殊效果,如爆炸。
您在VP外的开发平台创建应用程序,并将文件以.ccp格式存档。
它就包含了C++可以调用的VP库的功能和分类。
在编辑完成后就形成了一个可执行的实时3D应用文件。
应用配置文件应用配置文件包含了VP应用在初始化和运行时所需的一切信息。
通过编译不同的ACF文件,一个VP能够生成不同种类的应用。
ACF文件为扩展Mark-up语言(XML)格式。
您可以使用VP编辑器LP来开发一个ACF,然后您可以使用VP API动态地改变应用中模型运动。
对于实时应用来说,ACF不是必要的,但它可以将改动信息进行译码,记录在.cpp程序中,这样可以为您节省大量的时间。
模型包以前,通常是通过计算机辅助设计系统或几何学来创建单个模型,但这些方法在实时应用很难进行编码。
现在,可以使用MulitGen Creator和ModelBuilder 3D,以OpenFlight的格式来创建实时3D应用中所有独立的模型。
可以使用Creator Terrain Studio(CTS),以MetaFlight格式来生成大面积地形文件。
并可以使用这两种格式在VP中增加模型文件。
启动LP在本章开始前,请先安装好VP,并正确建立许可协议。
帮助文件夹安装在:C:\ProgramFiles\Multigen-Paradigm\resources\tutorials\vegaprime\desktop_tutor\ tornado\data目录下,它包含了本书所有练习的所需的源文件。
请参照Vega Prime 启动指南,以获取安装和运行的有关信息。
您可以根据操作系统的类型来打开LP:⏹如操作系统是Windows,请按开始-程序-MultiGen-Paradigm-Vega Prime顺序点击,然后从第二级目录中启动LP。
你也可以点击桌面上LP的快捷键启动程序,这个快捷键应在安装程序时创建完成。
⏹如操作系统是Solaris或是Linux,请打开命令窗口,在命令行中输入LP,启动该程序。
退出LP如需退出LP,选择文件-退出,或同时按Ctrl和Q键。
您也可单击窗口上方的标准关闭键。
保存我们建议您经常在LP操作过程中进行保存。
这样在出现突然停电或系统故障时,不会丢失数据。
LP在文件目录中提供了所有标准文件工具。
你必须学会使用这些工具。
Save 保存这在这个文件,我们建议您在修改原文件前进行保存,快捷键:Ctril+S。
Save As 以其它文件进行存档。
自动给文件名附加.acf或.mft后缀。
LP的界面构成LynX Prime用户界面包括四个部分:实例树形显示区(Instance Tree View),用户操作区(GUI View),应用程序区(API View),和工具条(Toolbar)和目录区(Menus)。
所有这些区域将显示同一选定的对象的信息,但是这些信息是以不同格式进行安排的。
你可以在一个或多个工作区进行操作来定义ACF。
GUI View用户操作区在用户界面中显示ACF模型及相关的参数,操作起来十分方便。
你可以从一个下拉菜单中选择参数,也可在空格处输入参数。
当您打开Lynx Prime,第一个显示的用户操作窗口叫myKernel,这是Vega Prime中Kernal类型中的一个实例。
Kernel即是应用的起始点。
Instance Tree View实例树形显示区显示目前正在操作的ACF文件和文件中包含的所有模型。
实例树用一个等级结构显示了模型间的关系,及与它们的上级模型和下级模型的关系。
通过实例树你可以直观的了解到应用中的模型之间的联系。
如果您选定等级中一个模型,在所有的操作区中同时显示这个模型的有关信息。
如果一个模型在文件中的不同的地方被使用,在这个模型的文件名旁就标有蓝色的箭头。
向下的箭头表示文件第一次被使用。
向上的箭头表示这个模型的其它应用。
如上面图例所示,MyPipeline的子目录MyWindow调用MyChannel,这是MyChannel第一次被调用,所以在它旁边标有一个向下的箭头。
MyChannel后又被myObserver调用,所以这时在它旁边标有一个向上的箭头。
当您选定一个图标时,图标的属性和当前的参数就会显示在用户操作区和API 区。
API ViewAPI区显示选定的模型的所有可能的变量。
在这里可以定义模型的值,就象在用户操作区一样。
但是在API中,你可以直接给变量赋值。
当您更改应用中的参数时,你可参考API区中要使用的变量的值。
ToolbarLynX Prime工具条包括所有操作模型及属性的快捷按钮。
这些功能同样可以在LynX Prime的目录中找到。
New File创建一个新的,含有默认类型值的ACF文件。
Open File打开文件浏览器,你就可以选择一个ACF文件加载到LynX Prime。
所选定的ACF文件将替换目前正在显示的ACF文件。
如果目前显示文件已经更改过并且还没有存盘,LynX Prime将会在打开文件浏览器之前提醒您保存更改。
Save File保存当前的ACF。
如果这个文件没有保存过,你可以在显示的对话框中输入文件名和保存目录。
Create Instance将显示一个对话框,其中包含可以增加的模型类型列表。
也可以根据名称或范围在对话框中显示或分类这些项目。
Cut Instance将当前选定的模型拷贝到剪切板,并从当前的ACF文件中移走。
Copy Instance拷贝当前选定的模型到剪切板,但模型仍留在ACF文件中。
Paste Instance将剪切板中所存的模型加到当前ACF文件中。
只有剪切板中含有模型才能执行此操作。
Delete Instance从当前的ACF中移走选定的模型。
将会出现一个对话框提示您进行删除或取消操作。
删除操作不会在剪切板中留下模型的拷贝。
Backward显示前一步显示。
Forward显示下一个。
只有操作过退后键才能操作这一步。
Views在LynX Prime中四个不同的操作区之间转换:⏹用户操作区在上面,同时API区在下面⏹API区在上面,同时用户操作区在下面⏹只显示用户操作区⏹只显示API区Active Preview当LynX Prime中的参数发生变化时,显示运行一个基本Vega Prime应用,这个应用接收LynX Prime的发送的参数。