Переменные в классах-операторах Blender API

Пользовательские классы-операторы, наследованные от bpy.types.Operator, являются статическими классами. Следовательно в них могут быть определены только статические переменные.

Определение статической переменной sampleVar в классе-операторе SampleClass:

Выражение:

определит статическую переменную sampleVar для класса, в который оно будет включено, со значением по умолчанию равным 5.

Так как в момент выполнения оператора создается временный экземпляр его класса, в котором создаются локальные копии переменных класса, получение значения нужной переменной внутри класса возможно через текущий экземпляр класса:

или через обращение к самому классу:

Экземпляр класса существует только в момент его выполнения, поэтому заносить значения в переменную через текущий экземпляр нельзя. Заносимое значение сохранится только в локальной переменной sampleVar текущего экземпляра класса, который перестанет существовать по завершении выполнения оператора, а не в статической переменной класса. Следовательно заносить значение в статическую переменную можно только через обращение к классу.

Обращение к статическим переменным класса извне осуществляется через обращение по его имени:

 

 

0 0 голоса
Article Rating
Подписаться
Уведомить о
guest

0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии