Возвращаемые значения
Необязательные параметры
Во многих методах MAXScript используются необязательные параметры с ключевыми словами. В этом разделе будет показано, как следует читать листинги и как пользоваться такими параметрами в методах.
Для того чтобы научиться пользоваться необязательными параметрами, выполните следующее упражнение.
1. Откройте раздел MAXScript Language Reference ⇨ 3dsMax Objects ⇨ Modifier: MAXWrapper and Spacewarp Modifier: MAXWrapper ⇨ Modifier Common Properties, Operators, and Methods (Справочник по языку MAXScript ⇨ Объекты 3dsMax ⇨ Классы MAXWrapper иSpacewarp Modifier: Класс MAXWrapper ⇨ Общие свойства, операторы и методы модификаторов). Под рубрикой "Associated Methods" (Связанные методы) приведен второй метод в следующем виде:
addModifier <node> <modifier> [before: index] -- mapped
Вы уже пользовались этим методом со следующим синтаксисом: addmodifier <node> <modifier>
Текст, заключенный в угловые скобки, вводить необязательно. В тексте, приведенном ниже листинга этого метода в справочном руководстве, сообщается, что данный аргумент может быть использован для указания в стеке места, куда должен быть помещен модификатор. Так, индекс 2 означает, что модификатор следует поместить на второй от вершины стека позиции.
Текст before является ключевым словом, которое следует ввести в код, чтобы указать, что именно нужно сделать.
2. Далее создайте два экземпляра модификаторов:
myMod1 = bend()
myMod2 = twist()
3. Введите один модификатор в объект:
addmodifierс myMod1
4. Введите следующую строку кода, чтобы применить в стеке модификатор Twist ниже модификатора Bend:
addmodifier c myMod2 before:2
5. Попробуйте выполнить следующую команду:
addmodifierс myMod2 2
При этом возникает ошибка, поскольку для нормального выполнения данной команды ее необходимо дополнить ключевым словом before.
В справочном руководстве по MAXScript листингу метода иногда предшествует текст в угловых скобках. В этом случае текст в угловых скобках обозначает тип данных, возвращаемых данным методом. Такой синтаксис характерен для методов типа get и set.
Глава 4
Для того чтобы посмотреть пример указания возвращаемых значений, откройте раздел MAXScript Tools and Interaction with 3dsMax ⇨ Lnteracting with the 3dsMax User Interface ⇨ Filters ⇨ SelectionFilter (Инструменты MAXScript и взаимодействие с 3dsMax ⇨ Взаимодействие с пользовательским интерфейсом 3dsMax ⇨ Фильтры ⇨ Фильтр выделения) справочного руководства. Четыре первых листинга в этом разделе следующие:
<int> GetSelectFilter <void> SetSelectFilter <int_index> <int> GetNumberSelectFilters <BOOL> GetDisplayFilter <int_index)
Метод с предваряющим его текстом в угловых скобках обозначает, что команда возвращает значение указанного типа:
• <int> — возвращает целое число;
• <void> — не возвращает значение;
• <bool> — возвращает логическое значение true или false.
Если известен тип значения, возвращаемого командой, то можно выбрать переменную соответствующего типа для хранения возвращаемого значения, например:
x = GetSelectFilter -- в переменной x сохраняется целое значение
y = GetDisplayFilter3 -- в переменной y сохраняется логическое значение true или false