嗨!
我正在用C ++编写一个“简单”的Maya命令,我需要从场景中选择(就像MEL中的ls命令一样)。
但我不知道如何基于像“gpuCache”这样的字符串名来识别MFn :: Type数据。
实际上我的(非常愚蠢的)解析器做了一个简单的如果基于两个选项识别MFn :: Type:如果节点名称是“gpuCache”使用MFn :: Type :: kPluginShape设置过滤器,否则使用kDagNode(或kShape,或任何符合我对尽可能多的节点的广泛标识的需求,以便以后使用typeName()
类的MFnDagNode
。
这是“filterByType”函数,我想用它来转换由MFn :: Type定义的类型中String定义的类型。
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命令(这是我真的不想做的事情)来完成这件事吗?
谢谢!