Привет!
Я пишу «простую» команду Maya на C ++, в которой мне нужно выбрать сцену (как команда ls в MEL).
Но я не знаю, как определить данные MFn :: Type на основе строкового имени, такого как «gpuCache».
На самом деле мой (очень глупый) парсер делает простое, если это идентифицирует 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;
}
Кто-нибудь может мне помочь, или мне нужно вызвать команду MEL / Python из C ++ (что я действительно не хочу делать), чтобы сделать это?
Спасибо!
Задача ещё не решена.
Других решений пока нет …