• 关于创建和删除DAG节点的一些知识


    首先,我们知道所有Shape节点都必须有一个Transform父节点。如果一个Shape节点是他的父Transform节点的最后一个子节点,那么,当我们使用MDagModifier来删除这个Shape节点的时候,他的父节点也会被同时删除掉。这是Maya的一个正常行为,Maya通过这种方式来使场景中避免了出现一些孤立的Transform节点。同样,当使用MDagModifier::createNode() 函数来创建一个新的Dag节点的时候,如果没有指定父节点并且是Shape节点的话,Maya也会同时创建一个新的Transform父节点给他,这和删除节点是一致的。

    然而,需要注意的是,MDagModifier::reparentNode()是不会删除空的父节点的,这个和前面提到的是不一样的;另外,delete 命令也不会自动删除空的父节点。

    如果当上面的情况发生时,也就是说删除Transform节点的最后一个Shape子节点的时候,如果你不希望Maya自动帮你把父节点也删除掉的话,下面两个API可以帮到你:

    MStatus MPxNode::setExistWithoutOutConnections

    (

    bool 

    flag

    )

    MStatus MPxNode::setExistWithoutInConnections

    (

    bool 

    flag

    )

    将flag设成true的话,当该节点没有任何上游或下游连接时,Maya也不会自动删除该节点了。

  • 相关阅读:
    content type
    存储过程查询并插入到临时表
    jdk 生成证书
    sql 表值函数-将一个传入的字符串用2中分隔符拆分成临时表
    sql 把一个用逗号分隔的多个数据字符串变成一个表的一列
    sql 分隔字符串函数
    md5 加密
    SQL语句的使用
    WINDOW的cmd的命令【转载】
    zookeeper安装
  • 原文地址:https://www.cnblogs.com/johnonsoftware/p/2920506.html
Copyright © 2020-2023  润新知