c4d.BaseContainer
Контейнер — это коллекция отдельных значений. Каждое значение имеет свой идентификатор и тип. Контейнер также может содержать любое количество дочерних контейнеров. Нет никакой гарантии, что значение находится в контейнере. По возможности используйте значения по умолчанию при доступе к значениям.
После того как вы установили значение контейнера с использованием одного типа, вы не должны ни пытаться получить к нему доступ с использованием другого типа, ни перезаписывать его значением другого типа!
Оригинал или копию контейнера можно получить из объекта c4d.BaseList2D с помощью методов BaseList2D.GetDataInstance(self) и BaseList2D.GetData(self) соответсвенно:
Следующие методы иллюстрируют какие типы данных могут быть получены из контейнера: BaseContainer.GetData(self, id)
Возвращает данные элемента по идентификатору.
BaseContainer.GetDataPointer(self, id)
Получает указатель для прямого доступа к данным.
BaseContainer.GetBool(self, id[, preset])
Возвращает логическое значение с указанным идентификатором или заданное значение, если оно не существует.
BaseContainer.GetInt32(self, id[, preset])
.. целое ..
BaseContainer.GetInt64(self, id[, preset])
.. целое ..
BaseContainer.GetFloat(self, id[, preset])
.. десятичное ..
BaseContainer.GetVector(self, id[, preset])
.. вектор ..
BaseContainer.GetMatrix(self, id[, preset])
.. матрицу ..
BaseContainer.GetString(self, id[, preset])
.. строковое ..
BaseContainer.GetFilename(self, id[, preset])
.. строковое (путь к файлу) ..
BaseContainer.GetUuid(self, id, preset)
.. UUID ..
BaseContainer.GetTime(self, id[, preset])
.. c4d.BaseTime ..
BaseContainer.GetContainer(self, id)
Возвращает копию подконтейнера с указанным идентификатором или пустой контейнер, если он не существует.
BaseContainer.GetContainerInstance(self, id)
живой подконтейнер или пустой контейнер, если он не существует
BaseContainer.GetLink(self, id[, doc, ...])
возвращает связанный объект (c4d.BaseList2D)
BaseContainer.GetObjectLink(self, id[, doc])
возвращает связанный объект (c4d.BaseObject)
BaseContainer.GetMaterialLink(self, id[, doc])
возвращает связанный материал
BaseContainer.GetCustomDataType(self, id)
Возвращает копию пользовательского типа данных или None, если не существует.
Помимо методов получения свойств, существуют аналогичные методы для установки свойств, например:
BaseContainer.SetBool(self, id, b)
устанавливает логическое свойство
Примеры кода:
Last updated