1

你好!

我正在用 C++ 编写一个“简单”的 Maya 命令,我需要从场景中进行选择(如 MEL 中的 ls 命令)。

但我不知道如何根据“gpuCache”之类的字符串名称来识别 MFn::Type 数据。

实际上,我的(非常愚蠢的)解析器会根据两个选项识别 MFn::Type:如果节点名称是“gpuCache”,则使用 MFn::Type::kPluginShape 设置过滤器,否则使用 kDagNode(或 kShape,或任何适合我对尽可能多的节点进行广泛识别的需要,以便以后使用typeName()该类MFnDagNode)。

这是“filterByType”函数,我想用它来将 String 定义的类型转换为 MFn::Type 定义的类型。

MFn::Type Switch::filterByType( MString type )
{
    MFn::Type object_type;

    object_type = MFn::Type::kDagNode;

    MNodeClass node_class( type );
    MGlobal::displayInfo( MString("Type Name: " + node_class.typeName()) );

    return object_type;
}

有人可以帮助我,还是我需要从 C++ 调用 MEL/Python 命令(我真的不想做的事情)来完成这件事?

谢谢!

4

0 回答 0