VIArt/Ключевые кадры
Материал из Project D8
- Обновление элемента — обновление текущего пакета преобразований
- В зависимости от
edistate
получаются нужные преобразования из пакета, и их конечные значения устанавливаются по курсору
- В зависимости от
- Получение выделения — получение / создание пакета преобразований
- Это происходит в методе
setEditMode
, еслиedit == true
иcreate == false
- Устанавливаем
curpacket = transpackets.get(curelement.getName())
- Если после этого
curpacket == null
, то нужно создавать новый пакет -
curpacket = new TransformPacket()
- А потом, в зависимости от
elemtype
, пихать туда трансформации - Создается новая
ArrayData
- В зависимости от
elemtype
устанавливается тип линейный или целочисленный
- А пускай этим занимается
TransformPacket
! - Пускай мы вызываем, скажем,
addTransform(param, subparam)
, а пакет сам создаетArrayData
, заполняет ее текущим значением и потом пихает в трансформ, а трансформ — в вектор… - Что для этого нужно:
- Пакету передать сам элемент, чтобы он знал, откуда брать
- Тогда пакет может сам же и добавлять трансформации, основываясь на типе элемента — не катит!
- Это происходит в методе
- Ключевой кадр — сохранение всех пакетов преобразований и очистка списка