Как получить информацию от HAPI_parmInfo о статусе свертывания папки?C++

Программы на C++. Форум разработчиков
Anonymous
Как получить информацию от HAPI_parmInfo о статусе свертывания папки?

Сообщение Anonymous »

Я изучаю, как пишется HoudiniEngine для Maya (https://github.com/Onekke/scs-houdini-engine-for-maya). В настоящее время мне интересно, есть ли возможность получить информацию о том, свернута ли папка по умолчанию или нет при импорте ресурса из Houdini с использованием API HoudiniEngine.
Документация Плагин HoudiniEngine для Maya (https://www.sidefx.com/docs/houdini/maya/) недостаточен, когда речь идет о структуре кода для создания моста между API Houdini и API Maya. Фактически, документация не существует (https://www.sidefx.com/docs/houdini/maya/code.html), поскольку ссылка суммирует только то, что делается в каждом исходном файле, а не то, как плагин устроен по слоям и какие шаблоны он использует (судя по тому, что я видел в коде, я сомневаюсь, что он их использует).
Из того, что я мог сделать вывод, теги, присвоенные папке parm в Houdini, можно получить в метод Util.C 'static void getParmTags(...)'. К сожалению, это не дает результатов для параметров папки.
Я попытался вызвать этот метод и получить теги в SynAttribute.C в операции CreateAttrOperation::pushFolder(..), которая вызывается когда параметры анализируются. К сожалению, с помощью этого подхода мы не получили ни одного тега.

Код: Выделить всё

void CreateAttrOperation::pushFolder(const HAPI_ParmInfo &parmInfo){
MFnCompoundAttribute *attrFn = NULL;
bool invisible               = myInvisibles.back() || parmInfo.invisible;

// MFnCompoundAttribute* parentAttrFn = myAttrFns.back();
// const HAPI_ParmInfo* &parentParmInfo = myParentParmInfos.back();

if (!invisible)
{
attrFn = new MFnCompoundAttribute();

MString attrName = Util::getAttrNameFromParm(parmInfo);
MString niceName = Util::HAPIString(parmInfo.labelSH);

attrFn->create(attrName, attrName);
attrFn->setNiceNameOverride(niceName);

std::vector tagNames;
std::vector tagValues;

getParmTags(myNodeInfo, parmInfo, tagNames, tagValues);

MGlobal::displayInfo("Folder");
MGlobal::displayInfo( Util::HAPIString(parmInfo.nameSH));
for (size_t i = 0; i < tagNames.size(); i++)
{
MGlobal::displayInfo(tagNames[i]);
MGlobal::displayInfo(tagValues[i]);

}
MGlobal::displayInfo("");
}

myAttrFns.push_back(attrFn);
myInvisibles.push_back(invisible);
myParentParmInfos.push_back(&parmInfo);}
Как мне получить информацию тега из параметров папки?
Спасибо за ваше время и ответы.

Подробнее здесь: https://stackoverflow.com/questions/786 ... pse-status

Вернуться в «C++»