Objects interactions

С помощью Objects interactions можно устанавливать взаимодействия между объектами.
Возвращаемое значение: ничего не возвращает

Предназначение Objects interactions и описание возможных взаимодействий объектов

Objects interactions предназначен для настройки взаимодействия объектов между собой в системном меню Objects. Правильно настроенное взаимодействие позволяет удобно фильтровать и отображать объекты в системном меню Objects. Ниже описаны варианты взаимодействий между объектами.

Включение (группировка) объектов

Включение (inclusion) объектов означает, что объект включает в себя другие объекты и является для них группой. При нажатии на имени такого объекта появится список вложенных объектов. Если выбрать несколько объектов у которых нет настроенного взаимодействия между собой, при этом каждый их них включает в себя другие объекты и нажать на любой из выбранных объектов, появится список всех вложенных объектов во все группы.

Например, Parent object 1 содержит Object1, Object2, Object3, а Parent object 2 содержит Object2, Object3, Object4. Результатом взаимодействия Parent object 1 и Parent object 2 будет Object1, Object2, Object3, Object4

Пересечение объектов

Если объекты включают в себя вложенные объекты и для них настроено "пересечение" (intersection), то если выбрать пересекающиеся объекты нажать на любой из выбранных объектов, появится список, содержащий только пересекающиеся вложенные объекты.

Например, Parent object 1 содержит Object1, Object2, Object3, а Parent object 2 содержит Object2, Object3, Object4. Результатом взаимодействия с пересечением для Parent object 1 и Parent object 2 будет Object2, Object3.

Исключение объектов

Если объекты включают в себя вложенные объекты и для них настроено "исключение" (exclude), то если выбрать эти объекты и нажать на любой из выбранных объектов, появится список вложенных объектов за исключением пересекающихся.

Например, Parent object 1 содержит Object1, Object2, Object3, а Parent object 2 содержит Object2, Object3, Object4. Результатом взаимодействия с исключением для Parent object 1 и Parent object 2 будет Object1, Object4.

Описание полей ввода

Objects list

Настройки взаимодействий будут применяться к объектам, перечисленным в этом поле. Если в системном меню Objects выбрать объекты, а затем запустить Objects interactions, выбранные объекты появятся в поле Objects list. При необходимости можно добавить объекты в поле Objects list. Для этого нужно выбрать объекты в системном меню Objects и нажать на ADD SELECTED OBJECTS. Если нажать на крестик справа от объекта в поле Objects list, объект будет удален. Удалить все объекты из Objects list можно нажав на REMOVE ALL OBJECTS.

Objects interactions setting

Объекты из поля Objects list будут взаимодействовать с объектами из поля Objects interactions setting. При необходимости можно добавить объекты в поле Objects interactions setting. Для этого нужно выбрать объекты в системном меню Objects и нажать на ADD SELECTED OBJECTS TO INTERACTION TABLE. Если нажать на корзину слева от объекта в поле Objects interactions setting, объект будет удален. Для настройки взаимодействий между объектами нужно отметить соответствующие взаимодействия в таблице поля Objects interactions setting.

Настройка взаимодействия объектов
ВзаимодействиеОписание
IncludeОбъекты из Objects list будут включать объект из строки таблицы Objects interactions setting
Included InОбъект из строки таблицы Objects interactions setting будет включать объекты из Objects list
IntersectionБудут отображаться только общие объекты, включенные в Objects list и в объект из строки таблицы Objects interactions setting
ExclusionБудут отображаться не общие объекты, включенные в Objects list и в объект из строки таблицы Objects interactions setting
DifferentЕсли для объектов из Objects list застроены несовпадающие взаимодействия с объектом из строки Objects interactions setting, будет выбрано взаимодействие Different. После выполнения действия несовпадающие взаимодействия между объектами меняться не будут.

Примеры взаимодействий объектов и детальное описание

Алгоритм вычисления взаимодействий

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

  1. Если для группы объектов настроен одинаковый тип взаимодействия таким образом, что все эти объекты взаимодействуют "каждый с каждым", то создается группа из таких объектов и вычисляется требуемое взаимодействие для вложенных объектов всей этой группы.
  2. Если для группы объектов настроен одинаковый тип взаимодействия, но эти объекты не взаимодействуют "каждый с каждым", то вычисляется требуемое взаимодействие для каждой пары объектов, а потом полученные результаты объединяются.
  3. Если для объектов настроены разные типы взаимодействий, то вычисляются требуемые взаимодействия для каждой пары объектов, а потом полученные результаты объединяются.

Пример простого взаимодействия

Ниже приведен пример взаимодействия трех объектов Parent object 1, Parent object 2 и Parent object 3, для которых не настроено взаимодействие друг с другом. Результатом является объединение всех вложенных объектов.

Parent object 1Parent object 2Parent object 3
Object 1Object 3Object 4
Object 2Object 4Object 5
Object 3Object 5Object 6
Object 4Object 6Object 7
Object 5Object 8
Object 9
Result: Object1, Object2, Object3, Object4, Object5, Object6, Object7, Object8, Object9

Пример пересечения объектов

Ниже приведен пример взаимодействия трех объектов Parent object 1, Parent object 2 и Parent object 3, для которых настроено пересечение по типу "каждый с каждым". То есть для Parent object 1 настроено пересечение с Parent object 2, Parent object 2 настроено пересечение с Parent object 3 и Parent object 1 настроено пересечение с Parent object 3. Результатом является список пересекающихся вложенных объектов.

Parent object 1Parent object 2Parent object 3
Object 1Object 3Object 4
Object 2Object 4Object 5
Object 3Object 5Object 6
Object 4Object 6Object 7
Object 5Object 8
Object 9
Result: Object4, Object5

Пример исключения объектов

Ниже приведен пример взаимодействия трех объектов Parent object 1, Parent object 2 и Parent object 3, для которых настроено исключение по типу "каждый с каждым". То есть для Parent object 1 настроено исключение с Parent object 2, Parent object 2 настроено исключение с Parent object 3 и Parent object 1 настроено исключение с Parent object 3. Результатом является список не пересекающихся вложенных объектов.

Parent object 1Parent object 2Parent object 3
Object 1Object 3Object 4
Object 2Object 4Object 5
Object 3Object 5Object 6
Object 4Object 6Object 7
Object 5Object 8
Object 9
Result: Object1, Object2, Object3, Object6, Object7, Object8, Object9

Пример исключения и объединения объектов

Ниже приведен пример взаимодействия трех объектов Parent object 1, Parent object 2, Parent object 3, Parent object 4 и Parent object 5. Для Parent object 1, Parent object 2, Parent object 3 настроено исключение по типу "каждый с каждым". Для Parent object 4 и Parent object 5 настроено пересечение между собой. То есть для Parent object 1 настроено исключение с Parent object 2, Parent object 2 настроено исключение с Parent object 3 и Parent object 1 настроено исключение с Parent object 3, Parent object 4 настроено пересечение с Parent object 5 Результатом является объединение списка не пересекающихся вложенных объектов для Parent object 1, Parent object 2, Parent object 3 и списка пересекающихся объектов для Parent object 4 и Parent object 5

Parent object 1Parent object 2Parent object 3Parent object 4Parent object 5
Object 1Object 3Object 4Object 10Object 11
Object 2Object 4Object 5Object 11Object 12
Object 3Object 5Object 6Object 12Object 13
Object 4Object 6Object 7
Object 5Object 8
Object 9
Result: Object1, Object2, Object3, Object6, Object7, Object8, Object9, Object11, Object12