Отображаемые методы
Методы типа get и set
Методы нередко начинаются с префикса get или set. Так, метод с префиксом get используется для получения, а метод с префиксом set — для установки конкретных свойств объекта.
Большая часть методов типа get и set применяется в классе Editable_Mesh, который стоит в иерархии ниже класса GeometryClass.
Для изучения методов типа get и set выполните следующее упражнение.
1. Откройте раздел MAXScript Language Reference ⇨ 3dsMax Objects ⇨ Editable Meshes, Splines, Patches, and Polys ⇨ Editable_Mesh and TriMesh ⇨ Editable_Mesh: GeometryClass and TriMesh: Value (Справочник по языку MAXScript ⇨ Объекты 3dsMax ⇨ Редактируемые каркасы, сплайны, лоскуты и многоугольники ⇨ Классы Editable_Mesh и TriMesh ⇨ Класс Editable_Mesh: Классы GeometryClass и TriMesh: Значение) в справочном руководстве по MAXScript.
В этом разделе приведены все методы и свойства, характерные для редактируемых каркасов. Вместо того чтобы создавать и править совершенно новый каркас, можно преобразовать параллелепипед в редактируемый каркас.
Глава 4
2. Прокрутите текст справочного руководства до конца раздела "Constructors (Editable_Mesh)" (Конструкторы класса Editable_Mesh). Два последних метода в этом разделе преобразуют любой объект класса Node в редактируемый каркас.
3. Введите в приемнике команд следующую строку кода: m = convertToMesh b
Перейдя к панели Modify, вы можете обнаружить, что параллелепипед преобразован в редактируемый каркас.
4. Откройте следующий раздел справочного руководства, "Mesh Vertex Methods" (Методы манипулирования вершинами каркаса). Первым в этом разделе перечислен метод getNumVerts. Попробуйте применить его.
5. Введите в приемнике команд следующую строку кода: getNumVerts m
В приемнике команд возвратится значение 8, обозначающее число вершин в редактируемом каркасе.
Этот метод можно также использовать для присваивания числа вершин переменной:
numVerts = getNumVerts m
В этой строке кода число вершин (в данном случае — 8) присваивается переменной numVerts.
Некоторые методы могут воздействовать на всю совокупность объектов одной командой. Когда операция выполняется над целым рядом объектов, то говорят, что она отображается на эти объекты.
Применяя метод к одному или нескольким объектам, можно воспользоваться метасимволом для обозначения этих объектов либо организовать их в совокупность или массив и затем применить данный метод к полученной совокупности объектов. Для изучения отображаемых методов выполните следующее упражнение.
1. Вновь откройте раздел "Editable_Mesh: GeometryClass and TriMesh: Value" справочного руководства.
2. Прокрутите текст вниз и найдите правило для метода convertToMesh: convertToMesh <node> -- mapped
Обозначение mapped (отображаемый метод), приведенное после этого правила, указывает на то, что данный метод можно применять к нескольким объектам сразу. Попробуйте применить данный метод к находящимся на сцене объектам.
3. Установите 3dsMax в исходное состояние или удалите все объекты со сцены.
4. Введите в приемнике команд следующий фрагмент кода:
Объекты и классы
c = cylinder pos:[50,0,0]
b = box()
s = sphere pos: [-50,0,0]
В этом коде три объекта создаются в разных местах сцены.
5. Введите в приемнике команд следующую строку кода: convertToMesh $*
В этой строке метасимвол * служит для обозначения всех преобразуемых объектов сцены в редактируемые каркасы. Далее вам предстоит создать массив для хранения этих объектов и применить к данному массиву соответствующий метод.
6. Введите в приемнике команд следующую строку кода:
objectArray = #(c,b,s)
В итоге создается массив objectArray, содержащий три объекта.
7. Введите в приемнике команд следующую строку кода:
hide objectArray
Все объекты скрываются на сцене. Метод hide, который может применяться ко всем членам класса Node, является также отображаемым методом.