Возвращаемые значения

Необязательные параметры

Во многих методах 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