Атрибуты (Lua)
Attribute()
Абстрактный базовый класс всех атрибутов.
attribute_type() -> int
Возвращает код типа данных атрибута. Может использоваться для того, чтобы проверить, содержат ли атрибуты данные одного типа.
| Код | Связанный тип данных |
|---|---|
| 0 | Null |
| 1 | Float |
| 2 | Integer |
| 3 | String |
| 4 | Double |
| 5 | GroupAttribute |
hash() -> int
Возвращает хеш атрибута. Хеш-значение возвращается в виде целого числа.
cache_id() -> int
Возвращает идентификатор кэша выбранного атрибута. Идентификатор кэша может быть использован для отслеживания изменений, связанных со значением атрибута.
value_size() -> int
Возвращает числовое значение, которое отражает сумму байт, задействованных при создании атрибута. Это значение может быть полезно для оптимизации производительности и управления памятью при работе с большими объёмами данных.
NullAttribute
NullAttribute()
Класс, который представляет нулевое значение. Этот класс может использоваться для инициализации атрибута без задания конкретного значения. Нулевое значение может быть полезно для установки атрибута в исходное состояние или для определения отсутствия значения в атрибуте.
Данные атрибутов
is_valid() -> boolean
Определяет валидность атрибута (имеет-ли атрибут какое-либо содержимое). Этот метод может быть полезен для проверки валидности атрибута перед его использованием в других функциях и методах. Если атрибут не является валидным, то его значение может быть неопределенным или содержать нулевое значение.
is_array() -> boolean
Определяет, является-ли содержимое атрибута массивом. Этот метод может быть полезен для проверки типа содержимого атрибута перед его использованием в других функциях и методах. Если содержимое атрибута является массивом, то его элементы могут быть доступны по индексу.
num_tuples() -> int
Возвращает количество значений типа tuple в выбранном атрибуте. Этот метод может быть полезен для определения количества значений в атрибуте перед его использованием в других функциях и методах.
tuple_size() -> int
Возвращает значение объема данных, содержащихся в каждом из tuple атрибута. Этот метод может быть полезен для определения размера каждого tuple в атрибуте перед его использованием в других функциях и методах. Возвращаемое значение является целым числом, представляющим размер данных в байтах.
Выборки
Sample
Объекты выборки являются упрощенным представлением атрибута в определенный момент времени. Такие объекты доступны в режиме "только для чтения" и не могут быть изменены. Они могут использоваться для получения информации о содержимом атрибута в определенный момент времени, например, для получения значений атрибута на определенном шаге времени в процессе выполнения программы.
closest_sample(float time) -> array
Возвращает не модифицированные значения атрибутов относительно указанного времени в виде списка значений. Метод принимает аргумент time, который представляет время, относительно которого нужно получить ближайшее значение атрибута.
samples() -> array
Возвращает выборку содержимого атрибутов, доступную в режиме "только для чтения". Этот метод может быть полезен для получения значений атрибутов в определенный момент времени или для обработки значений атрибутов внутри скрипта.
num_samples() -> int
Возвращает число значений временных выборок, на которых данные записаны в выбранный атрибут.
Group Attributes
get_attr(string name) -> Attribute
Возвращает дочерний атрибут с заданным именем. Если атрибут не найден, метод вернет значение Null. Этот метод может быть полезен для получения доступа к дочерним атрибутам и их значениям. В качестве аргумента метод принимает строку с именем дочернего атрибута.
GroupBuilder
Класс, предназначенный для создания GroupAttribute с помощью фабричного метода.
Значения атрибутов могут быть добавлены методом GroupBuilder: set().
Чтобы получить значения созданного GroupAttribute, используйте метод GroupBuilder: build().
Пользователь может получить значения GroupAttribute только методом GroupBuilder: build(). При этом, метод GroupBuilder: build() очищает содержимое GroupBuilder.
GroupBuilder
Этот класс предоставляет набор методов для построения группы элементов. Все методы, за исключением GroupBuilder:build(), ссылаются на самих себя для использования последовательностей методов. Это позволяет легко и быстро создавать сложные группы элементов с помощью цепочки вызовов методов.
set (string path, Attribute attr[, boolean groupInherit=true])
Устанавливает атрибут attr по указанному пути path в текущей группе. Аргумент groupInherit определяет, должны ли подгруппы наследовать этот атрибут.
Если значение groupInherit равно true (по умолчанию), то все подгруппы, созданные в будущем, будут автома тически наследовать этот атрибут. Если значение groupInherit равно false, то только текущая группа будет иметь этот атрибут, а все подгруппы будут создаваться без него.
have
Проверяет, содержится-ли данный атрибут на указанной локации.
reset
Очищает содержимое GroupBuilder.
build -> GroupAttribute
Возвращает параметры созданного GroupAttribute и содержимое GroupBuilder и возвращает его. Этот метод может быть вызван только один раз для каждого объекта GroupBuilder. После вызова метода build(), содержимое GroupBuilder будет очищено, и объект GroupBuilder будет готов к созданию новой группы атрибутов. Возвращаемый объект GroupAttribute будет содержать все атрибуты и значения, добавленные в GroupBuilder.
Вспом огательные классы
Array
Массив представляет собой упорядоченный список значений одного типа. Элементы массива хранятся в общем блоке памяти, который может расширяться при необходимости. Массивы позволяют создавать и изменять большие объемы данных атрибутов.
is_array() -> boolean
Определяет, является-ли содержимое атрибута массивом.
size() -> int
Возвращает количество элементов массива.
is_valid() -> boolean
Определяет валидность массива (имеет-ли атрибут какое-либо содержимое).
front() -> value
Возвращает первое значение массива.
back() -> value
Возвращает последнее значение массива.
Конвертация данных
to_vector() -> array
Возвращает значение атрибута, преобразованное в Array.
as_float() -> float
Возвращает значение атрибута, преобразованное в тип Float.
as_int() -> int
Возвращает значение атрибута, преобразованное в тип Int.
as_string() -> string
Возвращает значение атрибута, преобразованное в тип String.
as_double() -> double
Возвращает значение атрибута, преобразованное в тип Double.
as_group() -> group
Возвращает значение атрибута, преобразованное в GroupAttribute.