Опрос
Что такое, по вашему мнению, «демократия»?
Подключения
| Индекс материала |
|---|
| Подключения |
| Страница 2 |
| Страница 3 |
В контексте интерфейса C++ API атрибут - это лишь шаблон организации данных в рамках узла. Атрибут не содержит никаких данных, а только представляет подробное описание того, как эти данные должны быть созданы . При наличии конкретного экземпляра узла для доступа к его данным фактически служит подключение. Оно предусматривает механизм доступа
к реальным данным того или иного узла. Чтобы создать подключение, надо указать требуемый узел и его атрибут. Пользуясь этим сочетанием, подключение обращается к реальным данным конкретного узла. Для создания подключений и доступа к ним служит класс MPlug.
Следующий пример иллюстрирует создание объекта MPlug, связанного с атрибутом translateX данного узла transform с именем bulIObj. Функция findPlug класса MFnDependencyNode предназначена для организации подключения к заданному атрибуту. Имя указанного атрибута может иметь полную или краткую форму.
MFnDependencyNode nodeFn( ballObj ); MPlug transxPlg = nodeFn. findPlug( "translateX" ); Кроме того, функция findPlug перегружена для подачи на ее вход объектаатрибута, зарегистрированного в принадлежащей узлу функции initialize. Однако непосредственная ссылка на объект-атрибут зачастую доступна лишь в файле реализации узла, а потому такой прием используется достаточно редко.
Теперь, когда подключение создано, можно получить данные атрибута, воспользовавшись функцией getValue класса MPlug. double tx; transxPlg. getValueC tx ); Функция getValue перегружена для возвращения данных многих различных типов.
Поэтому важно гарантировать соответствие типов считываемых данных и данных атрибута узла. Так как атрибут transIateX имеет тип double, он и помещается в переменную этого типа. Однако если вы попытаетесь считать данные атрибута, указав неверный тип, результат будет непредсказуемым. Ваши действия могут даже стать причиной сбоя системы Maya.
Поиск
В закладку
Авторизация
Погода


