Поиск связанных элементов — различия между версиями

Материал из Integra-S Wiki
Перейти к: навигация, поиск
(Новая страница: «Строка поиска связанных элементов состоит из набора команд разделенных символом /. Меха…»)
 
Строка 3: Строка 3:
 
Механизм поиска связанных элементов по заданному элементу представляет собой конечный автомат, со следующими состояниями:
 
Механизм поиска связанных элементов по заданному элементу представляет собой конечный автомат, со следующими состояниями:
  
Устройство (Item) - принимает следующие команды:
+
# Устройство (Item) - принимает следующие команды:
Имя параметра - считать из параметра идентификатор (или список идентификаторов) устройств и перейти в них.
+
## Имя параметра - считать из параметра идентификатор (или список идентификаторов) устройств и перейти в них.
Имя разъема - перейти в указаный разъем.
+
## Имя разъема - перейти в указаный разъем.
Тип разъема - перейти в разъемы указанного типа.
+
## Тип разъема - перейти в разъемы указанного типа.
Тип связи - перейти в связи указанного типа.
+
## Тип связи - перейти в связи указанного типа.
Тип устройства - остаться в текущем устройстве, если его тип совместим с указанным, иначе остановить поиск.
+
## Тип устройства - остаться в текущем устройстве, если его тип совместим с указанным, иначе остановить поиск.
Связь (Link) - принимает следующие команды:
+
# Связь (Link) - принимает следующие команды:
Имя параметра - считать из параметра идентификатор (или список идентификаторов) устройств и перейти в них.
+
##Имя параметра - считать из параметра идентификатор (или список идентификаторов) устройств и перейти в них.
Тип разъема - перейти в разъемы указанного типа.
+
## Тип разъема - перейти в разъемы указанного типа.
Тип устройства - перейти в устройство указанного типа соединенного с любым концом данной связи.
+
## Тип устройства - перейти в устройство указанного типа соединенного с любым концом данной связи.
Тип связи - остаться в текущей связи, если ее тип совместим с указанным, иначе остановить поиск.
+
## Тип связи - остаться в текущей связи, если ее тип совместим с указанным, иначе остановить поиск.
Разъем (Pin) - принимает следующие команды:
+
# Разъем (Pin) - принимает следующие команды:
Тип устройства - перейти в устройства указанного типа подключенные к текущему разъему на другой стороне.
+
## Тип устройства - перейти в устройства указанного типа подключенные к текущему разъему на другой стороне.
Событие (Event) - принимает следующие команды:
+
## Событие (Event) - принимает следующие команды:
Имя параметра - считать из параметра идентификатор (или список идентификаторов) устройств и перейти в них.
+
## Имя параметра - считать из параметра идентификатор (или список идентификаторов) устройств и перейти в них.
 
Типом данных для поиска связанных элементов является список строк. Каждая строка из списка является командой для текущего состояния. Если по команде ничего не найдено, поиск по этой ветке останавливается.
 
Типом данных для поиска связанных элементов является список строк. Каждая строка из списка является командой для текущего состояния. Если по команде ничего не найдено, поиск по этой ветке останавливается.
  

Версия 16:02, 20 сентября 2021

Строка поиска связанных элементов состоит из набора команд разделенных символом /.

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

  1. Устройство (Item) - принимает следующие команды:
    1. Имя параметра - считать из параметра идентификатор (или список идентификаторов) устройств и перейти в них.
    2. Имя разъема - перейти в указаный разъем.
    3. Тип разъема - перейти в разъемы указанного типа.
    4. Тип связи - перейти в связи указанного типа.
    5. Тип устройства - остаться в текущем устройстве, если его тип совместим с указанным, иначе остановить поиск.
  2. Связь (Link) - принимает следующие команды:
    1. Имя параметра - считать из параметра идентификатор (или список идентификаторов) устройств и перейти в них.
    2. Тип разъема - перейти в разъемы указанного типа.
    3. Тип устройства - перейти в устройство указанного типа соединенного с любым концом данной связи.
    4. Тип связи - остаться в текущей связи, если ее тип совместим с указанным, иначе остановить поиск.
  3. Разъем (Pin) - принимает следующие команды:
    1. Тип устройства - перейти в устройства указанного типа подключенные к текущему разъему на другой стороне.
    2. Событие (Event) - принимает следующие команды:
    3. Имя параметра - считать из параметра идентификатор (или список идентификаторов) устройств и перейти в них.

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

В дополнение к описанному первым элементом этого списка строк можно указать:

  • - выбрать все устройства в графе.

Идентификатор устройства - выбрать устройство по данному идентификатору или несколько устройств по идентификаторам разделенным символом |. Имя устройства - возможен так же поиск устройства по имени, однако имя устройства в таком случае должно содержать либо пробел, либо дефис, как в идентификаторе. Так же следует помнить о том, что имя устройства не обязательно уникально, и в случае наличия дубликатов будет найден первый попавшийся. Так же каждая команда в свою очередь может состоять из нескольких вариантов разделенных символом |.

Редактировать эту секцию Примеры использования Найти все видеокамеры: "*/VideoCamera" Найти видеокамеру по идентификатору: "2c5a5d58-5d04-4325-81c6-830a0661bb41/VideoCamera" Найти видеокамеру по имени: "Какая-то видеокамера/VideoCamera" Найти все камеры, соединенные любым способом с двумя пространствами с указанными идентификаторами: "1b63a2bd-733d-4788-9fb1-c987335eafcf|f62fe1da-a563-4c90-b13c-3d9eb95a5573/Space/Pin/VideoCamera" Найти все видеокамеры подключенные к разъему logicOutput текущего устройства: "logicOutput/VideoCamera" Найти все видеокамеры находящиеся с текущим устройством в одном помещении: "Pin/Space/Pin/VideoCamera" Найти все видеокамеры соединенные любым способом с зоной, идентификатор которой содержится в параметре owner текущего события: "owner/Zone/Pin/VideoCamera" Найти все видеокамеры соединенные любым способом с зонами, идентификаторы которых содержатся в параметре trace_zones текущего подвижного объекта: "trace_zones/Zone/Pin/VideoCamera" Найти все сирены LowCurrentSirenMeta находящиеся с заданным элементом либо в одной зоне либо в одном пространстве: "Link/Space|Zone/Link/LowCurrentSirenMeta"