12
Руководство пользователя
×

7.9 Управление доступом к объектам

При работе с крупными проектами возникает необходимость скрыть различные вспомогательные объекты. Эти объекты, как правило, используются только для построений и не нужны при использовании данного проекта как агрегата другого проекта. Для сокрытия объектов в программном комплексе EULER используются фильтры агрегата.
Фильтр агрегата состоит из:
      списка закрытых и открытых типов объектов;
      списка открытых объектов;
      списка нефильтруемых объектов (в настоящей версии программного комплекса данная возможность доступна только в Текстовом редакторе).
Объект называется скрытым, если он имеет закрытый тип и не входит в списки открытых и нефильтруемых объектов. Если объект входит в список нефильтруемых объектов, то его нельзя скрыть ни на каком уровне агрегатирования: он будет открыт независимо от фильтрации родительских объектов.
В списки открытых и нефильтруемых объектов можно добавлять только объекты первого уровня, т.е. объекты корневого файла проекта.
Фильтры агрегатов используются для сокрытия объектов, созданных пользователем. Они не действуют непосредственно на системные объекты. Скрытость системного объекта определяется скрытостью пользовательского объекта, которому он принадлежит. Например, если шарнир имеет системный датчик, и этот шарнир скрыт от пользователя, то скрытым будет и датчик.
Фильтр агрегата может быть включен или выключен. Сделать это можно в окне Редактор объектов при создании агрегата или редактировании свойств уже созданного агрегата, или через объектное меню агрегата. Если агрегат открыт, то на его объекты действует только фильтр, определенный в этом агрегате (если он включен); фильтр родительского проекта влияет только на то, открыт или скрыт сам агрегат, но не на его объекты.
В файле описания проекта содержание фильтра агрегата записывается следующими операторами:
set privateType =ALL;                  //сокрытие всех типов объекта
set publicType = имя типа;           //открытие типа объекта
set publicObjects=(список объектов);            //открытые объекты
set nonfiltrableObjects = (список объектов); //нефильтруемые объекты
Если операторы privateType и publicType не используются, то все типы считаются открытыми (значение по умолчанию).