Skip to main content

Атрибуты (Lua)

Attribute()

Абстрактный базовый класс всех атрибутов.

attribute_type() -> int

Возвращает код типа данных атрибута. Может использоваться для того, чтобы проверить, содержат ли атрибуты данные одного типа.

КодСвязанный тип данных
0Null
1Float
2Integer
3String
4Double
5GroupAttribute

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().

warning

Пользователь может получить значения 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.