Maya c++ плагин доступ к imageFile загружен на текущей imagePlane

Я пишу плагин Maya C++, который должен получить доступ к imageFile, загруженному в текущей imagePlane. У меня есть плагин написан, и я могу успешно итерировать через imagePlanes, но я не знаю, как получить файл imageFile, который загружен на imagePlane. Я написал плагин, который имеет обратный вызов для загружаемой сцены, и я успешно повторяю через imagePlanes, но как я буду действовать оттуда, чтобы получить имя файла изображения, загруженного в imagePlane? Вот часть моего кода для sceneLoaded обратного вызова:

void MayaExtractCalDataPlugin::sceneLoaded( void* clientData )
{
    // Store the pointer to the current class
    MayaExtractCalDataPlugin* crntPlugin = (MayaExtractCalDataPlugin*)clientData;

    // We only enter the callback when isReadingFile() is false, as this indicates that all
    // loading is complete. otherwise we would enter a whole series of callbacks when loading a scene
    // with lots of references in.
    if( !MFileIO::isReadingFile() )
    {
        // Traverse the scene and find image planes 
        // First we need to create an iterator to go through all image planes
        MItDependencyNodes it(MFn::kImagePlane);

        //iterate through all image planes
        while(!it.isDone())
        {

            // Get the imagePlane object
            MStatus status;
            MObject object = it.thisNode(&status);

            ...
         }
    }
}

Но теперь, когда у меня есть MObject, и я знаю, что это imagePlane, я не знаю, как добраться до imageFile, который загружен в него. Заранее спасибо за любую помощь!

1 ответ

  1. Я понял это! Мне просто нужно добавить следующие операторы после вышеуказанного кода, и я могу получить доступ ко всем методам и атрибутам imagePlane:

            // attach a dependency node to the file node
            MFnDependencyNode fn(object);
    
            // get the attribute for the imageName path
            MPlug imagePath = fn.findPlug("imageName");