ГОСТ Р ИСО 10303-21—2022
D: объект перечисления, являющийся подтипом объектов branch_one и branch_two. При внесении в структу
ру обмена список его параметров должен содержать унаследованные атрибуты branch_one, включающие в себя
атрибуты основного объекта, следующие за унаследованными атрибутами объекта branch_two. Атрибуты основно
го объекта должны быть описаны однократно при описании атрибутов branch_one. Они должны быть проигнориро
ваны при конфликте с атрибутами объекта branch_two.
12.2.5.3 Внешнее отображение
Если используется внешнее отображение, экземпляр объекта должен быть отображен в
COMPLEX_ENTITY_INSTANCE (см. таблицу 3).
ИСО 10303-11 определяет "частное значение сложного объекта" (partial complex entity value) как
множество значений атрибутов, описанных единственным EXPRESS-объявлением объекта. Каждое
имя типа данных объекта в элементе определяемого множества обозначает частное значение сложно го
объекта для данного экземпляра объекта. Таким образом, элемент определяемого множества обо
значает множество частных значений сложного объекта, что, вместе с именем экземпляра объекта,
полностью описывает заданный экземпляр объекта.
Каждое частное значение сложного объекта, обозначаемое именем типа данных объекта в эле
менте определяемого множества, должно быть отображено в SIMPLE_RECORD (единичная запись)
внутри SUBSUPER_RECORD. Порядок SIMPLE_RECORD внутри SUBSUPER.RECORD должен быть
возрастающей последовательностью имен типов данных объекта с использованием схемы упорядоче
ния, приведенной в 5.2.
Каждая SIMPLE_RECORD должна кодировать одно частное значение сложного объекта.
KEYWORD в каждой SIMPLE_RECORD должно кодировать соответствующее имя типа данных объек та,
как определено в 12.2.11, a PARAMETER LIST должен кодировать значения явных атрибутов, если
таковые появляются в соответствующем объявлении объекта. Порядок PARAMETER в структуре обме
на должен быть тем же, что и порядок соответствующих атрибутов в EXPRESS-объявлении объекта.
Если EXPRESS-объявление объекта не содержит явных атрибутов, то PARAMETERJJST должен быть
пустым. Форма каждого PARAMETER должна зависеть от типа данных соответствующего атрибута со
гласно требованиям 12.1.
Примечания
1 Последовательность частных значений объекта (SIMPLE_RECORD) определяется именем типа данных
объекта (так называемым "длинным именем"), а не "сокращенным именем" (если таковое есть), которое может
использоваться для кодирования.
2 Каждое частное значение объекта в определяемом множестве должно быть представлено, включая супер
типы, не имеющие явных атрибутов.
Примеры
1 Отображение подтипов, связанных посредством ANDOR.
ENTITY аа SUPERTYPE OF (bb ANDOR сс); ~> А
attrib_a : STRING;
END_ENTITY;
ENTITY bb SUBTYPE OF (aa);----------------------> В
attrib_b : INTEGER;
END_ENTITY;
ENTITY cc SUBTYPE OF (aa); ---------------------> C
attrib_c : REAL;
END_ENTITY;
ENTITY dd ; ---------------------------------------------- > D
attrib_d : aa;
END_ENTITY;
Образец экземпляра объекта в секции данных:
#1 = BB(’sample string’, 15); ------------------------>А
#2 = CC(’S’, 3.0); ----------------------------------------> В
#3 = (AA(’ASTRID’)BB(17)СС(4.0)); ---------------> С
#4 = DD(#1); --------------------------------------------- > D
#5 = DD(#2); --------------------------------------------- > D
48