Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 按名称(或字符串标识符)提取/标识节点类型_C++_Maya_Maya Api - Fatal编程技术网

C++ 按名称(或字符串标识符)提取/标识节点类型

C++ 按名称(或字符串标识符)提取/标识节点类型,c++,maya,maya-api,C++,Maya,Maya Api,嗨 我在C++中写了一个简单的玛雅命令,我需要从场景中选择(比如MEL的ls命令)。 但我不知道如何基于字符串名(如“gpuCache”)识别MFn::Type数据 实际上,我的(非常愚蠢的)解析器做了一个简单的if,它基于两个选项来识别MFn::Type:如果节点名是“gpuCache”,则使用MFn::Type::kPluginShape设置过滤器,否则使用kDagNode(或kShape,或任何适合我需要的尽可能多的节点的广泛标识,以便以后使用typeName()MFnDagNode类的)

我在C++中写了一个简单的玛雅命令,我需要从场景中选择(比如MEL的ls命令)。 但我不知道如何基于字符串名(如“gpuCache”)识别MFn::Type数据

实际上,我的(非常愚蠢的)解析器做了一个简单的if,它基于两个选项来识别MFn::Type:如果节点名是“gpuCache”,则使用MFn::Type::kPluginShape设置过滤器,否则使用kDagNode(或kShape,或任何适合我需要的尽可能多的节点的广泛标识,以便以后使用
typeName()
MFnDagNode
类的

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

MFn::类型开关::filterByType(MString类型)
{
最惠国待遇::类型对象\类型;
object_type=MFn::type::kDagNode;
MNodeClass节点\类别(类型);
MGlobal::displayInfo(MString(“类型名:+node_class.typeName());
返回对象类型;
}
可以帮助我吗?或者我需要调用C++的Mel/Python命令(一个我真的不想做的事情)来完成这个事情?
谢谢

我不完全确定你在问什么——什么是等价物?为什么调用C++的MEL命令是个问题?您肯定不想调用Python命令,因为它是MEL命令的包装器,会减慢执行速度,但这是完全有效的。否则,您不想使用lsType()来代替吗?我不完全确定您要问的是什么-等效的ls是什么?为什么调用C++的MEL命令是个问题?您当然不想调用Python命令,因为它是MEL命令的包装器,会降低执行速度,但这样做完全有效。否则,您不想改用lsType()吗?