什么是DAG
来源:互联网 发布:企搜通软件 编辑:程序博客网 时间:2024/06/06 00:35
在学习maya的API编程的同时,会经常看到类名中会有“Dag”的标识。
如:MDagPath.node()
OpenMaya.MItDag(OpenMaya.MItDag.kDepthFirst,OpenMaya.MFn.kInvalid)
dagNodeFn.name()
dagIterator.currentItem()
一、那么首先DAG是什么?
在maya的帮助中解释道DAG(有向非循环图)在 Maya 中的场景图形通常被称为"有向非循环图"或DAG。DAG 是实际的更大图形,称为依存关系图,其中包括多更广泛的节点类型,包括着色器,变形器、 约束等的一个子集。有关详细信息,请参阅下一部分中,依存关系图插件基础知识。现在,我们将集中我们注意 DAG 节点,可以在两种方法之一进行分类:
变换节点:MFn.kTransform
形状节点:MFn.kMesh、MFn.kCamera、MFn.kLight、...
变换节点和形节点:其实这两个节点就是我们能在maya的属性中看到,例如:创建一个ploy sphere,它的变换节点就是属性中的pSphere1,形节点就是pSphereShape1。那么变换节点主要就是控制物体的旋转位移等信息。形节点就是包括形态、贴图、渲染等一些参数。
那么也就是说,带有dag的类,是属于具有非循环矢量功能的。是被DAG标识的MDag的子类或是超类。
而一个场景中创建了一个点光源,一个cube,点光源是cube的子物体;maya中的有向非循环图(DAG):
特别要记住的就是形状节点下是不可以有任何变换节点的,也就是说形节点只能位于叶(也就是树状图的分支末端)。
和maya的group操作一样~在位移上父能带动子,子不能影响父(不指参数)。
二、DAG的一些路径函数
DAG的路径函数都是在MDagPath这个类中。
一下是MDagPath中的函数目录表(C++版):
三、DAG的遍历(使用迭代)
以下是MItDag的函数目录:
Image resource:mayaAPI C++类目录
【未完待续,学习中,如有错误请留言,互相学习】
括包括
- 什么是DAG
- DAG
- DAG
- DAG模型
- DAG模型
- poj_3018_Giftbox(DAG)
- sicily DAG?
- DAG 问题
- (DAG)NestedRectangle
- Sicily DAG?
- <OJ_Sicily>DAG
- DAG任务
- uva437 DAG
- HDU1069(DAG)
- DAG优化
- DAG优化
- Changing DAG & DAG members IP addresses
- DAG有向无环图
- HDU1711 模板题-KMP
- 浅析数据库设计三范式
- SQL server : raiserror 的作用
- HDU2063二分图最大匹配
- A. TL
- 什么是DAG
- 黑马程序员_<<IO扩展对象和编码(序列化,管道流,字节(符)数组),随机访问文件>>
- Zoj 3662 DP
- ZOJ 1137二分图匹配最大独立集
- android解析json串
- MySQL中日期与时间类型
- 牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结
- HDU1289 Tarjan-模板题
- CString, QString, char*之间的转换