ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ТЕХНИЧЕСКОМУ РЕГУЛИРОВАНИЮ И МЕТРОЛОГИИ
ПРЕДВАРИТЕЛЬНЫЙ НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
пнет
798—
2022
(ИСО 10303-46:2019)
Умное производство. Системы автоматизации производства и их интеграция
ПРЕДСТАВЛЕНИЕ ДАННЫХ ОБ ИЗДЕЛИИ И ОБМЕН ЭТИМИ ДАННЫМИ
Часть 46
Интегрированные обобщенные ресурсы. Визуальное представление
(ISO 10303-46:2019, Industrial automation systems and integration — Product data representation and exchange — Part 46: Integrated generic resource: Visual presentation, MOD)
Издание официальное
Москва Российский институт стандартизации 2022
Предисловие
1 ПОДГОТОВЛЕН Федеральным государственным бюджетным учреждением «Российский институт стандартизации» (ФГБУ «Институт стандартизации») и Некоммерческим партнерством «Русское общество содействия развитию биометрических технологий, систем и коммуникаций» (Некоммерческое партнерство «Русское биометрическое общество») на основе собственного перевода на русский язык англоязычной версии стандарта, указанного в пункте 4
2 ВНЕСЕН Техническим комитетом по стандартизации ТК 194 «Кибер-физические системы»
3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 17 ноября 2022 г. № 117-пнст
4 Настоящий стандарт является модифицированным по отношению к международному стандарту ИСО 10303-46:2019 «Системы автоматизации производства и интеграция. Представление данных об изделии и обмен этими данными. Часть 46. Интегрированные обобщенные ресурсы. Визуальное представление» (ISO 10303-46:2019 «Industrial automation systems and integration — Product data representation and exchange — Part 46: Integrated generic resource: Visual presentation», MOD) путем изменения отдельных фраз (слов, значений показателей, ссылок), которые выделены в тексте курсивом. Внесение указанных технических отклонений направлено на учет потребностей национальной экономики Российской Федерации.
Сведения о соответствии ссылочных национальных стандартов международным стандартам, использованным в качестве ссылочных в примененном международном стандарте, приведены в дополнительном приложении ДА.
Сопоставление структуры настоящего стандарта со структурой указанного международного стандарта приведено в дополнительном приложении ДБ
5 Некоторые элементы настоящего стандарта могут быть объектами патентных прав. Федеральное агентство по техническому регулированию и метрологии не несет ответственности за установление подлинности каких-либо или всех таких патентных прав
Правила применения настоящего стандарта и проведения его мониторинга установлены в ГОСТР 1.16—2011 (разделы 5 и 6).
Федеральное агентство по техническому регулированию и метрологии собирает сведения о практическом применении настоящего стандарта. Данные сведения, а также замечания и предложения по содержанию стандарта можно направить не позднее чем за 4 мес до истечения срока его действия разработчику настоящего стандарта по адресу: 121205 Москва, Инновационный центр Сколково, улица Нобеля, д. 1, e-mail: info@tc194.ru и/или в Федеральное агентство по техническому регулированию и метрологии: 123112 Москва, Пресненская набережная, д. 10, стр. 2.
В случае отмены настоящего стандарта соответствующая информация будет опубликована в ежемесячном информационном указателе «Национальные стандарты» и также будет размещена на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.rst.gov.ru)
© ISO, 2019 © Оформление. ФГБУ «Институт стандартизации», 2022
Настоящий стандарт не может быть полностью или частично воспроизведен, тиражирован и распространен в качестве официального издания без разрешения Федерального агентства по техническому регулированию и метрологии
Содержание
1 Область применения
2 Нормативные ссылки
3 Термины, определения и сокращения
3.1 Термины и определения
3.2 Сокращения
4 Схема структуры представления
4.1 Общие положения
4.2 Фундаментальные понятия и допущения
4.3 Определения типов схемы presentation_organization_schema
4.4 Определения объектов схемы presentation_organization_schema
4.5 Определение ограничений подтипа схемы presentation_organization_schema
4.6 Определения функций схемы presentation_organization_schema
4.7 Определение правила схемы presentation_organization_schema
5 Схема описания представления
5.1 Общие положения
5.2 Фундаментальные понятия и допущения
5.3 Определения типов схемы presentation_definition_schema
5.4 Определение объектов схемы presentation_definition_schema
5.5 Определения ограничений подтипов схемы presentation_definition_schema
5.6 Определения функций схемы presentation_definition_schema
6 Схема вида представления
6.1 Общие положения
6.2 Фундаментальные понятия и допущения
6.3 Определение типов схемы presentation_appearance_schema
6.4 Определение объектов схемы presentation_appearance_schema
6.5 Определения ограничений подтипов схемы presentation_appearance_schema
6.6 Определение функций схемы presentation_appearance_schema
7 Схема ресурсов представления
7.1 Введение
7.2 Фундаментальные понятия и допущения
7.3 Определения типов схемы presentation_resource_schema
7.4 Определения объектов схемы presentation_resource_schema
7.5 Определения ограничений подтипов схемы presentation_resource_schema
Приложение А (обязательное) Сокращенные наименования объектов
Приложение В (обязательное) Регистрация информационного объекта
Приложение С (справочное) Машинно-интерпретируемые листинги
Приложение D (справочное) Express-G диаграммы
Приложение Е (справочное) Технические вопросы
Приложение ДА (справочное) Сведения о соответствии ссылочных национальных стандартов международным стандартам, использованным в качестве ссылочных в примененном международном стандарте.............................................................137
Приложение ДБ (справочное) Сопоставление структуры настоящего стандарта со структурой примененного в нем международного стандарта.................138
Введение
Стандарты серии ГОСТ Р ИСО 10303 распространяются на машинно-ориентированное представление данных об изделии и обмен этими данными. Целью является создание механизма, позволяющего описывать данные об изделии на протяжении всего его жизненного цикла независимо от конкретной системы. Характер такого описания делает его пригодным не только для обмена инвариантными файлами, но также и для создания баз данных об изделиях, коллективного пользования этими базами и архивирования соответствующих данных.
Основными разделами настоящего стандарта являются:
- структура представления;
- описание представления;
- вид представления;
- ресурсы представления.
Настоящий стандарт определяет интегрированные ресурсы для визуализации свойств изделий, воспроизводимых на экране.
Информация, задаваемая в четырех схемах, определенных в настоящем стандарте, достаточна для подробного описания правил и порядка визуального представления информации об изделии в принимающей системе. Информацию о представлении, описанную в настоящем стандарте, следует использовать только вместе с подлежащей визуализации информацией об изделии. Информация о представлении не может быть отображена на экране без связи с соответствующей информацией об изделии.
Схема структуры представления (presentation_organization_schema) описывает иерархию и частичную рекурсию структуры наборов, областей и видов представлений, при помощи которых информацию об изделии отображают на экране. Данная схема уточняет, как компоненты изображения информации об изделии и пояснения к ним компонуют в отображаемые объекты и располагают в контексте представлений. Схема также определяет процесс построения геометрических проекций посредством модели камеры и требования к моделям распространения света и затенения.
Схема описания представления (presentation_definition_schema) служит для определения, как отдельные геометрические и негеометрические компоненты информации об изделии должны быть выбраны, скомпонованы в группы представлений и связаны со стилями представлений.
Схема вида представления (presentation_appearance_schema) определяет видовые атрибуты, которые могут быть выбраны для описания желаемого визуального вида отображаемых элементов информации об изделии посредством перечисления доступных стилей графического представления.
Схема ресурсов представления (presentation_resource_schema) определяет основные графические возможности, например описание текстовых шрифтов, символов и цветов.
Характеристики визуального представления, описанные в настоящем стандарте, часто связаны с другими стандартами по обобщенным ресурсам, особенно в части геометрических и топологических представлений (ГОСТ Р ИСО 10303-42). Порядок совместного использования этих стандартов определяют в прикладных протоколах. Приложения, в которых используют обобщенные ресурсы из настоящего стандарта, должны определять информацию об изделии, подлежащую визуальному представлению, и семантический смысл такого представления. Подобными приложениями, например, являются: изображаемые виды формы изделия, визуализация научных результатов, технические чертежи, схемы, диаграммы и графики для научно-технических изданий.
Интегрированные ресурсы, описанные в настоящем стандарте, обеспечивают визуальное представление свойств изделий. Для создания визуальных изображений с использованием данных, определяемых этими ресурсами, необходимо применение соответствующей системы отображения. В настоящем стандарте определены входные данные для таких систем, а также необходимые структуры и конструкции, связывающие данные о представлении с другими аспектами данных об изделии.
Большинство существующих систем отображения соответствует стандартам ИСО по машинной графике, например GKS-3D [1] и PHIGS/PHIGS PLUS [2]. В настоящем стандарте учтены основные положения и терминология указанных международных стандартов [1] и [2], а также предусмотрены возможности использования других стандартов по машинной графике.
Взаимосвязь схем, определенных в настоящем стандарте, со схемами интегрированных ресурсов, определенных в других стандартах серии ГОСТ Р ИСО 10303, показана на рисунке 1 с использованием нотации EXPRESS-G. Язык EXPRESS-G определен в ГОСТ Р ИСО 10303-11.
Схемы на рисунке 1 являются компонентами интегрированных ресурсов.
Г'
annotation_occurence
symbol_representation
symbol_representation_relationship
presentation_organization_schema
annotation_representation_select
______Q_______________I_______ presentation_definition_schema
area_dependent_annotation_representation presentation_area
presentation_layer_assignment presentation_layer_usage presentation_representation presentation_set
presentation_view
product_data_representation_view
view_dependent_annotation_representation
|styled_item
annotation_curve_occurence annotation_fill_area annotationsymboloccurence annotation_text_with_delineation sy m bol_representation_with_bla n ki ng_bjx
item
character_glyph_symbol planarbox planar_extent
fontselect
text font
character_glyph_symbol_outline character_glyph_symbol_stroke colour
A i A I
presentation_appearance_schema
annotation_fill_area
symbol_representation
presentation_resource_schema
colour
planar_box
planar_extent
presentation_scale_placement
Рисунок 1 — Взаимосвязь схем, определенных в настоящем стандарте, со схемами интегрированных ресурсов, определенных в других стандартах серии ГОСТ Р ИСО 10303
ПНСТ 798—2022 (ИСО 10303-46:2019)
ПРЕДВАРИТЕЛЬНЫЙ НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
Умное производство. Системы автоматизации производства и их интеграция
ПРЕДСТАВЛЕНИЕ ДАННЫХ ОБ ИЗДЕЛИИ И ОБМЕН ЭТИМИ ДАННЫМИ
Часть 46
Интегрированные обобщенные ресурсы. Визуальное представление
Smart manufacturing. Industrial automation systems and integration. Product data representation and exchange. Part 46. Integrated generic resources. Visual presentation
Срок действия — с 2023—01—01 до 2026—01—01
1 Область применения
Настоящий стандарт определяет структуру интегрированных обобщенных ресурсов для визуального представления. Данные о представлении, соответствующие настоящему стандарту, объединяются с данными об изделии, и между системами проводится обмен объединенными данными для создания изображений информации об изделии, подходящих для восприятия человеком.
Настоящий стандарт определяет обобщенные ресурсы, необходимые для описания требуемых видов визуальной информации об изделии, подлежащей представлению в качестве изображений. Вопросы практического создания конкретного изображения на основе информации об изделии и связанных с ней данных о представлении оставлены на усмотрение соответствующей принимающей системы. Фактический вид изображения может отличаться от заданного вследствие ограничений функциональных возможностей графических систем.
Информация об изделии может быть визуализирована двумя методами: либо посредством создания реалистичных изображений согласно правилам проекционной геометрии, распространения и отражения света, либо в символическом виде согласно стандартам и условным обозначениям, принятым для черчения. Настоящий стандарт поддерживает оба типа представлений. Оба типа процесса визуализации требуют графические преобразования различных видов и могут быть использованы для одного и того же изображения.
Настоящий стандарт устанавливает:
- связи между данными об изделии, определенными в других стандартах серии ГОСТ Р ИСО 10303, и данными о представлении;
- методы обеспечения графических функциональных возможностей в соответствии с действующими графическими стандартами;
- определения атрибутов стилей представления для реалистичных и символических отображений геометрических и негеометрических элементов изображения информации об изделии;
- пределы допустимых отклонений (допусков) для элементов графических представлений;
- методы определения внешнего вида знаков и символов в шрифтах;
- методы поддержки знаков и символов шрифтов, определенных внешне;
- контроль изображения посредством уровневого механизма;
- правила вложенности областей представлений;
- связи между внешним изображением и мозаичной геометрией;
- связи между цветовой информацией и вершинами мозаичной геометрии.
Настоящий стандарт не устанавливает:
- описание информации об изделии;
- правила обмена исключительно графической информацией вне связи с информацией об изделии;
- описание содержания библиотек шрифтов и символов.
Издание официальное
2 Нормативные ссылки
В настоящем стандарте использованы нормативные ссылки на следующие стандарты:
ГОСТ Р ИСО/МЭК 8824-1—2001 Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 1. Спецификация основной нотации
ГОСТ Р ИСО 10303-1—99 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 1. Общие представления и основополагающие принципы
ГОСТ Р ИСО 10303-11—2009 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 11. Методы описания. Справочное руководство по языку EXPRESS
ГОСТ Р ИСО 10303-41—99 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 41. Интегрированные обобщенные ресурсы. Основы описания и поддержки изделий
ГОСТ Р ИСО 10303-43—2016 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 43. Интегрированные обобщенные ресурсы. Структуры представлений
ПНСТ 797 (ИСО 10303-42:2019) Умное производство. Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 42. Интегрированные обобщенные ресурсы. Геометрическое и топологическое представление
Примечание — При пользовании настоящим стандартом целесообразно проверить действие ссылочных стандартов в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю «Национальные стандарты», который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя «Национальные стандарты» за текущий год. Если заменен ссылочный стандарт, на который дана недатированная ссылка, то рекомендуется использовать действующую версию этого стандарта с учетом всех внесенных в данную версию изменений. Если заменен ссылочный стандарт, на который дана датированная ссылка, то рекомендуется использовать версию этого стандарта с указанным выше годом утверждения (принятия). Если после утверждения настоящего стандарта в ссылочный стандарт, на который дана датированная ссылка, внесено изменение, затрагивающее положение, на которое дана ссылка, то это положение рекомендуется применять без учета данного изменения. Если ссылочный стандарт отменен без замены, то положение, в котором дана ссылка на него, рекомендуется применять в части, не затрагивающей эту ссылку.
3 Термины, определения и сокращения
3.1 Термины и определения
3.1.1 Термины, определенные в ГОСТ Р ИСО 10303-1
В настоящем стандарте использованы следующие термины по ГОСТ Р ИСО 10303-1:
- интегрированный ресурс;
- приложение;
- данные;
- обмен данными;
- обобщенный ресурс;
- информация;
- представление;
- изделие;
- данные об изделии;
- информация об изделии;
- структура.
3.1.2 Термины, определенные в настоящем стандарте
В настоящем стандарте использованы следующие термины с соответствующими определениями:
3.1.2.1 аннотация (annotation): Текст и (или) символика, используемые при обмене информацией об изделии.
3.1.2.2 отображаемая информация об изделии (displayable product information): Факты, положения или инструкции по изделию, отображаемые посредством процесса визуализации.
Пример — Отображаемой информацией об изделии являются его свойства, например форма, размеры, допуски и материалы.
3.1.2.3 уровень (layer): Набор отображаемых элементов, предназначенных для управления стилем отображения и представления.
3.1.2.4 изображение (picture): Двумерное графическое представление свойств изделия, предназначенное для восприятия человеком.
3.1.2.5 информация о представлении (presentation information): Информация, предназначенная для создания представления об изделии посредством визуализации.
Примечание — Информация о представлении имеет смысловое значение только в связке с информацией об изделии.
3.1.2.6 реалистичное представление свойств (realistic presentation of properties): Тип визуализации, в котором для создания правдоподобных образов изделия применяются физические законы и математические принципы.
Примечание — Реалистичные представления создают путем применения преобразований перспективы, вычислений отражений, теневых эффектов и цветового оформления.
3.1.2.7 статическая переменная (state variable): Переменная, представляемая в количественном виде.
Пример — Температура.
3.1.2.8 символ (symbol): Метка или знаки, трактуемые как условное обозначение некоторого предмета, идеи, функции или процесса.
3.1.2.9 символическое представление свойств (symbolic presentation of properties): Тип визуализации, в котором для создания аннотации применяются технический опыт и соответствующие принципы.
3.1.2.10 искусственная модель камеры (synthetic camera model): Модель, описывающая процесс отображения формы изделия в двумерном пространстве.
Примечание — В искусственной модели камеры используют теоретический процесс, описывающий работу фотокамеры.
3.1.2.11 визуализация (visualization): Процесс использования отображаемой информации об изделии и информации о представлении для создания изображения.
3.2 Сокращения
В настоящем стандарте использованы следующие сокращения:
CIE — Международная комиссия по цветопередаче (Comission Internationale de I'Eclairage). Используют для ссылок на универсальную систему CIE для определения цвета;
HLS — цветовое пространство цвет — яркость — насыщенность (Hue, Lightness, Saturation color space);
HSV — цветовое пространство цвет — насыщенность — значение (Hue, Saturation, Value color space);
RGB — цветовое пространство красный — зеленый — синий (Red, Green, Blue color space);
ИСО — Международная организация по стандартизации (International Organization for Standardization, ISO).
4 Схема структуры представления
4.1 Общие положения
Схема структуры представления representation_organization_schema представляет структуру для управления изображением и его компонентами. Схема также определяет отношение между свойствами изделия и их представлением на изображении. Компоненты изображения могут относиться друг к другу либо как два связанных компонента, являющихся в остальном независимыми, либо один из компонентов является элементом определения другого компонента. Указанные соотношения позволяют создавать сложные структуры изображений и их компонентов.
Компоненты изображения могут быть организованы в соответствии с иерархией, построенной на наборах представлений, областях представлений, представлениях аннотаций, связанных с областями представления, видах представлений, представлениях аннотаций, связанных с видами представления, и видами представлений данных об изделии. Данная иерархия состоит из следующих четырех уровней.
Уровень 1 — набор представлений (presentation set) множества независимых изображений, относящихся к одному и тому же субъекту. Примерами наборов представлений являются комплект чертежей или коллекция изображений для нескольких экранов. Набор образует одну или несколько областей представления.
Уровень 2 — область представления (presentation area), являющаяся обобщенным описанием дисплея, на экране которого представляется одна из возможных областей. Область представления может содержать любое число вложенных областей представлений, видов представлений и представлений аннотаций, связанных с областями представления.
Уровень 3 — вид представления (presentation view), являющийся двумерным представлением формы изделия, в которое входит любая аннотация, связанная с видом представления. Вид представления может содержать любое количество видов представления данных об изделии и представлений аннотаций, связанных с видами представления.
Уровень 4:
- вид представления данных об изделии (product data representation view), являющийся двумерным представлением формы изделия, включающим в себя любые аннотации, связанные с формой изделия;
- представление аннотации, связанной с видом представления (view-dependent annotation representation).
Иерархия представления может состоять из более чем четырех уровней. Отдельная область представления может быть образована из нескольких областей представления. Иерархия представления может состоять из менее чем четырех уровней, если отдельные компоненты иерархии не требуются.
На рисунках 2 и 3 показаны взаимосвязи между уровнями иерархии представления.
Набор представлений
Область представления
Вид представления
Представление аннотации, связанной с областью представления
Вид представления данных об изделии
Представление аннотации,связанной с видом представления
Рисунок 2 — Иерархия представления
В настоящем разделе определены требования к информации, которым должны соответствовать реализации, с использованием языка EXPRESS в соответствии с ГОСТ Р ИСО 10303-11. Следующее описание на языке EXPRESS открывает presentation_organization_schema и определяет необходимые внешние ссылки.
Сокращенные наименования объектов в схеме указаны в приложении А. Однозначное обозначение схемы определено в приложении В.
presentation_set
Рисунок 3 — Пример иерархии представления
EXPRESS-спецификация
SCHEMA presentation_organization_schema;
REFERENCE FROM geometry_schema -- ПНСТ 797
(axis2_placement,
axis2_placement_2d,
axis2_placement_3d,
cartesian_point,
curve,
direction,
dot_product,
geometric_representation_context,
geometric_representation_item,
placement, plane);
REFERENCE FROM measure_schema (length_measure, positive_ratio_measure, positive_plane_angle_measure);
- ГОСТ P ИСО 10303-41
REFERENCE FROM presentation_appearance_schema -- настоящий стандарт
(styledjtem);
REFERENCE FROM presentation_definition_schema (annotation_occurrence, symbol_representation, symbol_representation_relationship);
REFERENCE FROM presentation_resource_schema (colour, planar_box, planar_extent, presentation_scaled_placement);
-- настоящий стандарт
- настоящий стандарт
REFERENCE FROM representation_schema (foundedjtem, item_defined_trarisformation, item_in_context, mappedjtem, representation, representationjtem, representation_map, representation_relationship, representation_relationship_with_transformation, using_representations);
- ГОСТ P ИСО 10303-43
REFERENCE FROM support_resource_schema (bag_to_set, identifier, label, text);
- ГОСТ P ИСО 10303-41
Примечания
1 Схемы, на которые выше даны ссылки, можно найти в следующих стандартах:
geometry_schema measure_schema presentation_appearance_schema presentation_definition_schema presentation_resource_schema representation_schema support_resource_schema
2 Графическое представление определяемой схемы приведено в приложении D.
ПНСТ 797;
ГОСТ P ИСО 10303-41;
раздел 6 настоящего стандарта;
раздел 5 настоящего стандарта;
раздел 7 настоящего стандарта;
ГОСТ Р ИСО 10303-43;
ГОСТ Р ИСО 10303-41,
4.2 Фундаментальные понятия и допущения
4.2.1 Иерархия представления
В иерархии представления только область представления содержит информацию, достаточную для однозначной генерации изображения на устройствах отображения, например экране дисплея, принтере или плоттере.
Другие элементы иерархии не содержат информации, необходимой для размещения изображения на соответствующем устройстве отображения. Виды представления или компоненты более низких уровней иерархии могут быть отображены только при условии их прямой или косвенной взаимосвязи с областью представления.
Схема presentation_organization_schema описывает иерархию представления посредством различных элементов иерархии и соотношений между ними.
Примечание — Концепции представлений и соотношения между ними определены в ГОСТ Р ИСО 10303-43.
Каждый элемент иерархии представления должен быть описан посредством объекта presentation_representation с использованием подтипа representation. Подтипы объекта presentation-representation описывают различные элементы иерархии.
Примечание — Объект representation определен в ГОСТ Р ИСО 10303-43.
Содержание каждого элемента иерархии представления должно быть описано посредством объекта geometric_representation_context, ограниченного двумерным пространством.
Примечание — Объект geometric_representation_context определен в ПНСТ 797.
Содержание каждого элемента иерархии представления должно быть описано посредством набора атрибутов items каждого объекта presentation_representation. Конкретные items определяют двумерную геометрию или аннотацию, связанную с данным элементом, или отражают результаты включения других элементов в данный.
Некоторые элементы иерархии могут быть ограничены по содержанию или по соотношениям с другими элементами. Семантики конкретных элементов должны быть связаны с этими ограничениями; например, объект product_data_representation_view описывает элемент иерархии, отражающий результаты использования трехмерной геометрии или соответствующей аннотации.
Наивысший уровень иерархии представления должен быть отображен объектами presentation-set, presentation_area и area_in_set. Объект area_in_set поддерживает связи «многие-ко-многим» между наборами представлений и областями представлений.
Соотношения других элементов иерархии представления следует определять посредством либо объекта presentation_representation_relationship, либо объектов mapped_item и representation_map.
Примечание — Объекты mappedjtem и representation_map определены в ГОСТ Р ИСО 10303-43.
Связь между двумя независимыми элементами иерархии следует определять посредством объекта presentation_representation_relationship. Указанный объект определяет отношение между двумя экземплярами объекта presentation_representation, при этом один из экземпляров объекта является родителем, а другой — потомком. В данное отношение должно быть включено описание соответствующего преобразования, отражающего геометрическую связь между атрибутами items объекта-родителя presentation_representation и атрибутами items объекта-потомка presentation_representation.
Пример—Для определения иерархии, содержащей один экземпляр объекта presentation_area, два экземпляра объекта presentation_view и один экземпляр объекта area_dependent_annotation_representation, необходимы три экземпляра объекта presentation_representation_relationship (см. рисунок 4).
Связь между двумя элементами иерархии, один из которых входит в определение другого, следует описывать с использованием объектов mapped_item и representation_map.
При использовании объекта mappedjtem экземпляр указанного объекта указывается в качестве одного из атрибутов items конкретного объекта presentation_representation, содержащего второй объект. На второй объект presentation_representation ссылаются посредством атрибута mappedrepresentation объекта representation_map, который определен в качестве атрибута mapping_source объекта mappedjtem. Преобразование, описывающее геометрическую связь между атрибутами items двух объектов presentation_representation, следует определять посредством атрибута mappingtarget объекта mappedjtem и атрибута mapping_origin объекта representation_map.
Пример — Для включения объекта presentation_yiew в объект presentation_area необходимы: один экземпляр объекта mappedjtem, один экземпляр объекта representation_map и два экземпляра объекта axis2_placement_2d (см. рисунок 5).
Примечание — Объект axis2_placement_2d определен в ПНСТ 797.
Рисунок 4 — Иерархия представления в виде экземпляров объектов
other items
Рисунок 5 — Связь между объектом presentation_view и объектом presentation_area с использованием объекта mapped_item
4.2.2 Модель камеры и проекции
Каждый уровень иерархии представления содержит только двумерный объект или аннотацию. Ориентация по умолчанию такова, что первая координата, определяющая положительную ось х, направлена вправо, а вторая координата, определяющая положительную ось у, направлена вверх. Дополнительно должна быть определена искусственная модель трехмерной камеры для установления связи представления с трехмерной формой изделия или плоскостной аннотацией в трехмерном пространстве. Данная модель должна определять правила проектирования трехмерных геометрических объектов и аннотации в двумерном пространстве для системы отображения. Искусственная модель трехмерной камеры должна быть определена в соответствии с требованиями стандартов трехмерной 8
машинной графики GKS-3D и PHIGS. Более подробные сведения об искусственной модели камеры представлены в [2], [3], [4], [5]. Для обеспечения требований к черчению также должна быть описана модель двумерной камеры. Модель двумерной камеры должна обеспечивать масштабирование и перевод формы изделия в двумерное пространство.
Объект product_data_representation_view является только компонентом иерархии представления, который может содержать двумерные проекции, связанные с трехмерной формой изделия, или аннотации в трехмерном пространстве. Так как настоящий стандарт не определяет спроектированное изображение, но устанавливает всю информацию, необходимую для вычисления проекции, в содержание объекта product_data_representation_view включена только метка данного изображения. Данная метка называется camera_image и ссылается на модель камеры и двумерную или трехмерную форму изделия или аннотацию.
Для более реалистичного представления трехмерных предметов в трехмерной модели камеры может быть определен порядок переноса скрытых линий и поверхностей, а также источников освещения.
4.2.3 Уровни
Уровень является множеством элементов формы изделия, аннотации или компонентов иерархии представления, созданным с целью управления видимостью и стилем представления. Набор элементов, связанных с уровнем, может быть установлен видимым или невидимым в компоненте иерархии представления. Один элемент может быть связан с несколькими уровнями, а один уровень может быть использован в нескольких компонентах иерархии представления. Для элемента, связанного с несколькими уровнями, могут быть определены различные стили его представления на каждом уровне. Уровень должен быть определен посредством объекта presentation_layer_assignment. Видимость и стиль заданного уровня в компоненте иерархии представления определяют посредством объекта presentation_layer_usage.
4.2.4 Связь представления с моделью изделия
Настоящий стандарт обеспечивает связь информации о представлении с информацией о представляемом изделии. Связь определяется посредством объекта presented_item_representation. Данный объект связывает конкретный элемент с его представлением. Объект presented_item должен быть определен в прикладных протоколах.
Пример — Элементами представления могут являться корпус автомобиля, схема электронного чипа или архитектура здания.
4.3 Определения типов схемы presentation_organization_schema
4.3.1 Тип annotation_representation_select
Тип annotation_representation_select является расширяемым списком дополнительных типов данных. Тип предоставляет механизм для ссылки на экземпляры типов данных, включенных в тип annotation_presentation_select или в его расширения.
Примечание — Список типов данных объекта может быть расширен в ресурсах приложения, которое использует структуру данного ресурса.
EXPRESS-спецификация
TYPE annotation_representation_select = EXTENSIBLE SELECT (area_dependent_annotation_representation, presentation_area, presentation_view, symbol_representation, view_dependent_annotation_representation);
END_TYPE;
4.3.2 Тип area_dependent_annotation_representation_item
Тип area_dependent_annotation_presentation_item является списком дополнительных типов данных. Тип предоставляет механизм для ссылки на экземпляр одного из указанных типов данных.
EXPRESS-спецификация
TYPE area_dependent_annotation_representation_item = SELECT
(annotation_occurrence, axis2_placement);
END_TYPE;
4.3.3 Тип area_or_view
Тип area_or_view является списком дополнительных типов данных. Тип предоставляет механизм для ссылки на экземпляр одного из указанных типов данных. Тип area_or_view указывает предметы, которые могут быть выделены цветом фона.
EXPRESS-спецификация
*)
TYPE area_or_view = SELECT
(presentation_area,
presentation_view);
END_TYPE;
(*
4.3.4 Тип camera_model_d3_miilti_clipping_intersection_select
Тип camera_model_d3_miilti_clipping_intersection_select является списком дополнительных типов данных. Тип предоставляет механизм для ссылки на экземпляр одного из указанных типов данных.
EXPRESS-спецификация
TYPE camera_model_d3_multi_clipping_intersection_select = SELECT (camera_model_d3_multi_clipping_union, plane);
END_TYPE;
4.3.5 Тип camera_model_d3_miilti_clipping_union_select
Тип camera_model_d3_multi_clipping_union_select является списком дополнительных типов данных. Тип предоставляет механизм для ссылки на экземпляр одного из указанных типов данных.
EXPRESS-спецификация
*)
TYPE camera_model_d3_multi_clipping_union_select = SELECT (camera_model_d3_multi_clipping_intersection, plane);
END_TYPE;
4.3.6 Тип central_or_parallel
Тип central_or_parallel определяет тип преобразования перспективы, используемый объектом camera_model. Данными типами являются либо параллельное проецирование на рассматриваемую плоскость, либо центральное проектирование из объекта projection_point на рассматриваемую плоскость (см. рисунки 11 и 12).
EXPRESS-спецификация
*)
TYPE central-or_parallel = ENUMERATION OF
(central,
parallel);
END_TYPE;
Определения перечисляемых элементов
central — проекция выполняется по линиям, исходящим из объекта projection_point и связанным с объектом view_window;
parallel — проекция выполняется параллельно линии, исходящей из объекта projection_point, на геометрический центр объекта view_window.
4.3.7 Тип layered_item
Тип layered_item является списком дополнительных типов данных. Тип предоставляет механизм для ссылки на экземпляр одного из указанных типов данных. Тип layered_item определяет элементы, сгруппированные в уровнях посредством объекта presentation_layer_assignment.
EXPRESS-спецификация
TYPE layeredJtem = SELECT
(presentation_representation,
representationjtem);
(END_TYPE;
4.3.8 Тип presentation_representation_select
Тип presentation_represantation_select является списком дополнительных типов данных. Тип предоставляет механизм для ссылки на экземпляр одного из указанных типов данных. Тип presentation-represantation_select предназначен для обеспечения связи представления с представляемым элементом посредством объекта presentation_item_representation.
EXPRESS-спецификация
TYPE presentation_representation_select = SELECT
(presentation_representation,
presentation_set);
END_TYPE;
4.3.9 Тип presentation_size_assignment_select
Тип presentation_size_assignment_select является списком дополнительных типов данных. Тип предоставляет механизм для ссылки на экземпляр одного из указанных типов данных.
EXPRESS-спецификация
TYPE presentation_size_assignment_select = SELECT
(presentation_view,
presentation_area,
area_in_set);
END_TYPE;
4.3.10 Тип product_data_representation_view_item
Тип product_data_representation_view_item является списком дополнительных типов данных. Тип предоставляет механизм для ссылки на экземпляр одного из указанных типов данных.
EXPRESS-спецификация
TYPE product_data_representation_view_item = SELECT
(camerajmage,
axis2_placement);
END_TYPE;
4.3.11 Тип view_dependent_annotation_representation_item
Тип view_dependent_annotation_representation_item является списком дополнительных типов данных. Тип предоставляет механизм для ссылки на экземпляр одного из указанных типов данных.
EXPRESS-спецификация
TYPE view_dependent_annotation_representation_item = SELECT
(annotation_occurrence,
axis2_placement);
END_TYPE;
4.4 Определения объектов схемы presentation_organization_schema
4.4.1 Объект area_dependent_annotation_representation
Объект area_dependent_annotation_representation является подтипом presentation-representation. Объект area_dependent_annotation_representation является изображением, которое может входить в изображение, описанное объектом presentation_area. Данное изображение состоит из элементов, определенных в объектах annotation_occurrence. Объект area_dependent_annotation_ representation может быть связан только с объектом presentation_area.
Примечание — Ограничения по применению объекта area_dependent_annotation_representation установлены правилами для объекта presentation_representation_relationship.
EXPRESS-спениФикаиия
*)
ENTITY area_dependent_annotation_representation
SUBTYPE OF (presentation_representation);
SELF\representation.items : SET[1:?] OF area_dependent_annotation_representation_item;
WHERE
WR1: SIZEOF (QUERY (item <* SELF\representation.items | ('PRESENTATION_DEFINITION_SCHEMA. ANNOTATION-OCCURRENCE' IN TYPEOF (item)))) >= 1;
WR2: (SIZEOF (QUERY (prr <* USEDIN (SELF, 'REPRESENTATION-SCHEMA.' + 'REPRESENTATION-RELATIONSHIP.REP_2') | 'PRESENTATION_ORGANIZATION_SCHEMA.PRESENTATION-AREA' IN TYPEOF (prr\representation_relationship.rep_1))) > 0) OR (SIZEOF(QUERY( rm <* USEDIN(SELF, 'REPRESENTATION-SCHEMA.'+ 'REPRESENTATION_MAP.'+ 'MAPPED_REPRESENTATION') | SIZEOF(QUERY( mi <* USEDIN(rm, 'REPRESENTATION-SCHEMA.'+ 'MAPPED_ITEM.'+ 'MAPPINGSOURCE') | SIZEOF(QUERY( rep <* using_representations (mi) | 'PRESENTATION-ORGANIZATION-SCHEMA.'+ 'PRESENTATION-AREA' IN TYPEOF (rep))) > 0 )) > 0)) > 0);
WR3: (SIZEOF (QUERY (prr <* USEDIN (SELF, 'REPRESENTATION-SCHEMA.' + 'REPRESENTATION-RELATIONSHIP.REP-2') | NOT('PRESENTATION_ORGANIZATION_SCHEMA.PRESENTATION-AREA' IN TYPEOF (prr\representation_relationship.rep_1)))) = 0) AND (SIZEOF(QUERY( rm <* USEDIN(SELF, 'REPRESENTATION-SCHEMA.'+ 'REPRESENTATION_MAP.'+ 'MAPPED_REPRESENTATION') | SIZEOF(QUERY( mi <* USEDIN(rm, 'REPRESENTATION-SCHEMA.'+ 'MAPPED_ITEM.'+ 'MAPPINGSOURCE') | SIZEOF(QUERY( rep <* using_representations (mi) | NOT('PRESENTATION_ORGANIZATION_ SCHEMA.'+ 'PRESENTATION-AREA' IN TYPEOF (rep)))) > 0 )) > 0)) = 0);
END_ENTITY;
Определения атрибута
items — набор объектов annotation_occurrences или axis2_placements, образующих area_ dependent_annotation_presentation.
Формальные утверждения
WR1 — одним из элементов в объекте area_dependent_annotation_representation должен быть annotation_occurrence;
WR2 — объект area_dependent_annotation_representation должен входить в presentation_area и не должен входить в представление, которое не является presentation_area;
WR3 — все пользователи должны быть типа presentation_area.
4.4.2 Объект area_in_set
Объект area_in_set определяетсвязь между объектом presentation_area и объектом presentationset. Объект presentation_area может входить в несколько объектов presentation_set; в конкретный presentation_set должен входить по крайней мере один presentation_area.
EXPRESS-специсЬикация
*)
ENTITY area_in_set;
area : presentation_area;
in_set: presentation_set;
END_ENTITY;
Описания атрибутов
area — объект presentation_area, входящий в presentation_set;
in_set — объект presentation_set, в который входит presentation_area.
4.4.3 Объект background_colour
Объект background_colour является подтипом colour. Объект background_colour определяет цвет, используемый для фона области или вида представления.
EXPRESS-спецификация
ENTITY background_colour
SUBTITY OF (colour);
presentation : area_or_view;
UNIQUE
UR1 : presentation;
END_ENTITY;
(*
Описание атрибута
presentation — объекты presentation_area или presentation_view, для которых определен цвет фона.
Формальное утверждение
UR1 — для любого объекта presentation_area или presentation_view может быть определен только один цвет фона.
4.4.4 Объект camerajmage
Объект camerajmage является подтипом mapped_item. Объект camerajmage является либо camera_image_2d_with_scale, либо camera_image_3d_with_scale. Объект camera_image отражает результат проецирования двумерной или трехмерной геометрической формы, отображаемой объектом camera_model на область просмотра.
EXPRESS-спецификация
ENTITY camerajmage
SUPERTYPE OF (ONEOF (camera_image_2d_with_scale, camera_image_3d_with_scale))
SUBTYPE OF (mappedjtem);
SELF\mapped_item.mapping_source : camera_usage;
SELF\mapped_item.mappingjarget: planar_box;
WHERE
WR1: 'GEOMETRY_SCHEMA.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF (SELF); END_ENTITY;
(*
Описание атрибутов
mapping_source — объект camera_usage, содержащий проецируемый объект representation, и объект camera_model, являющийся исходным при отображении проекции;
mappingjarget — объект planar_box, на который проецируется область отображения, связанная с двумерной или трехмерной моделью камеры camera_model.
Формальное утверждение
WR1 — объектом camerajmage должен быть объект geometric_representation_item.
4.4.5 Объект camera_image_2d_with_scale
Объект camera_image_2d_with_scale является подтипом camerajmage с расчетным масштабом. Масштаб — это соотношение между размером области просмотра и размером области отображения объекта camera_model.
Примечание — Область просмотра определяет прямоугольные границы отображаемого элемента, аналогично чертежному листу.
EXPRESS-спецификация
ENTITY camera_image_2d_with_scale
SUBTYPE OF (camera image);
DERIVE
scale : positive_ratio_measure := (SELF\mapped_item.mapping_target\planar_extent.size_in_x)/ (SELF\ mapped_item.mapping_source.mapping_origin\camera_model_d2.view_window\planar_extent.size_in_x); WHERE
WR1: (PRESENTATIONJ3RGANIZATION_SCHEMA.CAMERA_MODEL_D2' IN TYPEOF(SELF\mapped_ item.mapping_source.mapping_origin));
WR2: aspect_ratio (SELF\mapped_item.mapping_target) = aspect_ratio (SELF\mapped_item.mapping_ source.mapping_origin\camera_model_d2.view_window);
WR3: SELF\mapped_item.mapping_source.mapping_origin\camera_model_d2.view_window_clipping; END_ENTITY;
Описание атрибута
scale — positive_ratio_measure, рассчитанный по размерам прямоугольной области просмотра и прямоугольной области отображения модели камеры camera_model_d2.
Формальные утверждения
WR1 — источником проекции должна быть camera_model_d2;
WR2 — соотношение сторон области просмотра должно равняться соотношению сторон области отображения view_window модели camera_model_d2;
WR3 — атрибут view_window_clipping в camera_model_d2 должен иметь значение «истина» (true).
4.4.6 Объект camera_image_3d_with_scale
Объект camera_image_3d_with_scale является подтипом camera_image, который проецирует трехмерную геометрию и имеет расчетный масштаб. Масштаб — это соотношение между размером области просмотра и размером view_window объекта view_volume.
EXPRESS-специсЬикация
*)
ENTITY camera_image_3d_with_scale
SUBTYPE OF (camera image);
DERIVE
scale : positive_ratio_measure := ((SELF\mapped_item.mapping_target\ planar_extent.size_in_x) / (SELF\ mapped_item.mapping_source. mapping_origin\camera_model_d3.perspective_of_volume.view_window. size_in_x));
WHERE
WR1: ('PRESENTATION_ORGANIZATION_SCHEMA.CAMERA_MODEL_D3' IN TYPEOF (SELF\mapped_ item.mapping_source.mapping_origin));
WR2: aspect_ratio(SELF\mapped_item.mapping_target) = aspect_ratio(SELF\mappedJtem.mapping_ source.mapping_origin\ camera_model_d3.perspective_of_volume.view_window);
WR3: SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3. perspective_of_volume. front_plane_clipping AND SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3. perspec-tive_of_volume.view_volume_sides_clipping;
WR4: (SELF\mapped_item.mapping_target\planar_extent.size_in_x > 0) AND (SELF\mapped_item. mapping_target\planar_extent.size_in_y > 0);
WR5: (SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3. perspective_of_volume. view_window.size_in_x > 0) AND (SELF\mapped_item.mapping_source.mapping_origin\camera_model_d3. perspective_of_volume.view_window.size_in_y > 0);
WR6: ('GEOMETRY-SCHEMA.' + 'AXIS2_PLACEMENT_2D' IN TYPEOF (SELF\mapped_item. mapping_ target\planar_box.placement)) AND NOT ('GEOMETRY_SCHEMA.' + 'AXIS2_PLACEMENT_3D' IN TYPEOF (SELF\mapped_item. mapping_target\planar_box.placement));
END_ENTITY;
(*
Описание атрибута
scale — positive_ratio_measure, рассчитанный по размерам прямоугольной области просмотра и прямоугольной области view_volume объекта camera_model.
Формальные утверждения
WR1 — источником проекции должна быть camera_model_d3;
WR2 — соотношение сторон области просмотра должно равняться соотношению сторон области отображения view_window модели view_volume;
WR3 — геометрия проецируемого представления должна быть обрезана относительно плоскости, представленной front_plane_distance, и плоскостей, являющихся сторонами объема, определенного view_volume;
WR4 — прямоугольная область просмотра должна быть задана положительными значениями;
WR5 — прямоугольная область view_window должны быть задана положительными значениями;
WR6 — пространство изображения camera_image_3d_with_scale должно быть определено в двухмерной системе координат.
Неформальные утверждения
IP1 — горизонтальные и вертикальные компоненты области просмотра должны быть параллельны соответствующим компонентам view_window объекта view_volume.
4.4.7 Объект camera model
Объект camera_model является подтипом geometric_representation_item. Объект camera_ model является либо camera_model_d2, либо camera_model_d3. Объект camera_model должен содержать информацию, необходимую для создания проекции или отображения представления в изображение данного представления.
EXPRESS-спецификация
ENTITY camera_model
ABSTRACT SUPERTYPE OF (ONEOF (camera_model_d2, camera_model_d3))
SUBTYPE OF (geometric_representation_item);
WHERE
WR1: (SIZEOF (USEDIN (SELF, 'REPRESENTATION_SCHEMA.' + 'ITEM_DEFINED_TRANSFORMATION.' + 'TRANSFORMJTEM_1')) + SIZEOF (USEDIN (SELF, 'REPRESENTATION_SCHEMA.' + 'REPRESENTA-TION_MAP.MAPPING_ORIGIN'))) > 0;
WR2: SIZEOF(USEDIN(SELF,'PRESENTATION_APPEARANCE_SCHEMA.'+ 'STYLEDJTEM.ITEM')) = 0; END_ENTITY;
Формальные утверждения
WR1 — объект camera_model должен определять проекцию по крайней мере одного объекта representation;
WR2 — объект camera_model не должен быть связан с объектом styled_item.
4.4.8 Объект camera_model_d2
Объект camera_model_d2 является подтипом camera_model. Объект camera_model_d2 должен содержать информацию, необходимую для создания двумерного отображения данного представления на его изображение.
Примечание — Механизм работы объекта camera_model_d2 представлен на рисунке 6.
camera_image_viewport
camera_model_d2.view_window
Рисунок 6 — Объект camera_model_d2
EXPRESS-спецификация
ENTITY camera_model_d2
SUBTYPE OF (camera_model);
view_window : planar_box;
view_window_clipping : BOOLEAN;
WHERE
WR1: SELF\geometric_representation_item.dim = 2;
END_ENTITY;
Описания атрибутов
view_window — прямоугольные границы в координатном пространстве объекта representation, отображаемого в объект product_data_representation_view. Преобразование и возможное неоднородное масштабирование объекта view_window должны быть выполнены так, чтобы контуры данного объекта совпадали с контурами атрибута mappingjarget в объекте camerajmage;
view_window_clipping — определяет проведение или непроведение оконтуривания объекта view_window. Значение TRUE данного атрибута указывает на выполнение оконтуривания объекта view_window, а значение FALSE — на его отсутствие.
Примечания
1 Если атрибут view_window_clipping имеет значение FALSE, двумерная проекция может быть расширена за границы, определенные атрибутом mappingjarget в объекте camerajmage.
2 Оконтуривание должно быть проведено до создания проекции.
Формальное утверждение
WR1 — объект camera_model_d2 должен быть двумерным.
4.4.9 Объект camera_model_d2_shape_clipping
Объект camera_model_d2_shape_clipping является подтипом camera_model_d2 с дополнительными условиями по выделению (оконтуриванию) отображаемого представления.
EXPRESS-спеииФикация
ENTITY camera_model_d2_shape_clipping
SUBTYPE OF (camera_model_d2);
shape_clipping: curve;
ENDJENTITY;
Описание атрибута
shape_clipping — замкнутая кривая, определяющая пространство проектируемого представления.
Примечание — Если атрибут view_window_clipping имеет значение TRUE, проектируемое представление выделяется из view_window и области, определенной объектом shape_clipping.
Неформальное утверждение
IP1 — кривая, определенная в атрибуте shape_clipping, должна быть замкнутой и не самопере-секающейся.
4.4.10 Объект camera_model_d3
Объект camera_model_d3 является подтипом camera_model. Объект camera_model_d3 должен содержать информацию, необходимую для создания проекции из трехмерного представления на его двумерное изображение (подробности проецирования см. в 4.4.36).
EXPRESS-спецификация
*)
ENTITY camera_model_d3
SUBTYPE OF (camera_model);
view_reference_system : axis2_placement_3d;
perspective_of_volume : view_volume;
WHERE
WR1: SELF\geometric_representationJtem.dim = 3;
END_ENTITY;
Описания атрибутов
view_reference_system — вспомогательное трехмерное координатное пространство в координатном пространстве проецируемого отображения;
perspective_of_volume — информация, необходимая для проецирования геометрической формы отображения. Данный атрибут определяют во вспомогательном трехмерном координатном пространстве объекта view_reference_system.
Формальные утверждения
WR1 — объект camera_model_d3 является трехмерным.
4.4.11 Объект camera_model_d3_multi_clipping
Объект camera_model_d3_multi_clipping является подтипом camera_model_d3. Объект camera_ model_d3_multi_clipping должен содержать информацию, необходимую для создания проекции отображения на его изображение с использованием плоскостей координатного пространства проецируемого отображения для оконтуривания (выделения) геометрической формы данного отображения до его проецирования.
EXPRESS-спецификация
ENTITY camera_model_d3_multi_clipping
SUBTYPE OF (camera_model_d3);
shape_clipping : SET[1:?] OF camera_model_d3_multi_clipping_intersection_select; END_ENTITY;
Определение атрибута
shape_clipping — набор объектов planes или camera_model_d3_multi_clipping_union, ограничивающих выделяемую область. Каждая плоскость указывает определенную область, которая является бесконечным полупространством, заданным этой плоскостью и плоскостью, перпендикулярной к ней. Выделяемая (оконтуриваемая) область должна быть определена на основе взаимопересечения всех заданных областей.
Примечания
1 Выделяемая область, заданная атрибутом shape_clipping, может быть бесконечной.
2 Выделение выполняют до проецирования.
4.4.12 Объект camera_model_d3_multi_clipping_intersection
Объект camera_model_d3_multi_clipping_intersection является подтипом geometric_represen-tationjtem, который определяет промежуточную заданную область для объекта camera_model_d3_ multi_clipping_union.
EXPRESS-спецификация
ENTITY camera_model_d3_multi_clipping_intersection
SUBTYPE OF (geometric_representationjtem);
shape_clipping : SET[2:?] OF camera_model_d3_multi_clipping_intersection_select; END_ENTITY;
Определение атрибута
shape_clipping — набор объектов planes или camera_model_d3_multi_clipping_union, ограничивающих выделяемую область. Каждая плоскость указывает определенную область, которая является бесконечным полупространством, заданным этой плоскостью и плоскостью, перпендикулярной к ней. Выделяемая (оконтуриваемая) область должна быть определена на основе взаимопересечения всех заданных областей.
4.4.13 Объект camera_model_d3_multi_clipping_union
Объект camera_model_d3_multi_clipping_union является подтипом geometric_representation_ item, который определяет промежуточную заданную область для объекта camera_model_d3_multi_ clipping_intersection или объекта camera_model_d3_multi_clipping.
EXPRESS-спецификация
ENTITY camera_model_d3_multi_clipping_union
SUBTYPE OF (geometric_representation_item);
shape_clipping : SET[2:?] OF camera_model_d3_multi_clipping_union_select;
END_ENTITY;
Определение атрибута
shape_clipping — набор объектов planes или camera_model_d3_multi_clipping_union, ограничивающих выделяемую область. Каждая плоскость указывает определенную область, которая является бесконечным полупространством, заданным этой плоскостью и плоскостью, перпендикулярной к ней. Выделяемая (оконтуриваемая) область должна быть определена на основе взаимопересечения всех заданных областей.
4.4.14 Объект camera_model_d3_with_hlhsr
Объект camera_model_d3_with_hlhsr является подтипом camera_model_d3 и определяет необходимость удаления из изображения невидимых линий и поверхностей.
EXPRESS-спецификация
ENTITY camera_model_d3_with_hlhsr
SUBTYPE OF (camera_model_d3);
hidden_Jine_surface_removal: BOOLEAN;
END_ENTITY;
Определение атрибута
hidden_line_surface_removal — определяет необходимость удаления из изображения невидимых линий и поверхностей при проецировании трехмерного изображения. Значение TRUE данного атрибута указывает на то, что невидимые линии и поверхности при проецировании должны быть удалены, а значение FALS — на необходимость их отображения.
4.4.15 Объект camera_model_with_light_sources
Объект camera_model_with_light_soiirces является подтипом camera_model_d3. Объект сат-era_model_with_light_sources должен содержать информацию, необходимую для создания проекции отображения на его изображение, с дополнительными сведениями об источниках освещения, используемых для создания теневых эффектов.
EXPRESS-спецификация
ENTITY camera_model_with_light_sources
SUBTYPE OF (camera_model_d3);
sources : SET[1:?] OF light_source;
END_ENTITY;
Определение атрибута
sources — набор объектов light_sources, определяющих объемную модель проецируемого отображения.
4.4.16 Объект camera_usage
Объект camera_usage является подтипом representation_map. Объект camera_usage устанавливает связь между двумерным или трехмерным отображением и его источником (оригиналом). Рассматриваемый объект является исходным при отображении проекции.
EXPRESS-спецификация
ENTITY camera_usage
SUBTYPE OF (representation_map);
SELF\representation_map.mapping_origin : camera_model;
WHERE
WR1: NOT ('PRESENTATION_ORGANIZATION_SCHEMA.PRESENTATION-REPRESENTATION' IN TYPEOF(SELF\representation_map.mapped_representation));
END_ENTITY;
Определение атрибута
mapping_origin — объект camera_model, являющийся исходным при отображении проекции.
Формальные утверждения
WR1 — объектом mapped_representation не должен быть объект presentation_representation.
4.4.17 Объект graphical-transformation
Объект graphical-transformation является подтипом item_defined_transformation. Объект graphical-transformation является преобразованием, позволяющим осуществить произвольное двумерное позиционирование, вращение и однородное масштабирование. Данный объект используется объектом presentation_representation_relationship для определения преобразования между связанными объектами presentation_representations. Данное преобразование определяют следующим образом.
Атрибут transform_item_1.location преобразуют в атрибут transform_item_2.placement_location. Дополнительно ось х, определенную в объекте transform_item_1.p[1], отображают в ось х атрибута transform_item_2.placement.p[1]. Подобное отображение должно быть выполнено для оси у атрибутов transform_item_1.p[2] и transform_item_2.placement.p[2]. По окончании используют масштабирование, определенное атрибутом transform_item_2.scaling.
Примечание — Механизм использования объекта graphical_transformation представлен на рисунке 7.
I I
transform_item_1 transform_item_2. placement
transform_item_2.scaling = 0,75
Рисунок 7 — Объект graphical_transformation
EXPRESS-спецификация
ENTITY graphical_transformation
SUBTYPE OF (item_defined_transformation);
SELF\item_defined_transformation.transform_item_1 : axis2_placement_2d;
SELF\item_defined_transformation.transform_item_2 : presentation_scaled_placement;
END_ENTITY;
(*
Описания атрибутов
transform_item_1 — объект axis2_placement_2d, определяющий исходные преобразуемые координаты;
transform_item_2 — объект presentation_scaled_placement, определяющий конечные координаты преобразования.
4.4.18 Объект light_source
Объект light_source является подтипом geometric_representation_item и может являться одним из объектов light_source_ambient, light_source_directional, light_source_positional или light_ source_spot. Объект light_source связан с экранным изображением поверхностей. Подсветка (объемное сканирование) связана с конкретной поверхностью, то есть не отражает взаимосвязей отдельных поверхностей.
EXPRESS-спецификация
ENTITY light_source
SUPERTYPE OF (ONEOF (light_source_ambient,
light_source_directional,
light_source_positional, light_source_spot))
SUBTYPE OF (geometric_representation_item);
light_colour: colour;
WHERE
WR1: SIZEOF(USEDIN(SELF,'PRESENTATION_APPEARANCE_SCHEMA.'+ 'STYLEDJTEM.ITEM')) = 0; END_ENTITY;
(*
Определение атрибута
light_colour — цвет источника освещения, используемый для создания теневых эффектов.
Формальное утверждение
WR1 — атрибут light_source не должен быть связан с объектом styled_item.
4.4.19 Объект light_source_ambient
Объект light_source_ambient является подтипом light_source. Объект light_source_ambient описывает поверхность независимо от ее ориентации и расположения.
EXPRESS-спецификация
*)
ENTITY light_source_ambient
SUBTYPE OF (light_source);
END_ENTITY;
4.4.20 Объект light_source_directional
Объект light_source_directional является подтипом light_source. Объект light_source_directional описывает ориентацию поверхности независимо от ее местоположения. Все лучи от источника освещения должны быть направлены параллельно выбранному направлению.
Примечание — На рисунке 8 представлено определение объекта light_source_directional.
EXPRESS-спецификация
ENTITY light_source_directional
SUBTYPE OF (light_source);
orientation : direction;
END_ENTITY;
Определение атрибута
orientation — направление, заданное объектом light_source в координатном пространстве проецируемого отображения.
4.4.21 Объект light_source_positional
Объект light_source_positional является подтипом light_source. Объект light_source_positional описывает поверхность с точки зрения ее ориентации и местоположения.
Примечание — На рисунке 9 представлено определение объекта light_source_positional.
Рисунок 9 — Местоположение источника освещения
Примечание — Примеры формул отражающей способности приведены в приложении Е.
EXPRESS-спецификация
ENTITY light_source_positional
SUBTYPE OF (light_source);
position : cartesian_point;
constant_attenuation : REAL;
distance_attenuation : REAL;
END_ENTITY;
Определения атрибутов
position — местоположение объекта light_sources в координатном пространстве проецируемого отображения;
constant_attenuation — значение затухания в формуле отражающей способности, выраженное константой;
distance_attenuation — значение затухания в формуле отражающей способности, пропорциональное расстоянию от объекта light_sources.
4.4.22 Объект light_source_spot
Объект light_source_spot является подтипом light_source. Объект light_source_spot описывает поверхность на основе ее местоположения и направления с учетом распространения потока от источника освещения. Данный поток определяют на основе местоположения, ориентации и значения атрибута spread_angle объекта light_source_spot. В объекте light_source_spot следует описывать только те части (детали) предмета, которые попадают внутрь светового потока от источника.
Примечание — На рисунке 10 представлено определение объекта light_source_spot.
Рисунок 10 — Распространение потока от источника освещения
Примечание — Примеры формул отражающей способности приведены в приложении Е. EXPRESS-спецификация
ENTITY light_source_spot SUBTYPE OF (light_source); position : cartesian_point;
orientation : direction;
concentration_exponent: REAL;
constant_attenuation : REAL;
distance_attenuation : REAL;
spread angle : positive plane angle measure;
END_ENTITY;
Определения атрибутов
position — местоположение объекта light_source в координатном пространстве проецируемого отображения;
orientation — направление оси светового потока от объекта light_source в координатном пространстве проецируемого отображения;
concentration_exponent — косинус угла между линией, исходящей из местоположения объекта light_source в направлении его ориентации, и линией, исходящей из местоположения объекта light_ source и пересекающей выделяемую (затеняемую) поверхность. Положение данной поверхности, входящее в формулу отражающей способности, задается атрибутом surface_style_rendering_properties;
constant_attenuation — значение затухания в формуле отражающей способности, выраженное константой;
distance_attenuation — значение затухания в формуле отражающей способности, пропорциональное расстоянию от объекта light_source;
spread_angle — половина телесного угла светового потока от источника.
Неформальное утверждение
IP1 —угол распространения не должен превышать 180°.
4.4.23 Объект presentation_area
Объект presentation_area является подтипом presentation_representation. Объект presentation-area представляет изображение, которое может содержать другие вложенные изображения, а также входить в другое изображение, представленное аналогичным объектом presentation_area.
Размер объекта presentation_area определяют через объект presentation_size. В каждом объекте presentation_area размер задают прямо, посредством использования объекта presentation_size, или косвенно с использованием объектов area_in_set. Выделение изображения в размерах, заданных объектом presentation_area, осуществляет система, создающая отображение на основе информации о представлении. Если данный объект presentation_area входит в другой аналогичный объект, тогда ограничения, определяющие формат данного объекта, могут быть использованы для его выделения из другого объекта.
Цвет фона может быть определен путем использования presentation_area в объекте background-colour. Только в одном объекте background_colour может быть использован какой-либо объект presentation_area.
EXPRESS-спецификация
*)
ENTITY presentation_area
SUBTYPE OF (presentation_representation);
WHERE
WR1: ((SIZEOF (QUERY (ais <* USEDIN (SELF, 'PRESENTATION_ORGANIZATION_SCHEMA.' + 'AREA_ IN-SET.AREA') | SIZEOF (USEDIN (ais, 'PRESENTATION_ORGANIZATION_SCHEMA.' + 'PRESENTATIONSIZE.UNIT')) =1)) > 0) OR (SIZEOF (USEDIN (SELF, 'PRESENTATION_ORGANIZATION_SCHEMA.' + 'PRESENTATION-SIZE.UNIT')) =1));
END_ENTITY;
Формальное утверждение
WR1 — объект presentation_area должен входить в presentation_set посредством включения в атрибут area_in_set.area, в котором объект area_in_set входит в атрибут presentation_size.unit, или размер presentation_area должен быть определен непосредственно из presentation_size.
Неформальные утверждения
IP1 — любой объект presentation_representation должен быть представлен в контексте дерева, корнем которого является presentation_area;
IP2 — размер presentation_area должен быть определен не более одного раза.
Примечание — Ограничения по применению рассматриваемого объекта установлены правилами для объекта presentation_representation_relationship.
4.4.24 Объект presentation_layer_assignment
Объект presentation_layer_assignment является идентификатором набора объектов presentation_representation или representation_item. Данные наборы содержат изображения целиком или их элементы, связанные с данным уровнем. Объектом representation_item, связанным с данным уровнем, должен быть конкретный объект styled_item или несколько аналогичных объектов. В случае использования объектов presentation_representation значение идентификатора уровня должно быть связано с каждым перечисленным в нем или связанным с ним объектом representation_item, если данное значение не ограничено объектом representation_item_dependent_layer_assignment. В случае использования объектов representation_item значение идентификатора уровня также должно быть связано с каждым перечисленным в нем объектом representationjtem, ссылающимся (прямо или косвенно) на конкретный элемент, если данное значение не ограничено объектом representation_item_ dependent_layer_assignment.
Примечание — Содержимое данного объекта используют при определении видимости и стиля изображения, представленного объектом presentation_representation, с использованием объекта presentation_layer_assignment.
EXPRESS-спецификация
ENTITY presentation_layer_assignment;
name : label;
description : text;
assignedjtems : SET[1:?] OF layeredjtem;
END_ENTITY;
Определения атрибутов
name — слово или группа слов, определяющих конкретный уровень при ссылке на него из объекта presentation_layer_assignment;
description — текст, описывающий характер объекта presentation_layer_assignment;
assignedjtems — набор элементов, относящихся к уровню, определенному в объекте presentation_layer_assignment.
4.4.25 Объект presentation_layer_usage
Объект presentation_layer_usage связывает объекты presentation_layer_assignment и рге-sentation_representation, определяя контекст стиля и видимости элементов уровня. Ряд объектов presentation_representation может быть связан с одним объектом presentation_layer_assignment, а один объект presentation_representation — со многими объектами presentation_layer_assignment.
Примечание — Данный метод позволяет размещать на одном уровне различные изображения или одно изображение на разных уровнях.
EXPRESS-спецификация
ENTITY presentation_layer_usage;
assignment: presentation_layer_assignment;
presentation : presentation_representation;
UNIQUE
UR1: assignment, presentation;
END_ENTITY;
(*
Определения атрибутов
assignment — на уровень, определенный в объекте presentation_representation, следует ссылаться посредством атрибута presentation;
presentation — объект presentation_representation, содержащий отображение уровня, на который ссылаются посредством атрибута assignment.
Формальное утверждение
UR1 — пара атрибутов (assignment, presentation) должна быть уникальной. Заданный уровень не может быть представлен в изображении более одного раза.
4.4.26 Объект presentation_representation
Объект presentation_representation является подтипом representation. Объект presentation-representation содержит описание изображения, генерируемого системой, отображающей информацию о представлении. Данное изображение связано с предметом, представляемым в виде двумерного или трехмерного геометрического объекта или аннотации. Ссылка на геометрические объекты или аннотацию может быть введена косвенно посредством включения в иерархию объекта presentation-representation. Нижние уровни подобной иерархии могут быть ограничены только по составу геометрических изображений или аннотаций. Объект presentation_representation может быть одним из объектов area_dependent_annotation_representation, presentation_area, presentation_view, product_data_ representation_view или view_dependent_annotation_representation.
EXPRESS-спецификация
ENTITY presentation_representation
SUPERTYPE OF (ONEOF (area_dependent_annotation_representation, presentation_area, presentation_view, product_data_representation_view, view_dependent_annotation_representation))
SUBTYPE OF (representation);
SELF\representation.context of items : geometric representation context;
WHERE
WR1: SELF\representation. context_of_items\geometric_representation_context. coordinate_space_ dimension = 2;
WR2: ('PRESENTATION_ORGANIZATION_SCHEMA.PRESENTATION-AREA' IN TYPEOF (SELF)) OR (SIZEOF (QUERY (prr <* USEDIN (SELF, 'REPRESENTATION-SCHEMA.' + 'REPRESENTATION_RELA-TIONSHIP.REP-2') | 'PRESENTATION_ORGANIZATION_SCHEMA.PRESENTATION-REPRESENTATION' IN TYPEOF (prr\representation_relationship.rep_1))) > 0) OR (SIZEOF(QUERY( rm <* USEDIN(SELF, 'REPRESENTATION-SCHEMA.'+ 'REPRESENTATION_MAP.'+ 'MAPPED_REPRESENTATION') | SIZEO-F(QUERY( mi <* USEDIN(rm, 'REPRESENTATION_SCHEMA.'+ 'MAPPED_ITEM.'+ 'MAPPING_SOURCE') | SIZEOF(QUERY( rep <* using_representations (mi) | 'PRESENTATION_ORGANIZATION_SCHEMA.'+ 'PRESENTATION-REPRESENTATION' IN TYPEOF (rep))) > 0 )) > 0)) > 0);
END_ENTITY;
(*
Определения атрибута
context_of_items — объект geometric_representation_context, в котором элементы presentationrepresentation связаны для формирования представления некоторой концепции.
Формальные утверждения
WR1 — изображение должно иметь размерность, равную 2;
WR2 — объект presentation_representation должен быть либо включен в другой presentationrepresentation, либо должен быть presentation_area.
4.4.27 Объект presentation_representation_relationship
Объект presentation_representation_relationship является подтипом representation-relationship_with_transformation. Объект presentation_representation_relationship определяет отношение между объектами presentation_representation. Данное отношение является направленным, что означает, что представление потомка (гер_2) преобразуется в представление родителя (гер_1) и не предусматривает обратного преобразования. Объект presentation_representation_relationship ограничивает отношение между некоторыми объектами presentation_representation для обеспечения их представления в иерархии.
EXPRESS-спецификация
ENTITY presentation_representation_relationship
SUBTYPE OF (representation_relationship_with_transformation);
SELF\representation_relationship.rep_1 : presentation_representation;
SELF\representation_relationship.rep_2 : presentation_representation;
SELF\representation_relationship_with_transformation.transformation_operator: graphical-transformation; WHERE
WR1: acyclic_presentation_representation_relationship (SELF, [SELF\representation_relationship.rep_2]);
WR2: NOT (('PRESENTATION_ORGANIZATION_SCHEMA.PRESENTATION_AREA' IN TYPEOF (SELF\rep-resentation_relationship.rep_1)) AND NOT (SIZEOF (['PRESENTATION_ORGANIZATION_SCHEMA.' + 'PROD-UCT_DATA_REPRESENTATION_VIEW', 'PRESENTATION_ORGANIZATION_SCHEMA.' + 'VIEW-DEPENDENT-ANNOTATION-REPRESENTATION'] * TYPEOF (SELF\representation_relationship.rep_2)) = 0));
WR3: NOT (('PRESENTATION_ORGANIZATION_SCHEMA.PRESENTATION-VIEW' IN TYPEOF (SELF\ representation-relationship.rep_1)) AND NOT (SIZEOF (['PRESENTATION_ORGANIZATION_SCHEMA.' + 'PRESENTATION-AREA', 'PRESENTATION_ORGANIZATION_SCHEMA.' + 'PRESENTATION-VIEW', 'PRESENTATION-ORGANIZATION-SCHEMA.' + 'AREA_DEPENDENT_ANNOTATION_REPRESENTATION'] * TYPEOF (SELF\representation_relationship.rep_2))=0));
WR4: (NOT ('PRESENTATION_ORGANIZATION_SCHEMA.PRESENTATION-VIEW' IN TYPEOF(SELF\ representation_relationship.rep_2))) XOR ('PRESENTATION_ORGANIZATION_SCHEMA.PRESENTATION-AREA'IN TYPEOF(SELF\representation_relationship.rep_1));
WR5: (NOT ('PRESENTATION_ORGANIZATION_SCHEMA.' + 'PRODUCT_DATA_REPRESENTATION_ VIEW' IN (TYPEOF(SELF\representation_relationship.rep_1) + TYPEOF(SELF\representation_relationship. rep_2)))) XOR ('PRESENTATION_ORGANIZATION_SCHEMA.PRESENTATION-VIEW' IN TYPEOF(SELF\ representation-relationship.rep_1)) AND ('PRESENTATION_ORGANIZATION_SCHEMA.PRODUCT_DATA_ REPRESENTATION-VIEW' IN TYPEOF(SELF\representation_relationship.rep_2));
END_ENTITY;
(*
Определения атрибутов
rep_1 — объект-родитель presentation_representation;
rep_2 — объект-потомок presentation_representation.
Формальные учреждения
WR1 — объект presentation_representation_relationship не должен входить в дерево объектов presentation_representation, корнем которого является лист собственного дерева рассматриваемого объекта;
WR2 — изображения, представленные объектами product_data_representation_view или view_ dependent_annotation_representation, не должны быть связаны с изображением, представленным объектом presentation_area;
WR3 — изображения, представленные объектами presentation_area, presentation_view или area_dependent_annotation_representation, не должны быть связаны с изображением, представленным объектом presentation_view;
WR4 — изображение, представленное объектом presentation_view, может быть связано только с изображением, представленным объектом presentation_area;
WR5 — объект product_data_representation_view должен входить только в объект presentation-representation-relationship, если атрибутом гер_1 является объект presentation_view.
4.4.28 Объект presentation_set
Объект presentation_set является набором (коллекцией) объектов presentation_areas.
EXPRESS-спецификация
ENTITY presentation_set;
INVERSE
areas: SET [1 : ?] OF area_in_set FOR in_set;
END_ENTITY;
Описание атрибута
areas — набор объектов presentation_area, образующих presentation_set. В presentation_set должен входить минимум один объект presentation_area.
4.4.29 Объект presentation_size
Объект presentation_size используют для определения размера объектов presentation_area или presentation_view. Размер объекта presentation_area может быть задан непосредственно или присвоен в зависимости от объекта presentation_set, содержащего presentation_area. Данный метод позволяет назначать различные размеры для одного объекта presentation_area в каждом presentation_set, описывающем определенную область. Если объект presentation_size доступен как для area_in_set, так и для presentation_area, на который ссылается area_in_set, то presentation_size для area_in_set перекрывает аналогичный объект для presentation_set.
EXPRESS-спецификация
ENTITY presentation_size;
unit: presentation_size_assignment_select;
size : planar_box;
UNIQUE
UR1: unit;
WHERE
WR1: (('PRESENTATION_ORGANIZATION_SCHEMA.PRESENTATION-REPRESENTATION' IN TYPEOF (unit)) AND item_in_context (size, unit\representation.context_of_items) ) OR (('PRESENTATION_ORGA-NIZATION_SCHEMA.AREA_IN_SET' IN TYPEOF (unit)) AND (SIZEOF (QUERY ( ais <* unit\area_in_set. in_set.areas | NOT item_in_context (size, ais.area\representation. context_of_items))) = 0));
END_ENTITY;
Описания атрибутов
unit — объекты presentation_view, presentation_area или area_in_set, определяющие связь presentation_area c presentation_set;
size — объект planar_box, описывающий размер блока.
Формальное утверждение
UR1 — блок должен быть уникальным в пределах совокупности presentation_size.
WR1 — если объект presentation_size доступен как для area_in_set, так и для presentation_area, на который ссылается area_in_set, то presentation_size для area_in_set перекрывает аналогичный объект для presentation_set.
4.4.30 Объект presentation_view
Объект presentation_view является подтипом presentation_representation. Объект presentationview является изображением, которое может содержать другие изображения или входить в другое изображение. Данный объект не представляет полное изображение и не может быть отображен без включения в объект presentation_area.
Объект presentation_view должен быть корнем некоторого дерева объектов presentationrepresentation, которые связаны с помощью объекта presentation_representation_relationship, или должен включать в свой набор элементов элементы mapped_items, источниками которых являются presentation_representation. Указанный механизм позволяет размещать изображения внутри изображений. Любое количество объектов product_data_presentation_view или view_dependent_annotation_ presentation может быть связано с одним presentation_view или включаться в него.
Размер, установленный в объекте presentation_view, может быть указан посредством ссылки на него из объекта presentation_size. Выделение изображения в размерах, заданных объектом presentation_view, выполняет система, создающая отображение на основе информации о представлении. Если в объекте presentation_view не установлены соответствующие размеры, тогда выделение изображения выполняют только на основе размеров, заданных в объекте presentation_area, в который входит данный presentation_view.
Цвет фона может быть указан посредством объекта background_colour.
Примечание — Ограничения по применению рассматриваемого объекта установлены правилами для объекта presentation_representation_relationship.
EXPRESS-спецификация
ENTITY presentation_view
SUBTYPE OF (presentation_representation);
END_ENTITY;
4.4.31 Объект presented_item
Объект presented_item является обозначением изображаемого предмета. Спецификация конкретного изображаемого предмета должна быть приведена в соответствующем прикладном протоколе.
Пример — В прикладном протоколе представляют свойства конкретного изделия. Данный протокол должен полностью определять конструкцию объекта presented_item с точки зрения его увязки с объектом product_definition.
EXPRESS-спецификация
ENTITY presentedjtem
ABSTRACT SUPERTYPE;
END_ENTITY;
4.4.32 Объект presented_item_representation
Объект presented_item_representation устанавливает связь объектов presentation_representa-tion или presentation_set с соответствующим отображаемым элементом.
Примечание — Это позволяет описать отношения «многие-ко-многим» между представлением и элементом.
EXPRESS-спецификация
ENTITY presented_item_representation;
presentation : presentation_representation_select;
item : presentedjtem;
END_ENTITY;
(*
Определения атрибутов
presentation — объект presentation_representation или presentation_set;
item — элемент, представленный на изображении.
4.4.33 Объект product_data_representation_view
Объект product_data_representation_view является подтипом presentation_representation. Объект product_data_representation_view представляет собой изображение, состоящее из двумерных геометрических проекций, аннотации или того и другого. В данное изображение могут входить другие изображения, или данное изображение может быть включено в другое изображение. Данный объект не содержит полного изображения и не может быть отображен без включения его в объект presentation_view.
EXPRESS-спецификация
ENTITY product_data_representation_view
SUBTYPE OF (presentation_representation);
SELF\representation.items : SET[1:?] OF product_data_representation_view_item;
WHERE
WR1: SIZEOF (QUERY (item <* SELF\representation.items | ('PRESENTATION_ORGANIZATION_SCHEMA. CAMERAJMAGE' IN TYPEOF (item)))) >= 1;
WR2: (SIZEOF (QUERY (prr <* USEDIN (SELF, 'REPRESENTATION-SCHEMA.' + 'REPRESENTATION-RELATIONSHIP.REP—2') | 'PRESENTATION_ORGANIZATION_SCHEMA.PRESENTATION-VIEW' IN TYPEOF (prr\representation_relationship.rep_1))) > 0) OR (SIZEOF(QUERY( rm <* USEDIN(SELF, 'REPRESENTATION-SCHEMA.'+ 'REPRESENTATION_MAP.'+ 'MAPPED_REPRESENTATION') | SIZEOF(QUERY( mi <* USEDIN(rm, 'REPRESENTATION-SCHEMA.'+ 'MAPPEDJTEM.'+ 'MAPPINGSOURCE') | SIZEOF(QUERY( rep <* using_representations (mi) | 'PRESENTATION-ORGANIZATION-SCHEMA.'+ 'PRESENTATION-VIEW' IN TYPEOF (rep))) > 0 )) > 0)) > 0);
WR3: (SIZEOF (QUERY (prr <* USEDIN (SELF, 'REPRESENTATION-SCHEMA.' + 'REPRESENTATION-RELATIONSHIP.REP-2') | NOT('PRESENTATION_ORGANIZATION_SCHEMA.PRESENTATION-VIEW' IN TYPEOF (prr\representation_relationship.rep_1)))) = 0) AND (SIZEOF(QUERY( rm <* USEDIN(SELF, 'REPRESENTATION-SCHEMA.'+ 'REPRESENTATION_MAP.'+ 'MAPPED_REPRESENTATION') | SIZEOF(QUERY( mi <* USEDIN(rm, 'REPRESENTATION-SCHEMA.'+ 'MAPPED_ITEM.'+ 'MAPPINGSOURCE') | SIZEOF(QUERY( rep <* using_representations (mi) | NOT('PRESENTATION_ORGANIZATION_ SCHEMA.'+ 'PRESENTATION-VIEW' IN TYPEOF (rep)))) > 0 )) > 0)) = 0);
END_ENTITY;
Определения атрибута
items — набор объектов axis2_placements или camerajmages, которые составляют product-data_presentation_view.
Формальные утверждения
WR1 — одним из элементов в product_data_representation_view должен быть объект camera_ image;
WR2 — объект product_data_representation_view не может быть отображен без включения его в объект presentation_view;
WR3 — все пользователи должны быть объектами presentation_views.
4.4.34 Объект representation_item_dependent_layer_assignment
Объект representation_item_dependent_layer_assignment является подтипом presentation-layer-assignment и определяет уровень объекта presentation_representation или конкретного объекта representation_item только с точки зрения их участия в описании объекта representation_item. Это назначение имеет приоритет над любым назначением уровня для presentation_representation или representation_item посредством определения representation_item.
Пример — В приложениях для черчения определенная размерность связана с некоторыми кривыми и текстом. При этом саму размерность определяют уровнем 'DIMENSION1, а пояснительный текст — уровнем 'DIMENSION VALUE’. Для указания, что данная размерность связана с уровнем 'DIMENSION' в объекте presentation_layer_assignment, она должна быть включена в качестве элемента набора объектов assignment_item. Для указания, что конкретный текст связан с уровнем 'DIMENSION VALUE’, он должен быть включен в объект representation_item_dependent_layer_assignment в качестве элемента набора объектов assignmentjtem и определять данную размерность в контексте рассматриваемого объекта.
EXPRESS-спецификация
ENTITY representation_item_dependent_layer_assignment;
SUBTYPE OF (presentation_layer_assignment);
item_context: representationjtem END_ENTITY;
Определение атрибута
item_context — объект representationjtem, определяющий контекст объектов assignment-items на заданном уровне.
Неформальное утверждение
IP1 — объекты assignment-items должны входить в описание объекта item_context.
4.4.35 Объект view_dependent_annotation_representation
Объект view_dependent_annotation_representation является подтипом presentation-representation. Объект view_dependent_annotation_representation является изображением, которое может быть размещено в изображении, представленном объектом presentation_view. Данное изображение включает только элементы объектов annotation_occurrence. Объект view_dependent_annotation_ representation может быть связан только с объектом presentation_view.
EXPRESS-спецификация
ENTITY view_dependent_annotation_representation
SUBTYPE OF (presentation_representation);
SELF\representation.items : SET[1:?] OF view_dependent_annotation_representation_item;
WHERE
WR1: SIZEOF (QUERY (item <* SELF\representation.items | ('PRESENTATION_DEFINITION_SCHEMA. ANNOTATION-OCCURRENCE' IN TYPEOF (item)))) >= 1;
WR2: (SIZEOF (QUERY (prr <* USEDIN (SELF, 'REPRESENTATION-SCHEMA.' + 'REPRESENTATION_RE-LATIONSHIP.REP_2') | 'PRESENTATION_ORGANIZATION_SCHEMA.PRESENTATION-VIEW' IN TYPEOF (prr\representation_relationship.rep_1))) > 0) OR (SIZEOF(QUERY( rm <* USEDIN(SELF, 'REPRESENTATION-SCHEMA.'+ 'REPRESENTATION_MAP.'+ 'MAPPED_REPRESENTATION') | SIZEOF(QUERY( mi <* USEDIN(rm, 'REPRESENTATION-SCHEMA.'+ 'MAPPED_ITEM.'+ 'MAPPING_SOURCE') | SIZEOF(QUE-RY( rep <* using_representations (mi) | 'PRESENTATION_ORGANIZATION_SCHEMA.'+ 'PRESENTATIONVIEW' IN TYPEOF (rep))) > 0 )) > 0)) > 0);
WR3: (SIZEOF (QUERY (prr <* USEDIN (SELF, 'REPRESENTATION-SCHEMA.' + 'REPRESENTATION-RELATIONSHIP.REP-2') | NOT('PRESENTATION_ORGANIZATION_SCHEMA.PRESENTATION-VIEW' IN TYPEOF (prr\representation_relationship.rep_1)))) = 0) AND (SIZEOF(QUERY( rm <* USEDIN(SELF, 'REP-RESENTATION_SCHEMA.'+ 'REPRESENTATION_MAP.'+ 'MAPPED_REPRESENTATION') | SIZEOF(QUE-RY( mi <* USEDIN(rm, 'REPRESENTATION_SCHEMA.'+ 'MAPPED_ITEM.'+ 'MAPPING_SOURCE') | SIZEOF(QUERY( rep <* using_representations (mi) | NOT('PRESENTATION_ORGANIZATION_SCHEMA.'+ 'PRESENTATION_VIEW IN TYPEOF (rep)))) > 0 )) > 0)) = 0);
END_ENTITY;
Определения атрибута
items — набор объектов annotation_occurrences или axis2_placements, которые образуют view_dependent_annotation_representation.
Формальные утверждения
WR1 — одним из элементов в view_dependent_annotation_representation должен быть объект annotation_occurrence;
WR2 — объект view_dependent_annotation_representation должен быть включен в объект presentation_view;
WR3 — все пользователи должны быть объектами presentation_views.
4.4.36 Объект view_volume
Объект view_volume является подтипом founded_item. Объект view_volume определяют в объекте view_reference_system модели камеры, использующей объемные представления. Объект view_ volume определяет объемное представление, которое проецируется на область просмотра объекта product_data_representation_view. Объемным представлением может быть усеченная пирамида или параллелепипед. Содержимое объема проецируется на прямоугольник, заданный атрибутом view_ window, который задает отображение на область просмотра.
Если тип проецирования — параллельный (parallel), проекция создается параллельно линии, направленной из projection_point в геометрический центр view_window, а объектом view_volume является параллелепипед. Если тип проецирования — центральный (central), проекция создается вдоль линий, исходящих из projection_point и пересекающихся с view_window, а объектом view_volume является усеченная пирамида. Определение параллелепипеда представлено на рисунке 12, определение усеченной пирамиды представлено на рисунке 11.
РР - projection_point;
VRS - view_reference_system;
VP - view_plane; FP - front_plane; BP - back plane;
VPD - view_plane_distance;
FPD - frontal_plane_distance;
BPD - back_plane_distance
Рисунок 11 — Объемные представления, тип проецирования — центральный (central)
РР - projection_point;
VRS - view_reference_system;
VP - view_plane; FP - front_plane; BP - back_plane;
VPD - view_plane_distance;
FPD - frontal_plane_distance; BPD - back_plane_distance
Рисунок 12 — Объемные представления, тип проецирования — параллельный (parallel)
Примечание — Так как объект view_volume не является подтипом объекта geometric_representation_ item, экземпляры cartesian_point, представленные атрибутом projection_point, и planar_box, представленные атрибутом view_window, не связывают обычным методом с атрибутом geometric_representation_context каждого объекта representation посредством объекта camera_model_d3, содержащего данный view_volume. Связь geometric_representation_context выполняется посредством супертипа founded_item.
EXPRESS-спецификация
*)
ENTITY view_volume
SUBTYPE OF (founded.item);
projection_type : central_or_parallel;
projection_point: cartesian_point;
view_plane_distance : length_measure;
front_plane_distance : length_measure;
front_plane_clipping : BOOLEAN;
back_plane_distance : length_measure;
back_plane_clipping : BOOLEAN;
view_volume_sides_clipping : BOOLEAN;
view_window : planar_box;
INVERSE
camera_usages : SET[1:?] OF camera_model_d3 FOR perspective_of_volume;
WHERE
WR1: ('GEOMETRY_SCHEMA.AXIS2_PLACEMENT_2D' IN TYPEOF(SELF\view_volume.view_win-dow.placement)) OR (dot_product ((representation_item(' ') || geometric_representation_item() || direc-tion([0.0,0.0,1.0])), view_window\planar_box.placement\axis2_placement_3d.p[3]) = 1.0);
WR2: view_plane_distance = view_window.placement\placement.location.coordinates[3]; END_ENTITY;
Определения атрибутов
projection_type — указатель типа проекции (центральная или параллельная);
projection_point — центр проекции, то есть место, из которого рассматривают предметы. При параллельном проецировании данная точка определяет линию от центра проекции до геометрического 30
центра объекта view_window. При центральном проецировании данная точка является вершиной усеченной пирамиды;
view_plane_distance — расстояние вдоль оси z объекта axis2_placement, заданное атрибутом view_reference_system. Данное расстояние определяет положение оригинала объекта view_window;
front_plane_distance — заданное расстояние вдоль оси z объекта axis2_placement, указанное атрибутом view_reference_system. Данное расстояние указывает плоскость, параллельную плоскости объекта view_window. Данное расстояние задают либо от вершины усеченной пирамиды, либо от передней грани параллелепипеда, в зависимости от типа проекции;
front_plane_clipping — указатель вычерчивания (или отсутствия) геометрической формы проецируемого отображения на плоскости, заданной атрибутом front_plane_distance. Значение TRUE указывает на наличие вычерчивания, a FALSE — на его отсутствие.
Примечание — Если front_plane_clipping имеет значение FALSE, объекты за точкой проецирования могут быть видимыми. При этом подразумевается направление, обратное по отношению к направлению от точки проецирования к плоскости отображения.
back_plane_distance — расстояние вдоль оси z объекта axis2_placement, заданное атрибутом view_reference_system. Данное расстояние определяет плоскость, параллельную плоскости объекта view_window. Этой плоскостью является основание усеченной пирамиды или задняя грань параллелепипеда, в зависимости от типа проекции;
back_plane_clipping — указатель вычерчивания (или отсутствия) геометрической формы проецируемого отображения на плоскости, заданной атрибутом back_plane_distance. Значение TRUE указывает на наличие вычерчивания, a FALSE — на его отсутствие;
view_volume_sides_clipping — указатель вычерчивания (или отсутствия) геометрической формы проецируемого отображения на плоскости, которые являются сторонами объемного представления, заданного объектом view_window. Значение TRUE указывает на наличие вычерчивания, a FALSE — на его отсутствие.
Примечание — Если view_volume_sides_clipping имеет значение FALSE, тогда двумерная проекция может быть расширена за границы области просмотра, заданной объектом camerajmage.
view_window — прямоугольник объекта planar_box. Представление отображается на данный прямоугольник, который в свою очередь отображают на область просмотра камеры camerajmage;
camera_usages — набор объектов camera_model_d3, который ссылается на view_window. Должен существовать минимум один набор.
Примечание — Для объекта camera_model_d3 требуется объект geometric_representation_context. По данной причине атрибут placement объекта view_window должен быть axis2_placement_3d.
Формальные утверждения
WR1 — в случае 3D view_window должно быть параллельно плоскости ху;
WR2 — расстояние view_plane_distance должно иметь то же значение, что и ось z объекта axis2_ placement_3d, обозначенная атрибутом placement объекта view_window.
Неформальные утверждения
IP1 — плоскость, представленная атрибутом front_plane_distance, должна быть расположена к объекту projection_point ближе, чем плоскость, представленная атрибутом back_plane_distance;
IP2 — объект projection_point не должен располагаться в рассматриваемой плоскости (view_ plane).
4.5 Определение ограничений подтипа схемы presentation_organization_schema
4.5.1 Ограничение pos_geometric_representationjtem_subtypes
Ограничение pos_geometric_representationjtem_subtypes применяется к экземплярам подтипов geometric_representationjtem.
EXPRESS-спецификация
SUBTYPE_CONSTRAINT pos_geometric_representationjtem_subtypes FOR geometric_representation_ item;
ONEOF ( camera_model,
camera_model_d3_multi_clippingjntersection,
camera_model_d3_multi_clipping_union, curve, direction, light_source);
END_SUBTYPE_CONSTRAINT;
(*
4.6 Определения функций схемы presentation_organization_schema
4.6.1 Функция acyclic_presentation_representation_relationship
Функция acyclic_presentation_representation_relationship проверяет, является ли ацикличным граф, определенный объектом presentation_representation_relationship, связанным объектом presentation_representation и всеми другими объектами presentation_representation_relationship, ссылающимися на данный presentation_representation. Функция возвращает значение TRUE, если граф является ацикличным, и значение FALSE — в противном случае.
EXPRESS-специсЬикация
*)
FUNCTION acyclic_presentation_representation_relationship (relation : presentation_representation_ relationship; children : SET[0:?] OF presentation_representation): BOOLEAN;
LOCAL
x : SET OF presentation_representation_relationship;
local_children : SET OF presentation_representation;
END_LOCAL;
REPEAT i:=1 TO HIINDEX(children);
IF relation\representation_relationship.rep_1 :=: children[i] THEN
RETURN(FALSE);
ENDJF;
END_REPEAT;
x := bag_to_set (USEDIN (relation\representation_relationship.rep_1, 'REPRESENTATION-SCHEMA. '+
'REPRESENTATION_RELATIONSHIP.REP_2'));
local_children := children + relation\representation_relationship.rep_1;
IF SIZEOF (x) > OTHEN
REPEAT i:=1 TO HIINDEX (x);
IF NOT acyclic_presentation_representation_relationship
(x[i] , local_children) THEN
RETURN (FALSE);
ENDJF;
END_REPEAT;
ENDJF;
RETURN (TRUE);
END_FUNCTION;
Определения аргументов
relation — проверяемый объект presentation_representation_relationship. Данный объект является исходным для рассматриваемой функции;
children — объекты presentation_representation, связанные посредством объекта relation. Они служат исходными данными для рассматриваемой функции. В качестве исходных данных набор этих объектов содержит только атрибут гер_2 объекта relation.
4.6.2 Функция aspect_ratio
Функция aspect_ratio проверяет, что атрибуты size_in_x и size_in_y имеют положительные значения, и возвращает positive_ratio_measure, являющееся отношением длины к высоте для проверяемого объекта planar_box. В других случаях возвращается неопределенное значение.
EXPRESS-спецификация
FUNCTION aspect_ratio (p : planar_box): positive_ratio_measure;
IF (p.size_in_x > 0.) AND (p.size_in_y > 0.) THEN
RETURN (p.size_in_x / p.size_in_y);
ELSE
RETURN (?);
ENDJF;
END_FUNCTION;
Определения аргумента
p — входной проверяемый объект planar_box.
4.7 Определение правила схемы presentation_organization_schema
4.7.1 Правило symbol_representation_rule
Правило symbol_representation_rule гарантирует, что объект presentation-representation-relationship, связывающий два примитива symbol_representation, является примитивом symbol-representation-relationship.
EXPRESS-спецификация
RULE symbol_representation_rule FOR
(presentation_representation_relationship);
WHERE
WR1: SIZEOF(QUERY(each_1 <* presentation_representation_relationship | NOT ('PRESENTATION-DEFINITION—SCHEMA.'+ 'SYMBOL_REPRESENTATION_RELATIONSHIP' IN TYPEOF(each_1)) AND (SIZEOF(QUERY(each_2 <* [each_1\representation_relationship.rep_1, each_1\representation_relationship. rep_2] | 'PRESENTATION_DEFINITION_SCHEMA.SYMBOL-REPRESENTATION' IN TYPEOF(each_2) )) > 0))) = 0;
END_RULE;
Определения аргумента
presentation_representation_relationship — набор всех экземпляров объекта presentation-representation-relationship.
Формальное утверждение
WR1 — объекты presentation_representation_relationship, не являющиеся примитивами symbol_representation_relationship, не могут быть связаны с примитивами symbol-representations.
EXPRESS-спецификация
*)
END_SCHEMA; -- presentation_organization_schema
5 Схема описания представления
5.1 Общие положения
Схема presentation_definition_schema устанавливает структуру для описания аннотации и присвоения стилей соответствующим примитивам. Аннотации, определяемые в настоящем стандарте, всегда двумерны (планарны), но могут быть размещены в трехмерном пространстве.
В настоящем разделе определены требования к информации, которым должны соответствовать реализации, с использованием языка EXPRESS в соответствии с ГОСТ Р ИСО 10303-11. Следующее описание на языке EXPRESS открывает presentation_definition_schema и определяет необходимые внешние ссылки.
Сокращенные наименования объектов в схеме указаны в приложении А. Однозначное обозначение схемы определено в приложении В.
EXPRESS-спецификация
SCHEMA presentation_definition_schema;
REFERENCE FROM external_reference_schema (exte r n a 11 y_d efinedjtem, pre_defined_item);
REFERENCE FROM geometric_model_schema (geometric_curve_set);
REFERENCE FROM geometry_schema (axis2_placement, b_spline_curve, composite_curve, curve, geometric_representation Jtem, point, polyline);
REFERENCE FROM measure_schema (positive_ratio_measure);
REFERENCE FROM presentation_appearance_schema (styledjtem);
REFERENCE FROM presentation_organization_schema (annotation_representation_select);
REFERENCE FROM presentation_resource_schema (character_glyph_symbol, font_select, planar_box, planar_extent, text_font);
REFERENCE FROM representation_schema (item_in_context, mappedjtem, representation, representationjtem, representation_map, representation_relationship, representation_relationship_with_transformation, using_representations);
REFERENCE FROM support_resource_schema (bag to set, label, text);
- ГОСТ P ИСО 10303-41
- ПНСТ 797
- ПНСТ 797
- ГОСТ P ИСО 10303-41
- настоящий стандарт
- настоящий стандарт
- ГОСТ Р ИСО 10303-46
- ГОСТ Р ИСО 10303-43
- ГОСТ Р ИСО 10303-41
Примечания
1 Схемы, на которые выше даны ссылки, определены в следующих стандартах:
external_reference_schema ГОСТ Р ИСО 10303-41;
geometric_model_schema ПНСТ 797;
geometry_schema ПНСТ 797;
measure_schema ГОСТ Р ИСО 10303-41;
presentation_appearance_schema раздел 6 настоящего стандарта;
presentation_organization_schema раздел 4 настоящего стандарта;
presentation_resource_schema раздел 7 настоящего стандарта;
representation_schema ГОСТ Р ИСО 10303-43;
support_resource_schema ГОСТ Р ИСО 10303-41.
2 Графическое представление схемы presentation_definition_schema приведено в приложении D.
5.2 Фундаментальные понятия и допущения
Примитивы аннотаций являются элементами, из которых создают символические представления аннотаций. Данными примитивами, определенными в настоящей схеме, являются аннотируемые точки, кривые, заполняемые области, тексты, символы и таблицы.
Аннотируемой является точка, представляемая с использованием объекта point_style. Схема вида представления не определяет специального объекта для аннотируемых точек, потому что объект point, определенный в ПНСТ 797, достаточен с точки зрения аннотирования.
Аннотируемая кривая является плоской (планарной) кривой, представляемой с использованием объекта curve_style. Схема вида представления не определяет специального объекта для аннотируемых кривых, потому что объект curve, определенный в ПНСТ 797, достаточен с точки зрения аннотирования.
Аннотируемый текст представляет собой набор символов, символьных строк, множества строк и более сложных множеств строк и символов. Аннотируемый текст определяют посредством объекта annotation_text, в котором использовано понятие объекта mappedjtem. Более подробная информация об объекте mappedjtem приведена в ГОСТ Р ИСО 10303-43. Объект annotation_text определяет положение и ориентацию набора символов, простых символьных строк, множеств строк и более сложных множеств строк и символов, заданных в примитиве text_string_representation. Несколько объектов annotation_text могут ссылаться на один и тот же примитив text_string_representation. Данный примитив представляет собой набор объектов annotation_text, defined_character_glyph, annotation_ text_character, textjiteral или composite_text. Подобная структура обеспечивает рекурсивную структуру объекта annotation_text. Символы могут быть предопределены, определены извне или определены при соответствующем обмене согласно положениям настоящего стандарта. В последнем случае объект annotation_text_character должен ссылаться на объект character_glyph_symbol, который содержит геометрическое представление символа. Примитив textjiteral позволяет определить текстовую строку в качестве части объекта annotation_text. Сложный набор конструктивов может быть размещен и стилизован как единое целое посредством объекта composite_text. Дальнейшая детализация объекта annotation_text позволяет дополнительно определить в нем для заданного текста границы затенения, обрамления, выделения (подчеркивания, надчеркивания) или внешние границы. Объект annotation_text представляют посредством объекта text_style. Более подробные сведения об объекте text_style приведены в разделе 6.
Аннотируемым символом является предопределенный или внешне определяемый символ или множество объектов representationjtem, образующий графический символ. Аннотируемый символ определяют посредством объектов defined_symbol или annotation_symbol. Объект defined_symbol масштабирует, позиционирует и ориентирует неявное описание символа. Объект annotation_symbol использует концепцию объекта mappedjtem. Более полная информация об объекте mappedjtem приведена в ГОСТ Р ИСО 10303-43. Объект annotation_symbol масштабирует, позиционирует и ориентирует множество объектов representationjtem, заданное в объекте symbol_representation. Несколько объектов annotation_symbol могут ссылаться на один и тот же объект symbol_representation. Объекты representationjtem, образующие символ, могут быть элементами геометрической формы (см. ПНСТ 797), примитивами или экземплярами аннотации. Подобная структура обеспечивает рекурсивную структуру символов. Объект symbol_representation может быть встроен в другие объекты symbol_ representation, что определяют посредством связи между двумя объектами symbol_representation. Связь задают посредством объекта типа symbol_representation_relationship, ссылающегося на пару представлений. Одно из них называют гер_1, а другое — гер_2; связь направлена от родителя (гер_1) к потомку (гер_2). Данная связь дополнительно определяет преобразование, которое должно быть выполнено для перевода элементов из гер_2 в систему координат гер_1. Тогда один объект symbol_ representation представляет собой набор всех объектов representationjtem данного представления, а также всех объектов symbol_representation, являющихся узлами в дереве отношений, связывающих данное представление. Символы представляют посредством объекта symbol_style, представляющего собой набор стилей представления. Более подробная информация об объекте symbol_style приведена в разделе 6.
Аннотируемой таблицей является специальный тип примитива annotation_symbol, представляющий таблицу. Аннотируемую таблицу определяют посредством объекта annotation_table, использующего концепцию объекта mappedjtem. Более подробная информация об объекте mappedjtem приведена в ГОСТ Р ИСО 10303-43. Объект annotation J:able масштабирует, позиционирует и ориентирует таблицу, заданную в объекте table_representation. Несколько объектов annotation_table могут ссылаться на один и тот же объект table_representation. Объект table_representation может быть встроен в объекты table_ record_representation, которые могут образовывать ряд объектов table_record_field_representation. Объект table_record_representation обычно соответствует столбцу или строке таблицы, а объект table_record_field_representation — одной ячейке таблицы. Однако могут быть созданы более сложные структуры, потому что объекты table_record_field_representation могут входить в другие объекты table_record_field_representation. Подобная иерархия представляется объектом table_representation, содержащим соответствующие компоненты из объектов table_representation_relationship, уточняющих специализацию объекта symbol_representation_relationship. Объект annotation_table определяет только пустую таблицу. Для внесения текста в таблицу следует отдельно определить экземпляры объекта annotation_text в зависимости от их расположения в таблице. Для обеспечения связи этих текстов с конкретными полями таблицы может быть использован объект table_text_relationship.
Примитивы аннотаций могут быть описаны только вместе с заданными для них стилями. Примитив аннотации вместе с его стилем называют объектом annotation_occurrence. Для каждого типа примитива должен быть определен специальный объект annotation_occurrence, определяющий ограничения стиля представления для данного типа. Объект annotation_occurrence_relationship позволяет определить отношение между двумя объектами annotation_occurrence. Объект table_text_relationship связывает объект annotation_text_occurrence с объектом table_record_field_representation аннотируемой таблицы.
5.3 Определения типов схемы presentation_definition_schema
5.3.1 Тип annotation_symbol_occurrence_item
Тип annotation_symbol_occurrence_item является списком дополнительных типов данных. Тип annotation_symbol_occurrence_item обеспечивает механизм ссылки на экземпляр одного из типов данных.
EXPRESS-спецификация
*)
TYPE annotation_symbol_occurrence_item = SELECT
(annotation_symbol, defined_symbol);
END_TYPE;
5.3.2 Тип annotation_table_occurrence_item
Тип annotation_table_occurrence_item является списком дополнительных типов данных. Тип annotation_table_occurrence_item обеспечивает механизм ссылки на экземпляр одного из типов данных.
EXPRESS-спецификация
*)
TYPE annotation_table_occurrence_item = SELECT
(annotation_table,
defined_table);
END_TYPE;
5.3.3 Тип annotation_text_occurrence_item
Тип annotation_text_occurrence_item является списком дополнительных типов данных. Тип annotation_text_occurrence_item обеспечивает механизм ссылки на экземпляр одного из типов данных.
EXPRESS-спецификация
TYPE annotation_text_occurrence_item = SELECT
(textjiteral, annotation_text, a n n otatio n_text_ch a racte r, defined_character_glyph, composite_text);
END_TYPE;
5.3.4 Тип curveorcurveset
Тип curve_or_curve_set является списком дополнительных типов данных. Тип curve_or_curve_ set обеспечивает механизм ссылки на экземпляр одного из типов данных.
EXPRESS-спецификация
TYPE curve_or_curve_set = SELECT
(curve,
geometric_curve_set);
END_TYPE;
5.3.5 Тип defined_glyph_select
Тип defined_glyph_select является списком дополнительных типов данных. Тип defined_glyph_ select обеспечивает механизм ссылки на экземпляр одного из типов данных.
EXPRESS-спецификация
TYPE defined_glyph_select = SELECT;
(pre_defined_character_glyph,
externally_defined_character_glyph);
END_TYPE;
5.3.6 Тип defined_symbol_select
Тип defined_symbol_select является списком дополнительных типов данных. Тип defined_ symbol_select обеспечивает механизм ссылки на экземпляр одного из типов данных. Тип defined_ symbol_select задает неявное описание примитива defined_symbol.
EXPRESS-спецификация
TYPE defined_symbol_select = SELECT;
(pre_defined_symbol,
externally_defined_symbol);
END_TYPE;
5.3.7 Тип presentable_text
Тип presentable_text является любой строкой, которая может быть представлена.
EXPRESS-спецификация
TYPE presentable_text = STRING;
WHERE
WR1: control_characters_free(SELF);
END_TYPE;
Формальные утверждения
WR1 — строка не должна содержать управляющих символов.
Примечание — В объекте presentable_text не допускается наличие символов перевода строки и возврата каретки.
5.3.8 Тип text_alignment
Тип text_alignment предназначен для контроля за выравниванием текста.
Примечание — Прикладные протоколы должны определять допустимые значения text_alignment и точную интерпретацию данных значений.
Пример — В прикладном протоколе может быть определено, что допустимыми значениями являются только значения: 'left' (по левому краю), 'center' (по центру), 'right' (по правому краю), и определены соответствующие им расположения текста относительно точки выравнивания (см. рисунок 13).
left (по левому краю)
center (по центру)
right (по правому краю)
Рисунок 13 — Примеры выравнивания текста
EXPRESS-спецификация
TYPE text_alignment = label;
END_TYPE;
5.3.9 Тип text_delineation
Тип text_delineation предназначен для контроля за выделениями текста.
Примечание — Прикладные протоколы могут определять допустимые значения text_delineation и точную интерпретацию данных значений.
Пример — В прикладном протоколе может быть определено, что допустимыми значениями являются только значения: 'underline' (подчеркивание) и 'overline' (надчеркивание) и соответствующие им выделения текста (см. рисунок 14).
Надчеркнутый текст Подчеркнутый текст
Рисунок 14 — Примеры выделения текста
EXPRESS-спецификация
*)
TYPE text_delineation = label;
END_TYPE;
5.3.10 Тип text_or_character
Тип text_or_character является списком дополнительных типов данных. Тип text_or_character обеспечивает механизм ссылки на экземпляр одного из типов данных. Тип text_or_character определяет элементы, которые могут быть использованы в примитивах annotation_text или composite_text.
EXPRESS-спецификация
TYPE text_or_character = SELECT;
(annotation_text,
annotation_text_character,
defined_character_glyph,
composite_text, textjiteral);
END_TYPE;
5.3.11 Тип text_path
Тип text_path определяет расположение следующего символа текста относительно текущего символа. Следующий символ может быть расположен слева, справа, ниже или выше текущего символа.
EXPRESS-спецификация
TYPE text_path = ENUMERATION OF
(left, right, up,
down);
END_TYPE;
Определения перечисленных элементов
left — следующий символ располагают слева от текущего;
right — следующий символ располагают справа от текущего;
up — следующий символ располагают выше текущего;
down — следующий символ располагают ниже текущего.
5.3.12 Тип text_string_representation_item
Тип text_string_representation_item является списком дополнительных типов данных. Тип text_ string_representation_item обеспечивает механизм ссылки на экземпляр одного из типов данных.
EXPRESS-спецификация
TYPE text_string_representation_item = SELECT
(textjiteral,
annotation_text,
a n n ota ti о n_text_ch a ra cte r,
defined_character_glyph,
composite_text,
axis2_placement);
END_TYPE;
5.4 Определение объектов схемы presentation_definition_schema
5.4.1 Объект annotation_curve_occurrence
Объект annotation_curve_occurrence является подтипом annotation_occurrence. Объект annotation_curve_occurrence является объектом curve или набором объектов curve с заданным стилем представления.
EXPRESS-спецификация
ENTITY annotation_curve_occurrence
SUBTYPE OF (annotation_occurrence);
SELF\styled_item.item : curve_or_curve_set;
END_ENTITY;
Определения атрибутов
item — объект curve или объект geometric_curve_set, аннотируемые объектом annotation-curve_occurrence.
5.4.2 Объет annotation_fill_area
Объект annotation_fill_area является подтипом geometric_representation_item. Объект annotation_fill_area представляет собой набор замкнутых кривых curves, поле которых должно быть заполнено штриховкой, затенением, цветом или мозаикой. Данный объект определяют посредством границ непересекающихся или несамопересекающихся замкнутых кривых. Кривые определяют границы планарных областей, заполняемых в соответствии со стилем, заданным в annotation_fill_area. Заполнение областей проводят в соответствии со следующими правилами:
- кривая, не охваченная любой другой кривой, является границей между незаполняемой внешней и заполняемой внутренней областями (см. рисунок 15а);
- кривая, окруженная незаполненной областью, если она охватывает другую внутреннею кривую, определяет заполняемую область (см. рисунок 15b);
- если третья кривая расположена внутри второй, то она охватывает заполняемую область (см. рисунок 15с);
- для каждой последующей кривой применяют описанную выше процедуру в том же порядке.
Рисунок 15 — Заполнение аннотируемых областей
EXPRESS-спецификация
ENTITY annotation_fill_area
SUBTYPE OF (geometric_representation_item);
boundaries : SET[1:?] OF curve;
WHERE
WR1: (SELF\geometric_representationJtem.dim = 3) OR (SIZEOF (QUERY (curve <* boundaries | NOT ( ('GEOMETRY_SCHEMA.CIRCLE' IN TYPEOF (curve)) OR ('GEOMETRY_SCHEMA.ELLIPSE' IN TYPEOF (curve)) OR (('GEOMETRY_SCHEMA.B_SPLINE_CURVE' IN TYPEOF (curve)) AND (curve\b_spline_curve. closed_curve = TRUE) ) OR ( ('GEOMETRY_SCHEMA.COMPOSITE-CURVE' IN TYPEOF (curve)) AND (curve\composite_curve.closed_curve = TRUE) ) OR ( ('GEOMETRY_SCHEMA.POLYLINE' IN TYPEOF (curve)) AND (curve\polyline.points[LOINDEX(curve\polyline.points)] = curve\polyline.points[HIINDEX(curve\ polyline.points)]))))) = 0);
END_ENTITY;
Определение атрибутов
boundaries — набор объектов curves, определяющих области заполнения.
Формальные утверждения
WR1 — все кривые в наборе boundaries должны быть замкнутыми и планарными.
Неформальные утверждения
IP1 — если в набор, заданный атрибутом boundaries, входит не менее двух кривых, все они должны быть компланарными (расположенными в одной плоскости), и любая пара кривых не должна пересекаться между собой.
5.4.3 Объект annotation_fill_area_occurrence
Объект annotation_fill_area_occurrence является типом annotation_occurrence. Объект annotation_fill_area_occurrence задает стиль объекта annotation_fill_area; он также описывает исходную позицию для объекта fill_area посредством объекта point.
EXPRESS-спецификация
ENTITY annotation_fill_area_occurrence
SUBTYPE OF (annotation_occurrence);
fill_style_target: point;
SELF\styled_item.item : annotation_fill_area;
END_ENTITY;
Определение атрибутов
fill_style_target — объект point, определяющий исходное местоположение объекта fill-area-style, заданное для объекта annotation_fill_area_occurrence;
item — объект annotation_fill_area, определяемый стилем представления annotation-fill-area-occurrence.
5.4.4 Объект annotation_occurrence
Объект annotation_occurrence является подтипом styled_item. Объект annotation_occurrence определяет экземпляры аннотации посредством комбинирования двумерной геометрической формы или элементов аннотации в стиле ее представления. Объекты annotation_occurrence должны быть использованы только в объектах representations, определяющих назначение аннотации, то есть в объектах area_dependent_annotation_representation, view_dependent_annotati-on_representation, curve_style_curve_pattern, fill_area_style_tile_curve_with_style или fill_area_style_tile_coloured_ region. Объектом annotation_occurrence может быть один из объектов annotation_point_occurrence, annotation_curve_occurrence, annotation_fill_area_occurrence, annotation_text_occurrence или annotation_sym-bol_occurrence.
EXPRESS-спецификация
ENTITY annotation_occurrence
SUPERTYPE OF (ONEOF (annotation_point_occurrence, annotation_curve_occurrence, a n n otatio n_f i I l_a rea_occu r re n ce, annotation_text_occurrence, annotation_symbol_occurrence))
SUBTYPE OF (styledjtem);
WHERE
WR1: 'GEOMETRY-SCHEMA.GEOMETRIC-REPRESENTATIONJTEM' IN TYPEOF (SELF);
WR2: SIZEOF (QUERY (reps <* using_representations(SELF) | NOT('PRESENTATION_ORGANIZATION_ SCHEMA.ANNOTATION_REPRESENTATION_SELECT' IN TYPEOF(reps)))) = 0;
END_ENTITY;
Формальные утверждения
WR1 — объектом annotation_occurrence должен быть объект geometric_representation_item;
WR2 — объекты annotation_occurrence должны быть использованы только в объектах representations, определяющих назначение аннотации, то есть в объектах area_dependent_ annotation_representation, view_dependent_annotation_representation, curve_style_curve_pattern, fill_area_style_tile_curve_with_style или fill_area_style_tile_coloured_region
5.4.5 Объект annotation_occurrence_relationship
Объект annotation_occurrence_relationship задает связь между двумя объектами annotation_ occurrence.
Примечание — Порядок объектов annotation_occurrence не имеет значения. Разные имена атрибутов используют только для различения этих объектов.
EXPRESS-спецификация
*)
ENTITY annotation_occurrence_relationship;
name : label;
description : text;
relating_annotation_occurrence : annotation_occurrence;
related_annotation_occurrence : annotation_occurrence;
END_ENTITY;
(*
Определения атрибутов
name — слово или группа слов, посредством которых ссылаются на annotation_occurrence_ relationship;
description — текст, определяющий характер объекта annotation_occurrence_relationship; relating_annotation_occurrence — первый из двух связываемых объектов annotation_occurrence; related_annotation_occurrence — второй из двух связываемых объектов annotation_occurrence.
5.4.6 Объект annotation_point_occurrence
Объектом annotation_point_occurrence является подтипом annotation_occurrence. Объектом annotation_point_occurrence является объект point с заданным стилем представления.
EXPRESS-спецификация
ENTITY annotation_point_occurrence
SUBTYPE OF (annotation_occurrence);
SELF\styled_item.item : point;
END_ENTITY;
Определения атрибута
item — объект point, определяемый стилем представления annotation_point_occurrence.
5.4.7 Объект annotation_symbol
Объект annotation_symbol является подтипом mapped_item. Объект annotation_symbol является отображением объекта symbol_representation в виде объекта geometric_representation_item, указывающее на использование объекта symbol_representation в качестве элемента изображения.
Примечание — Примеры аннотируемых символов приведены на рисунке 16.
Рисунок 16 — Примеры аннотируемых символов
EXPRESS-спецификация
ENTITY annotation_symbol
SUBTYPE OF (mapped.item);
SELF\mapped_item.mapping_source : symbol_representation_map;
SELF\mapped_item.mapping_target: symbol-target;
WHERE
WR1: 'GEOMETRY_SCHEMA.GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF (SELF); END_ENTITY;
Определения атрибутов
mapping_source — объект symbol_representation_map, отображающий symbol_representation;
mapping_target — объект symbol_target, определяющий положение символа.
Формальные утверждения
WR1 — экземпляром объекта annotation_symbol должен быть экземпляр объекта geometric_ representation_item.
5.4.8 Объект annotation_symbol_occurrence
Объект annotation_symbol_occurrence является подтипом annotation_occurrence. Объект annotation_symbol_occurrence является объектом annotation_symbol или объектом defined_symbol с заданным стилем их представления.
EXPRESS-спецификация
ENTITY annotation_symbol_occurrence
SUBTYPE OF (annotation_occurrence);
SELF\styled_item.item : annotation_symbol_occurrence_item;
END_ENTITY;
(*
Определения атрибута
item — объект annotation_symbol_occiirrence_item, определяемый стилем annotation_symbol_ occurrence.
5.4.9 Объект annotation_table
Объект annotation_table является подтипом annotation_symbol. Объект annotation_table является отображением объекта table_representation для представления его в качестве элемента изображения.
EXPRESS-спецификация
ENTITY annotation_table
SUBTYPE OF (annotation_symbol);
WHERE
WR1: 'PRESENTATION_DEFINITION_SCHEMA.TABLE-REPRESENTATION' IN TYPEOF (SELF\mapped_ item.mapping_source.mapped_representation);
END_ENTITY;
(*
Формальное утверждение
WR1 — отображаемым объектом representation должен быть примитив table_representation.
5.4.10 Объект annotation_table_occurrence
Объект annotation_table_occurrence является подтипом annotation_symbol_occurrence. Объектом annotation_table_occurrence являются объекты annotation_table или defined_table с заданным стилем их представления.
EXPRESS-спецификация
ENTITY annotation_table_occurrence
SUBTYPE OF (annotation_symbol_occurrence);
SELF\styled_item.item : annotation_table_occurrence_item; END_ENTITY;
Определения атрибута
item — объект annotation_table_occurrence_item, определяемый стилем annotation-table-occurrence.
5.4.11 Объект annotation_text
Объект annotation_text является подтипом mapped_item. Объект annotation_text представляет собой отображение примитива text_string_representation, содержащее объекты annotation-text_character, text-literal, composite_text или annotation_text в качестве объекта geometric_ representation_item, определяющего, что text_string_representation является частью изображения. Данная структура позволяет представить annotation_text в виде простых символьных строк, набора строк или более сложных наборов строк и символов.
EXPRESS-спецификация
ENTITY annotation_text
SUBTYPE OF (mapped_item);
SELF\mapped_item.mapping_target: axis2_placement;
WHERE
WR1: 'PRESENTATION_DEFINITION_SCHEMA.TEXT_STRING_REPRESENTATION' IN TYPEOF( SELF\ mapped_item. mapping_source.mapped_representation);
WR2: 'GEOMETRY-SCHEMA.GEOMETRIC-REPRESENTATIONJTEM' IN TYPEOF( SELF); END_ENTITY;
Определения атрибута
mapping_target — объект axis2_placement, определяющий положение и ориентацию объекта annotation_text.
Формальные утверждения
WR1 — объектом mapped_representation должен быть объект text_string_representation;
WR2 — экземпляром объекта annotationjext должен быть экземпляр объекта geometric_ representationjtem.
5.4.12 Объект annotation Jext_character
Объект annotationjext_character является подтипом mappedjtem, содержащим мнемограмму (символ) соответствующего mapping_source. Данный символ является глифом в рамках соответствующего обмена данными.
EXPRESS-спецификация
ENTITY annotationjext_character
SUBTYPE OF (mappedjtem);
alignment: text_alignment;
SELF\mappedJtem.mappingjarget: axis2_placement;
WHERE
WR1: 'PRESENTATION_RESOURCE_SCHEMA.CHARACTER_GLYPH_SYMBOL' IN TYPEOF (SELF\ mapped Jtem.mapping_source.mapped_representation);
WR2: ’GEOMETRY-SCHEMA.GEOMETRIC-REPRESENTATIONJTEM' IN TYPEOF (SELF); ENDJENTITY;
Определения атрибутов
alignment — указывает положение символа;
mappingjarget — объект axis2_placement, получаемый в результате отображающего преобразования.
Формальные утверждения
WR1 — источником объекта annotationjext_character должен быть объект character_glyph_ symbol;
WR2 — объектом annotation Jext_character должен быть объект geometric_representation Jtem.
5.4.13 Объект annotation Jext_occurrence
Объект annotationjext_occurrence является подтипом annotation_occurrence. Объектом annotation Jext_occurrence являются объекты textjiteral, annotation Jext, annotation Jext_character, defined_character_glyph или compositejext с заданными стилями их представления.
EXPRESS-спецификация
ENTITY annotation Jext_occurrence
SUBTYPE OF (annotation_occurrence);
SELF\styledJtem.item : annotationjext_occurrencejtem;
END_ENTITY;
Определения атрибута
item — объект annotationjext_occurrencejtem, определяемый стилем annotationJext_ occurrence.
5.4.14 Объект annotation Jext_with_associated_curves
Объект annotationjext_with_associated_curves является подтипом annotationjext, содержащим одну или несколько кривых (curve).
EXPRESS-спецификация
*)
ENTITY annotation_text_with_associated_curves
SUBTYPE OF (annotationjext);
associated_curves : SET[1:?] OF curve;
END_ENTITY;
Определение атрибута
associated_curves — набор кривых (curve), связанных с объектом annotationjext.
Примечание — Если имеются кривые (curve), связанные с примитивом annotation_text_with_ associated_curves, стиль их представления может быть задан объектом annotation_curve_occurrence.
5.4.15 Объект annotation_text_with_blanking_box
Объект annotation_text_with_blanking_box является подтипом annotation_text, определяющим габариты прямоугольника, обрамляющего текст.
EXPRESS-спецификация
ENTITY annotation_text_with_blanking_box
SUBTYPE OF (annotation_text);
blanking : planar_box;
END_ENTITY;
Определение атрибута
blanking — объект planar_box, задающий прямоугольную область, внутри которой может быть представлен только объект annotation_text.
5.4.16 Объект annotation_text_with_delineation
Объект annotation_text_with_delineation является подтипом annotation_text, определяющим выделение текста. Тип выделения и его влияние на вид текста задают в прикладном протоколе.
EXPRESS-спецификация
*)
ENTITY annotation_text_with_delineation
SUBTYPE OF (annotation_text);
delineation : text_delineation;
END_ENTITY;
Определение атрибута
delineation — требования к характеристикам выделения текста.
5.4.17 Объект annotation_text_with_extent
Объект annotation_text_with_extent является подтипом annotation_text, объем (протяженность) которого четко задан.
EXPRESS-спецификация
ENTITY annotation_text_with_extent
SUBTYPE OF (annotation_text);
extent: planar_extent;
END_ENTITY;
Определение атрибута
extent — протяженность объекта annotation_text по осям х и у локальной системы координат, заданной атрибутом placement.
5.4.18 Объект composite_text
Объект composite_text является подтипом geometric_representation_item. Объект composite_ text является набором объектов text_literal, annotation_text, annotation_text_character, defined_ character_glyph или другим объектом composite_text, который может быть задан и оформлен в виде набора.
EXPRESS-спецификация
ENTITY composite_text
SUBTYPE OF (geometric_representation_item);
collected_text: SET[2:?] OF text_or_character;
WHERE
WR1: acyclic_composite_text( SELF, collected_text);
END_ENTITY;
Формальное утверждение
WR1 — непосредственно composite_text не должен участвовать в описании объекта composite_text.
5.4.19 Объект composite_text_with_associated_curves
Объект composite_text_with_associated_curves является подтипом composite_text, содержащим одну или несколько кривых (curve).
EXPRESS-спецификация
ENTITY composite_text_with_associated_curves
SUBTYPE OF (composite_text);
associated_curves : SET[1:?] OF curve;
END_ENTITY;
Определение атрибута
associated_curves — набор кривых (curve), связанных с объектом composite_text.
Примечание — Если имеются кривые (curve), связанные с объектом composite_text_with_associated_ curves, стиль их представления может быть задан объектом annotation_curve_occurrence.
5.4.20 Объект composite_text_with_blanking_box
Объект composite_text_with_blanking_box является подтипом composite_text, определяющим габариты прямоугольника, обрамляющего текст.
EXPRESS-спецификация
ENTITY composite_text_with_blanking_box
SUBTYPE OF (composite_text);
blanking : planar_box;
END_ENTITY;
Определение атрибута
blanking — объект planar_box, задающий прямоугольную область, внутри которой может быть представлен только объект composite_text.
5.4.21 Объект composite_text_with_delineation
Объект composite_text_with_delineation является подтипом composite_text, задающим выделение текста. Тип выделения и его влияние на вид текста задают в прикладном протоколе.
EXPRESS-спецификация
ENTITY composite_text_with_delineation
SUBTYPE OF (composite_text);
delineation : text_delineation;
END_ENTITY;
Определение атрибута
delineation — требования к характеристикам выделения текста.
5.4.22 Объект composite_text_with_extent
Объект composite_text_with_extent является подтипом composite_text с четко заданной протяженностью.
EXPRESS-спецификация
ENTITY composite_text_with_extent
SUBTYPE OF (composite_text);
extent: planar_extent;
END_ENTITY;
Определение атрибута
extent — протяженность объекта composite_text_with_extent по осям х и у.
5.4.23 Объект defined_character_glyph
Объект defined_character_glyph является типом geometric_representation_item. Объектом defined_character_glyph является глиф символа, неявно заданный посредством объекта pre_defined_ character_glyph или externally_defined_character_glyph.
EXPRESS-спецификация
ENTITY defined_character_glyph
SUBTYPE OF (geometric_representation_item);
definition : defined_glyph_select;
placement: axis2_placement;
END_ENTITY;
Определение атрибута
definition — неявное описание глифа символа (заданное ранее или определенное извне);
placement — описание положения и ориентации глифа символа.
5.4.24 Объект defined_symbol
Объект defined_symbol является подтипом geometric_representation_item. Объект defined_ symbol представляет собой неявное определение символа посредством объектов pre_defined_symbol или externally_defined_symbol.
EXPRESS-спецификация
ENTITY defined_symbol
SUBTYPE OF (geometric_representation_item);
definition : defined_symbol_select;
target: symbol-target;
END_ENTITY;
(*
Определения атрибутов
definition — неявное описание символа (предопределенное или заданное из вне);
target — описание масштабирования, местоположения и ориентации объекта defined_symbol.
5.4.25 Объект defined_table
Объект defined_table является подтипом defined_symbol, определяющим неявное описание таблицы.
EXPRESS-спецификация
ENTITY defined_table
SUBTYPE OF (defined_symbol);
END_ENTITY;
5.4.26 Объект externally_defined_character_glyph
Объект externally_defined_character_glyph является подтипом externally_defined_item, имеющим ссылку на глиф символа.
EXPRESS-спецификация
ENTITY externally_defined_character_glyph
SUBTYPE OF (externally_defined_item);
END_ENTITY;
5.4.27 Объект externally_defined_symbol
Объект externally_defined_symbol является подтипом externally_defined_item, имеющим внешнюю ссылку на данный символ.
EXPRESS-спецификация
ENTITY externally_defined_symbol
SUBTYPE OF (externally_defined_item);
END_ENTITY;
5.4.28 Объект pre_defined_character_glyph
Объект pre_defined_character_glyph является подтипом pre_defined_item. Объект pre_defined_ character_glyph обеспечивает обмен данными для определения прикладной специфики глифа символа. Фактический глиф символа должен быть задан в прикладном протоколе.
EXPRESS-спецификация
ENTITY pre_defined_character_glyph
SUBTYPE OF (pre_defined_item);
END_ENTITY;
5.4.29 Объект pre_defined_symbol
Объект pre_defined_symbol является подтипом pre_defined_item. Объект pre_defined_symbol указывает на возможность обмена информацией для определения символа, используемого в конкретном приложении. Фактическое представление данного символа должно быть определено в прикладном протоколе.
EXPRESS-спецификация
ENTITY pre_defined_symbol
SUBTYPE OF (pre_defined_item);
END_ENTITY;
5.4.30 Объект symbol_representation
Объект symbol_representation является подтипом representation, используемым при формировании символа. Это позволяет определить объекты annotation_table, конкретизирующие объект annotation_symbol. Объекты symbol_representation могут быть связаны друг с другом только посредством объектов symbol_representation_relationship.
EXPRESS-спецификация
ENTITY symbol_representation
SUBTYPE OF (representation);
END_ENTITY;
5.4.31 Объект symbol_representation_map
Объект symbol_representation_map является подтипом representation_map, отображающим объект symbol_representation в annotation_symbol.
EXPRESS-спецификация
ENTITY symbol_representation_map
SUBTYPE OF (representation_map);
SELF\representation_map.mapped_representation : symbol-representation;
SELF\representation_map.mapping_origin : axis2_placement;
WHERE
WR1: SIZEOF( QUERY(mi <* SELF\representation_map.map_usage | NOT('PRESENTATION_DEFINITION_ SCHEMA.ANNOTATION-SYMBOL' IN TYPEOF(mi)))) = 0;
END_ENTITY;
Определения атрибутов
mapped_representation — объект symbol_representation, входящий в annotation_symbol;
mapping_origin — объект axis2_placement, определяющий начало системы координат отображения.
Формальные утверждения
WR1 — каждый объект mapped_item, ссылающийся на объект symbol_representation_map, должен являться объектом annotation_symbol.
5.4.32 Объект symbol_representation_relationship
Объект symbol_representation_relationship является подтипом объекта representation-relationship_with_transformation, используемым для связи объектов symbol_representation в иерархии.
EXPRESS-спецификация
ENTITY symbol_representation_relationship
SUBTYPE OF (representation_relationship_with_transformation);
SELF\representation_relationship.rep_1 : symbol_representation;
SELF\representation_relationship.rep_2 : symbol_representation;
WHERE
WR1: acyclic_symbol_representation_relationship (SELF, [SELF\representation_relationship. rep_2]); END_ENTITY;
Определения атрибутов
rep_1 — объект symbol_representation, играющий роль родителя (корня) в дереве объектов symbol_representation;
гер_2 — объект symbol_representation, играющий роль потомка (листа) в дереве объектов symbol_representation.
Формальные утверждения
WR1 — объект symbol_representation_relationship не должен входить в дерево объектов symbol_representation, корнем которого является лист дерева данных объектов.
5.4.33 Объект symbol_representation_with_blanking_box
Объект symbol_representation_with_blanking_box является подтипом symbol_representation, определяющим прямоугольник для отображения символа, не содержащий других элементов.
EXPRESS-спецификация
*)
ENTITY symbol_representation_with_blanking_box
SUBTYPE OF (symbol_representation);
blanking : planar_box;
WHERE
WR1: item_in_context (blanking, SELF\representation.context_of_items);
END_ENTITY;
(*
Определение атрибута
blanking — прямоугольник, в котором размещен только отображаемый символ.
Формальное утверждение
WR1 — прямоугольник, не содержащий других элементов, должен быть представлен в контексте атрибута context_of_items.
5.4.34 Объект symbol_target
Объект symbol_target является подтипом geometric_representation_item. Объект symbol_target является указателем преобразования, определяющего положение и ориентацию объекта symbol_ representation, используемого в качестве объекта annotation_symbol, или объекта defined_symbol. Объект symbol_target определяет ориентированное положение и масштабирование по осям х и у указанных в нем объектов.
EXPRESS-спецификация
ENTITY symbol_target
SUBTYPE OF (geometric_representation_item);
placement: axis2_placement;
x_scale : positive_ratio_measure;
y_scale : positive_ratio_measure;
END_ENTITY;
Определения атрибутов
placement — положение и ориентация объектов symbol_representation или defined_symbol, используемых в качестве annotation_symbol;
x_scale — масштаб по оси х объектов symbol_representation или defined_symbol;
y_scale — масштаб по оси у объектов symbol_representation или defined_symbol.
5.4.35 Объект table_record_field_representation
Объект table_record_field_representation является подтипом symbol_representation, используемым при создании полей в записях таблицы. Объекты table_record_field_representation могут быть связаны между собой только посредством объектов table_representation_relationship. Если объект table_record_field_representation имеет роль гер_1 в table_representation_relationship, тогда только table_record_field_representation может иметь роль гер_2.
EXPRESS-спецификация
ENTITY table_record_field_representation
SUBTYPE OF (symbol_representation);
WHERE
WR1: (SIZEOF(USEDIN(SELF, 'REPRESENTATION-SCHEMA.'+ 'REPRESENTATION-RELATIONSHIP. REP-2')) > 0) OR (SIZEOF(QUERY( mapjtem <* USEDIN(SELF, 'REPRESENTATION-SCHEMA.'+ 'REPRESENTATION_MAP.'+ 'MAPPED_REPRESENTATION') | SIZEOF(QUERY( mi <* USEDIN(map_item, 'REPRESENTATION-SCHEMA.'+ 'MAPPED_ITEM.'+ 'MAPPING_SOURCE') | SIZEOF(QUERY( rep <* usingrepresentations (mi) | 'PRESENTATION_DEFINITION_SCHEMA.'+ 'TABLE_RECORD_REPRESENTATION' IN TYPEOF (rep))) > 0 )) > 0)) > 0);
END_ENTITY;
Формальное утверждение
WR1 — объект table_record_field_representation должен быть использован как гер_2 в table-representation-relationship или отображен в table_record_representation.
5.4.36 Объект table_record_field_representation_with_clipping_box
Объект table_record_field_representation_with_clipping_box является подтипом table-record-field-representation, включающим ограничивающий прямоугольник, очищенный от всех внешних элементов.
EXPRESS-спецификация
ENTITY table_record_field_representation_with_clipping_box
SUBTYPE OF (table_record_field_representation);
clipping_box : planar_box;
WHERE
WR1 :item in context (clipping box, SELF\representation.context of items);
END_ENTITY;
Определение атрибута
clipping_box — объект planar_box, определяющий границы выделения содержимого объекта table_record_field_representation.
Формальное утверждение
WR1 — атрибут clipping_box должен быть представлен в контексте объекта table_record_field_ representation_with_clipping_box.
5.4.37 Объект table_record_representation
Объект table_record_representation является подтипом symbol_representation, используемым для создания записей в таблицах. Два объекта table_record_representation могут быть связаны между собой только посредством объекта table_representation_relationship. Если объект table-record-representation имеет роль гер_1 в table_representation_relationship, тогда только table-record-field-representation может иметь роль гер_2.
EXPRESS-спецификация
ENTITY table_record_representation
SUBTYPE OF (symbol_representation);
WHERE
WR1: (SIZEOF(USEDIN(SELF, 'REPRESENTATION-SCHEMA.'+ 'REPRESENTATION-RELATIONSHIP. REP-2')) > 0) OR (SIZEOF(QUERY( mapjtem <* USEDIN(SELF, 'REPRESENTATION-SCHEMA.'+ 'REPRESENTATION_MAP.'+ 'MAPPED_REPRESENTATION') | SIZEOF(QUERY( mi <* USEDIN(map_item, 'REPRESENTATION-SCHEMA.'+ 'MAPPED_ITEM.'+ 'MAPPING_SOURCE') | SIZEOF(QUERY( rep <* using_representations (mi) | 'PRESENTATION_DEFINITION_SCHEMA.'+ 'TABLE-REPRESENTATION' IN TYPEOF (rep))) > 0 )) > 0)) > 0);
WR2: (SIZEOF (QUERY (trr <* USEDIN (SELF, 'REPRESENTATION-SCHEMA.' + 'REPRESENTATION-RELATIONSHIP.REP-1') | NOT ('PRESENTATION_DEFINITION_SCHEMA.TABLE-REPRESENTATIONRELATIONSHIP' IN TYPEOF (trr)))) = 0) AND (SIZEOF (QUERY (trr <* USEDIN (SELF, 'REPRESENTATION-SCHEMA.'+'REPRESENTATION_RELATIONSHIP.REP_2')|NOT('PRESENTATION_DEFINITION_SCHEMA. TABLE_REPRESENTATION_RELATIONSHIP' IN TYPEOF (trr)))) = 0);
END_ENTITY;
Формальное утверждение
WR1 — объект table_record_representation должен быть использован как гер_2 в table_ representation_relationship или отображен в table_representation;
WR2 — все пользователи типа representation_relationship в ролях rep_1 or гер_2 должны иметь тип table_representation_relationship.
5.4.38 Объект table_representation
Объект table_representation является подтипом symbol_representation, используемым при формировании таблицы. Объекты table_representation могут быть связаны между собой только посредством объектов table_representation_relationship. Если объект table_representation имеет роль гер_1 в table_representation_relationship, тогда только объект table_record_representation может иметь роль гер_2.
EXPRESS-спецификация
ENTITY table_representation
SUBTYPE OF (symbol_representation);
WHERE
WR1: (SIZEOF (QUERY (trr <* USEDIN (SELF, 'REPRESENTATION-SCHEMA.' + 'REPRESENTATION-RELATIONSHIP.REP-1') | NOT ('PRESENTATION_DEFINITION_SCHEMA.TABLE-REPRESENTATION-RELATIONSHIP' IN TYPEOF (trr)))) = 0) AND (SIZEOF (QUERY (trr <* USEDIN (SELF, 'REPRESENTATION-SCHEMA.'+'REPRESENTATION_RELATIONSHIP.REP_2')|NOT('PRESENTATION_DEFINITION_SCHEMA. TABLE_REPRESENTATION_RELATIONSHIP' IN TYPEOF (trr)))) = 0);
END_ENTITY;
Формальное утверждение
WR1 — все пользователи типа representation_relationship в ролях rep_1 or гер_2 должны иметь тип table_representation_relationship.
5.4.39 Объект table_representation_relationship
Объект table_representation_relationship является подтипом symbol-representation-relationship, используемым для связи с объектами table_representation, table_record_representation и table_record_field_representation.
EXPRESS-спецификация
*)
ENTITY table_representation_relationship
SUBTYPE OF (symbol_representation_relationship);
WHERE
WR1: NOT ('PRESENTATION_DEFINITION_SCHEMA.TABLE_RECORD_REPRESENTATION' IN TYPEOF (SELF\representation_relationship.rep_1)) OR ('PRESENTATION_DEFINITION_SCHEMA.TABLE-RECORD-FIELD-REPRESENTATION' IN TYPEOF (SELF\representation_relationship.rep_2));
WR2: NOT ('PRESENTATION_DEFINITION_SCHEMA.TABLE-REPRESENTATION' IN TYPEOF (SELF\ representation-relationship.rep_1)) OR ('PRESENTATION_DEFINITION_SCHEMA.TABLE-RECORD-REPRESENTATION' IN TYPEOF (SELF\representation_relationship.rep_2));
WR3: NOT ('PRESENTATION_DEFINITION_SCHEMA.TABLE_RECORD_FIELD_REPRESENTATION' IN TYPEOF (SELF\representation_relationship.rep_1)) OR ('PRESENTATION_DEFINITION_SCHEMA.TABLE-RECORD-FIELD-REPRESENTATION' IN TYPEOF (SELF\representation_relationship.rep_2)); END_ENTITY;
Формальное утверждение
WR1 — если объект table_record_representation имеет роль гер_1, тогда объект table-record-field-representation должен иметь роль гер_2;
WR2 — если объект table_representation выполняет роль гер_1, тогда объект table-record-representation должен выполнять роль гер_2;
WR3 — если объект table_record_field_representation выполняет роль гер_1, тогда данный объект также должен выполнять роль гер_2.
5.4.40 Объект table_text_relationship
Объект table_text_relationship является подтипом annotation_occurrence_relationship. Объект table_text_relationship устанавливает отношение между соответствующими полями в объектах annotation_table_occurrence и annotation_text_occurrence и используется для включения текста в поле таблицы.
EXPRESS-спецификация
ENTITY table_text_relationship
SUBTYPE OF (annotation_occurrence_relationship);
field : table_record_field_representation;
SELF\annotation_occurrence_relationship.relating_annotation_occurrence : annotation Jable_occurrence;
SELF\annotation_occurrence_relationship.related_annotation_occurrence : annotation Jext_occurrence; WHERE
WR1: 'PRESENTATION_DEFINITION_SCHEMA.ANNOTATION_TABLE' IN TYPEOF (SELF\annotation_ occurrence_relationship. relating_annotation_occurrence\styled_item.item);
WR2: fieldjnjable (field, SELF\annotation_occurrence_relationship. relating_annotation_occurrence); END_ENTITY;
Определение атрибутов
field — конкретное поле таблицы, в котором размещают соответствующий текст;
relating_annotation_occurrence — объект annotation_table_occurrence, содержащий текст; related_annotation_occurrence — объект annotation_text_occiirrence, размещенный в таблице.
Формальные утверждения
WR1 — объект relating_annotation_occurrence должен представлять объект annotation_table;
WR2 — объект field должен соответствовать полю таблицы, в котором размещен данный текст.
5.4.41 Объект textjiteral
Объект textjiteral является подтипом geometric_representationjtem. Объект textjiteral является описанием текстовой строки посредством строкового литерала.
EXPRESS-спецификация
ENTITY textjiteral
SUBTYPE OF (geometric_representationjtem);
literal : presentablejext;
placement: axis2_placement;
alignment: text_alignment;
path : text_path;
font: font_select;
END_ENTITY;
Определения атрибутов
literal — представляемый текстовый литерал;
placement — объект axis2_placement, определяющий положение и ориентацию представляемой строки. Ось у является эталонным направлением для типов box_rotate_angle и box_slant_angle.
Примечание — Если типы box_rotate_angle и box_slant_angle имеют нулевое значение, основание ячейки символа параллельно оси х, а его вертикальная сторона — оси у (см. рисунок 17).
alignment — выравнивание текстового литерала относительно его положения;
path — предписанное направление текстового литерала;
font — заранее заданный или внешне определенный шрифт, который должен быть использован при представлении textjiteral.
Рисунок 17 — Наклон и поворот ячейки
5.4.42 Объект text_literal_with_associated_curves
Объект text_literal_with_associated_curves является подтипом textjiteral, содержащим одну или несколько кривых (curve).
EXPRESS-спецификация
ENTITY text_literal_with_associated_curves
SUBTYPE OF (textjiteral);
associated_curves : SET[1:?] OF curve;
END_ENTITY;
Определения атрибута
associated_curves — набор кривых (curve), связанных с объектом textjiteral.
Примечание — Если имеются кривые (curve), связанные с объектом textjiteral_with_associated_ curves, стиль их представления может быть задан объектом annotation_curve_occurrence.
5.4.43 Объект textjiteral_with_blanking_box
Объект textjiteral_with_blanking_box является подтипом textjiteral, определяющим габариты прямоугольника, обрамляющего текст.
EXPRESS-спецификация
ENTITY textjiteral_with_blanking_box
SUBTYPE OF (textjiteral);
blanking : planarjcox;
END_ENTITY;
(*
Определение атрибута
blanking — объект planar_box, задающий прямоугольную область, внутри которой может быть представлен только примитив textjiteral.
5.4.44 Объект textjiteral_with_delineation
Объект textjiteral_with_delineation является подтипом textjiteral, задающим выделение текста. Тип выделения и его влияние на вид текста задают в прикладном протоколе.
EXPRESS-спецификация
ENTITY textjiteral_with_delineation
SUBTYPE OF (textjiteral):
delineation : text_delineation;
END_ENTITY;
Определение атрибута
delineation — требования к характеристикам выделения текста.
5.4.45 Объект text_literal_with_extent
Объект text_literal_with_extent является подтипом text_literal с четко заданной протяженностью. EXPRESS-спецификация
*)
ENTITY text_literal_with_extent
SUBTYPE OF (textjiteral);
extent: planar_extent;
END_ENTITY;
Определение атрибута
extent — протяженность объекта text_literal_symbol по осям х и у.
5.4.46 Объект text_string_representation
Объект text_string_representation является подтипом representation, содержащим набор текстовых строк и символов, отображенных в объекте annotation_text.
EXPRESS-спецификация
ENTITY text_string_representation
SUBTYPE OF (representation);
SELF\representation.items : SET[1:?] OF text_string_representation_item;
WHERE
WR1: SIZEOF ( QUERY (item <* SELF\representation.items | NOT (SIZEOF (['PRESENTATION-DEFINITION-SCHEMA.TEXT-LITERAL', 'PRESENTATION_DEFINITION_SCHEMA.ANNOTATION_TEXT', 'PRESENTATION_DEFINITION_SCHEMA.ANNOTATION_TEXT_CHARACTER', 'PRESENTATION-DEFINITION-SCHEMA.DEFINED-CHARACTER-GLYPH', 'PRESENTATION_DEFINITION_SCHEMA. COMPOSITE_TEXT'] * TYPEOF (item)) = 0) )) >= 1;
WR2: SIZEOF (QUERY (a2p <* QUERY (item <* SELF\representation.items | 'GEOMETRY_SCHEMA.AXIS2_ PLACEMENT' IN TYPEOF (item)) | NOT ((SIZEOF ( QUERY (at <* QUERY (item <* SELF\representation.items | 'PRESENTATION_DEFINITION_SCHEMA.' + 'ANNOTATION-TEXT' IN TYPEOF (item)) | (at\mapped_item. mapping_target :=: a2p))) >= 1) OR (SIZEOF ( QUERY (ate <* QUERY (item <* SELF\representation.items | 'PRESENTATION_DEFINITION_SCHEMA.' + 'ANNOTATION_TEXT_CHARACTER' IN TYPEOF (item)) | (atc\mapped_item.mapping_target :=: a2p))) >= 1)))) = 0;
END_ENTITY;
(*
Определение атрибута
items — набор объектов text_string_representation_items, которые составляют объект text-string-representation.
Формальные утверждения
WR1 — объект text_string_representation должен включать один или несколько объектов annotation_text, annotation_text_character, text-literal или composite_text;
WR2 — каждый объект axis2_placement должен быть mapping_target в объекте annotation_text или annotation_text_character в объекте text_string_representation.
5.5 Определения ограничений подтипов схемы presentation_definition_schema
5.5.1 Ограничение подтипа pds_geometric_representation_item_subtypes
Ограничение подтипа pds_geometric_representation_item_subtype применяется к экземплярам подтипов geometric_representation_item.
EXPRESS-спецификация
*)
SUBTYPE_CONSTRAINT pds_geometric_representation_item_subtypes FOR geometric_representation_item;
ONEOF (annotation_fill_area,
composite_text,
curve,
defined_character_glyph,
defined_symbol,
point,
symbol-target,
textjiteral);
END_SUBTYPE_CONSTRAINT;
5.6 Определения функций схемы presentation_definition_schema
5.6.1 Функция acyclic_composite_text
Функция acyclic_composite_text проверяет экземпляр объекта composite_text с точки зрения его участия в самоопределении. Функция возвращает значение TRUE, если экземпляр composite_text является ацикличным (не входит в собственное определение), и значение FALSE — в противном случае.
Функция acyclic_composite_text в первую очередь проводит проверку набора объектов collected-text и возвращает значение FALSE при его наличии. Далее функция создает локальный набор всех экземпляров composite_text в собственном наборе объектов collected_text. В данный набор вносятся все экземпляры composite_text, которые ссылаются на объект text_string_representation, использованный объектом representation_map из любого annotation_text, входящего в набор объектов collected_text. Созданный локальный набор, внесенный в заданный набор экземпляров, всегда проверяется функцией. Если общий проверенный набор экземпляров не увеличился, это означает завершение проверки функцией всех возможных вариантов, и функция возвращает значение TRUE. В противоположном случае данная функция вызывается повторно для дальнейшей рекурсивной проверки.
EXPRESS-спецификация
*)
FUNCTION acyclic_composite_text (start_composite : compositejext; childJext : SET[1:?] OF text_or_ character): LOGICAL;
LOCAL
i : INTEGER;
local_compositejext: SET [0:?] OF compositejext;
local_annotationjext: SET [0:?] OF annotationjext;
local_children : SET [0:?] OF text_or_character;
END_LOCAL;
local_composite_text := QUERY (child <* childjext | ('PRESENTATION_DEFINITION_SCHEMA.COMPOSITE-TEXT' IN TYPEOF (child)));
IF (SIZEOF (local_composite_text) > 0)
THEN
REPEAT i := 1 TO HIINDEX (local_composite_text);
IF (start_composite :=: local_composite_text[i])
THEN
RETURN (FALSE);
ENDJF;
END_REPEAT;
ENDJF;
local_children := childjext;
IF (SIZEOF (local_composite_text)) > 0 THEN
REPEAT i := 1 TO HIINDEX (local_composite_text);
local_children := local_children +
local_composite_text[i]. collected Jext;
END_REPEAT;
ENDJF;
local_annotation_text := QUERY (child <* child_text | ('PRESENTATION_DEFINITION_SCHEMA.ANNOTATION-TEXT' IN TYPEOF (child)));
IF (SIZEOF (local_annotation_text) > 0) THEN
REPEAT i := 1 TO HIINDEX (local_annotation_text);
local_children := local_children +
QUERY (item <* local_annotation_text[i]\mappedjtem.
mapping_source.mapped_representation.items |
SIZEOF(['PRESENTATION_DEFINITION_SCHEMA.ANNOTATION_TEXT', 'PRESENTATION_DEFINITION_SCHEMA.COMPOSITE_TEXT'] * TYPEOF(item)) > 0);
END_REPEAT;
ENDJF;
IF (local_children :<>: childjext) THEN
RETURN (acyclic_composite_text (start_composite, local_children));
ELSE
RETURN (TRUE);
ENDJF;
END_FUNCTION;
(*
Определения аргументов
start_composite — проверяемый объект compositejext, который является входными данными для функции;
childjext — объекты text_or_character, на которые ссылается объект start_composite. Данные объекты являются входными данными для функции. Изначально набор этих объектов содержит в качестве элемента только объект collectedjext из start_composite.
5.6.2 Функция acyclic_symbol_representation_relationship
Функция acyclic_symbol_representation_relationship определяет, использован ли объект symbol_representation в дереве объектов symbol_representation_relationship, определяющих данный symbol_representation. Функция возвращает значение TRUE, если данный объект не использован (функция ациклична), и FALSE — в противном случае.
EXPRESS-спецификация
FUNCTION acyclic_symbol_representation_relationship (relation : symbol_representation_relationship; children : SET[0:?] OF symbol_representation): BOOLEAN;
LOCAL
x : SET OF symbol_representation_relationship;
local_children : SET OF symbol_representation;
END_LOCAL:
REPEAT i:=1 TO HIINDEX(children);
IF relation\representation_relationship.rep_1 :=: children[i] THEN
RETURN(FALSE);
ENDJF;
END_REPEAT;
x := bag_to_set (USEDIN (relation\representation_relationship.rep_1, 'REPRESENTATION-SCHEMA.'+
'REPRESENTATION_RELATIONSHIP.'+ 'REP_2'));
local_children := children + relation\representation_relationship.rep_1;
IF SIZEOF (x) > OTHEN
REPEAT i;=1 TO HIINDEX (x);
IF NOT acyclic_symbol_representation_relationship(x[i], local_children) THEN
RETURN (FALSE);
ENDJF;
END_REPEAT;
ENDJF;
RETURN (TRUE);
END_FUNCTION;
Определения аргументов
relation — проверяемый объект symbol_representation_relationship, который является входными данными для функции;
children — объекты symbol_representations, ссылающиеся на объект relation. Данные объекты являются входными данными для функции. Изначально набор этих объектов содержит в качестве элемента только атрибут гер_2 объекта relation.
5.6.3 Функция control_characters_free
Функция control_characters_free проверяет строку на наличие управляющих символов. Функция возвращает значение TRUE, если управляющие символы в строке не обнаружены.
EXPRESS-спецификация
FUNCTION control_characters_free (s : STRING): BOOLEAN;
LOCAL
ch : STRING;
END_LOCAL;
REPEAT i:=1 TO LENGTH(s);
ch := s[i];
IF (ch ='\x9') OR (ch ='\xA') OR (ch ='\xD') THEN
RETURN(FALSE);
ENDJF;
END_REPEAT;
RETURN (TRUE);
END_FUNCTION;
Определения аргументов
s — строка, проверяемая на наличие управляющих символов.
5.6.4 Функция fieldjnjable
Функция fieldjnjable проверяет объект table_record_field_representation и объект annotation-table_occurrence; функция возвращает значение TRUE, если поле, заданное в них, входит в таблицу, и значение FALSE — в противном случае.
В первую очередь функция находит объект table_representation, отображающий объект annotation_table_occurrence.
Далее функция находит все объекты table_record_representation, связанные с объектом table-representation-entity посредством объекта symbol_representation_relationship или включенные в объект table_representation через объект mappedjtem.
Функция возвращает значение FALSE при отсутствии объектов table_record_representation, связанных с заданным полем посредством объекта symbol_representation_relationship или входящих в это поле через объект mappedjtem, в противном случае возвращается значение TRUE.
EXPRESS-спецификация
FUNCTION fieldjnjable (field : table_record_field_representation; table : annotation_table_occurrence) : BOOLEAN;
LOCAL
tablejep : tablejepresentation;
symbol_rep_rel_set: SET OF symbol_representation_relationship;
mapped_item_set: SET OF mappedjtem;
table_record_rep_set: SET OF table_record_representation := [];
END_LOCAL;
table_rep := table\styled_item.item\mapped_item.mapping_source. mapped_representation;
mapped_item_set := QUERY(item <* table_rep.items |
('REPRESENTATION_SCHEMA.MAPPEDJTEM' IN TYPEOF(item))
AND
('PRESENTATION_DEFINITION_SCHEMA.'+ 'TABLE_RECORD_REPRESENTATION' IN TYPEOF(item\mapped_item.mapping_source.
mapped_representation ))
REPEAT i := 1 TO HIINDEX(mapped_item_set);
table_record_rep_set := table_record_rep_set +
mapped_item_set[i].mapping_source.mapped_representation;
END_REPEAT;
symbol_rep_rel_set := bag_to_set (USEDIN(table_rep, 'REPRESENTATION_SCHEMA.'+ 'REPRESENTATION_RELATIONSHIP.REP_1'));
REPEAT i := 1 TO HIINDEX(symbol_rep_rel_set);
table_record_rep_set := table_record_rep_set +
symbol_rep_rel_set[i]\representation_relationship.rep_2;
END_REPEAT;
IF SIZEOF(QUERY( table_record_rep <* table_record_rep_set | (SIZEOF(QUERY( rep_rel <* USEDIN(table_record_rep, 'REPRESENTATION_SCHEMA.'+
'REPRESENTATION_RELATIONSHIP.REP_1') |
('PRESENTATION_DEFINITION_SCHEMA.' + 'SYMBOL-REPRESENTATION-RELATIONSHIP' IN TYPEOF(rep_rel)) AND (rep_rel.rep_2 :=: field) ))>0) OR
(SIZEOF(QUERY(item <* table_record_rep.items | ('REPRESENTATION_SCHEMA.MAPPED_ITEM' IN TYPEOF(item))
AND
(field :=: item\mapped_item.mapping_source. mapped_representation )
))>0)
)) = OTHEN RETURN(FALSE);
ENDJF;
RETURN(TRUE);
END_FUNCTION;
Определения аргументов
field — полем записи в таблицу должен быть объект table, являющийся входным для функции; table — аннотируемая таблица должна включать объект field, являющийся входным для функции.
EXPRESS-спецификация
END_SCHEMA; -- presentation_definition_schema
6 Схема вида представления
6.1 Общие положения
Целью presentation_appearance_schema является определение соответствующего графического вида представляемого изображения. Данная схема также определяет механизм, позволяющий связать атрибуты данного вида представления с объектами annotation_occurrence в контексте объекта presentation_representation. Таким образом содержание presentation_representation может быть использовано для определения видов различных элементов изображения.
В настоящем разделе определены требования к информации, которым должны соответствовать реализации, с использованием языка EXPRESS в соответствии с ГОСТ Р ИСО 10303-11. Следующее описание на языке EXPRESS открывает presentation_appearance_schema и определяет необходимые внешние ссылки.
Сокращенные наименования объектов в схеме указаны в приложении А. Однозначное обозначение схемы определено в приложении В.
EXPRESS-спецификация
*)
SCHEMA presentation_appearance_schema;
REFERENCE FROM external_reference_schema -- ГОСТ P ИСО 10303-41
(externally_defined_item, p re_d efi n ed_i te m);
REFERENCE FROM geometric_model_schema (complex_triangulated_face, coordinatesjist, tessellated_edge, tessellated_face, tessellatedjtem, tessellated_shell, tessellated_solid, tessellated_surface_set, tessellated_vertex, triangulated_face);
REFERENCE FROM geometry_schema (axis2_placement, b_spline_curve, cartesian_point, composite_curve, curve, geometric_representation_item, point, polyline, vector);
REFERENCE FROM group_schema (group);
REFERENCE FROM measure_schema (descriptive_measure, length_measure, measure_with_unit, plane_angle_measure, positive_length_measure, positive_ratio_measure, ratio_measure);
- ПНСТ 797
- ПНСТ 797
- ГОСТ P ИСО 10303-41
- ГОСТ P ИСО 10303-41
REFERENCE FROM presentation_definition_schema (annotation_curve_occurrence, annotation_fill_area, annotation_symbol_occurrence, annotation_text_with_delineation, symbol_representation_with_blanking_box);
REFERENCE FROM presentation_organization_schema (area_dependent_annotation_representation, presentation_area, presentation Jayer_assignment, presentation_layer_usage, presentation_representation, presentation_set, presentation_view, product_data_representation_view, view_dependent_annotation_representation);
REFERENCE FROM presentation_resource_schema (character_glyph_symbol_outline, character_glyph_symbol_stroke, colour);
-- настоящий стандарт
— настоящий стандарт
— настоящий стандарт
REFERENCE FROM product_property_representation_schema (context_dependent_shape_representation);
- ГОСТРИСО 10303-41
REFERENCE FROM representation_schema (foundedjtem, mappedjtem, representation, representationjtem, representation_map, representation_or_representation_reference, representation_relationship, using_representations);
- ГОСТ Р ИСО 10303-43
REFERENCE FROM support_resource_schema (bag_to_set, label);
-ГОСТ Р ИСО 10303-41
REFERENCE FROM topology_schema (topological_representation_item);
- ПНСТ 797
Примечания
1 Схемы, на которые выше даны ссылки, определены в следующих стандартах:
external_reference_schema geometric_model_schema geometry_schema group_schema measure_schema presentation_definition_schema presentation_organization_schema presentation_resource_schema product_property_representation_schema representation_schema support_resource_schema topology_schema
ГОСТРИСО 10303-41;
ПНСТ 797;
ПНСТ 797;
ГОСТРИСО 10303-41;
ГОСТРИСО 10303-41;
раздел 5 настоящего стандарта;
раздел 4 настоящего стандарта;
раздел 7 настоящего стандарта;
ГОСТРИСО 10303-41;
ГОСТРИСО 10303-43;
ГОСТРИСО 10303-41;
ПНСТ 797.
2 Графическое представление определяемой схемы приведено в приложении D.
6.2 Фундаментальные понятия и допущения
6.2.1 Задание стиля представления
Схема presentation_appearance_schema позволяет связать атрибуты вида с выбранными аннотируемыми примитивами и элементами формы изделия. В соответствии с настоящим стандартом стиль представления может быть задан для любого объекта representationjtem. Стиль определяют посредством конкретизации объекта styledjtem, ссылающегося на объект representationjtem, и соответствующего объекта presentation_style_assignment. Объект presentation_style_assignment представляет собой набор (коллекцию) различных стилей представления (например, стиль точки, кривой или текста). Стилизацию нестилизованного объекта representationjtem проводят посредством определения нового объекта representationjtem с заданным стилем представления.
Объект presentation_style_assignment, указанный в объекте styledjtem, определяет вид ссылочного объекта representationjtem, а также вид всех объектов representationaljtem, прямо или косвенно ссылающихся на данный элемент. При этом могут быть указаны только те объекты representationjtem, стиль которых еще не задан. Это означает, что стилизация ранее стилизованных объектов representationjtem не проводится, а стилизуются только нестилизованные объекты representationjtem, влияющие на вид представления данного элемента в целом. Представлены могут быть только стилизованные объекты representationjtem. Их фактически представляют в зависимости от ряда других факторов, например уровня видимости и объекта invisibility, наличия скрытых линий или поверхностей, а также «обрезки» объекта. В настоящем стандарте не приведены рекомендации по устранению конфликтов при определении стиля. Конфликт при описании стиля может, например, возникнуть, когда объект representationjtem используется в нескольких объектах styledjtems.
Объект presentation_style_assignment используют для определения стиля объекта representation-item независимо от контекста его представления. Подтип данного объекта presentation_style_by_ context позволяет задать стиль конкретного представления контекста. Контекстом представления может быть любой объект presentation_set_representation или representationjtem. В последнем случае стиль может быть задан для элемента в целом, а для различных его частей заданы другие стили.
Заданный стиль может быть переопределен через объект over_riding_styledjtem. Подтип данного объекта context_dependent_over_riding_styledjtem позволяет переопределить стиль конкретного представления контекста.
6.2.2 Типы стилей представления
Для каждого аннотируемого примитива, заданного в схеме presentation_definition_schema, существует конкретная группа стилей. Эти группы определяют стили точек, кривых, заполняемых областей, поверхностей, текстов и символов. В настоящем стандарте не заданы ограничения по определению стилей элементов поверхности. Это позволяет, например, задать стиль описания поверхности для точки. Однако только соответствующие стили определяют вид элемента формы изделия, то есть стили поверхностей связаны только с поверхностями, стили областей заполнения и кривых — с кривыми, стили точек — только с точками, кривыми и поверхностями. Для общих элементов формы изделия (например, пространственной модели) при определении видов элементов используют прикладные протоколы. Однако присвоение стилей аннотируемым примитивам несколько более консервативно. Более подробно это описано в разделе 5 для объекта annotation_occurrence.
Стили представлений могут быть определены с использованием ресурсов данной схемы, заданы извне или предопределены в прикладных протоколах. Стили представлений, определенные в настоящей схеме, охватывают ряд нижеописанных объектов.
Стили точек задают ресурсы для визуальных отображений точек. Данные стили позволяют определить маркировочные символы, размеры и цвета, используемые при представлении точек. Стили точек могут быть заданы объектом point_style.
Стили кривых задают ресурсы для визуальных отображений кривых. Данные стили позволяют определить соответствующие шрифты, толщину кривых, виды концов и углов кривых, цвета или шаблоны для заполнения видимых сегментов кривых. Шрифт кривой определяет необходимость ее вычерчивания с использованием сплошных, пунктирных или штрихпунктирных линий. Схема presentation-appearance_schema позволяет задать шаблоны шрифтов кривых и использовать заданные извне или заранее предопределенные шрифты кривых. При определении шрифтов кривых используют объекты externally_defined_curve_font, pre_defined_curve_font, curve_style_font, curve_style_font_pattern и curve_style_font_and_scaling. Толщина кривой может быть определена на основе измерения или задана заранее. Концы и углы кривой могут быть заданы окружностями или прямоугольниками и сжаты или расширены для концов кривой. Объектами, входящими в данную структуру, являются curve_ style_with_ends_and_corners и curve_style_with_extension. Объект curve_style_wide позволяет определить стиль области заполнения, используемый для заполнения видимых сегментов кривой. Это позволяет задать соответствующие требования для вычерчивания кривых. Объект curve_style_ rendering определяет изображение кривых на поверхности, а также определяет стили поверхностей.
Стили заполняемых областей обеспечивают ресурсы, определяющие виды визуального представления для аннотируемых заполняемых областей. Эти стили позволяют определить основной цвет, штриховки или виды ячеистой структуры заполняемых областей. Объект fill_area_style_colour может быть использован для задания основного цвета при представлении заполняемой области. Штриховка данных областей может быть задана в виде набора параллельных линий с разными углами наклона. Параметры штриховки могут быть заданы заранее или определены извне. Штриховка может быть задана объектами fill_area_style_hatching, pre_defined_hatch_style, externally_defined_hatch_style и one_direction_ repeat_factor. Ячеистые структуры заполняемых областей могут быть описаны кривыми, цветовыми пятнами или символами. Параметры ячеек могут быть заданы заранее или определены извне. Ячейки заполняют соответствующую область двумерно по направлениям, заданным соответствующими векторами. Ячеистая структура может быть задана объектами pre_defined_tile_style, externally_defined_tile_style, fill_area_style_tiles, fill_area_style_tile_curve_with_style, fill_area_style_tile_coloured_region, fill_area_ style_tile_symbol_with_style, pre_defined_tile, externally_defined_tile и two_direction_repeat_factor.
Стили поверхностей обеспечивают ресурсы, определяющие виды визуального представления для аннотируемых поверхностей. Отдельные стили поверхности могут быть использованы для каждой ее стороны отдельно или обеих сторон. Конкретный стиль поверхности может определять описание одной или обеих ее сторон. Объектами, определяющими стиль сторон поверхности, являются surface_style_ usage и surface_side_style. Стиль описания стороны поверхности может быть представлен в виде комбинации стилей заполняемых областей, границ, силуэтов, сегментов кривых, решеток, параметров линий или отображений (визуализаций).
Стиль заполняемой области определяет основной цвет, штриховку или ячеистую структуру для описания стороны поверхности.
Стиль границы определяет стиль кривой или метод отображения и свойства для представления ограниченных кривых на поверхности. Если стиль границ не задан, ограниченные кривые не могут быть представлены.
Стиль силуэта определяет стиль кривой или метод отображения и свойства для представления тонируемых (силуэтных) кривых на поверхности. Если стиль силуэта не задан, тонируемые кривые не могут быть представлены.
Стиль сегментации кривой определяет стиль кривой или метод отображения и свойства для представления сегментированной кривой на поверхности. Данный стиль связан только с сегментированной кривой на поверхности. Если стиль этой кривой не задан, данные кривые не могут быть представлены.
Стиль опорного скелета определяет стиль кривой или метод отображения и свойства для представления сетки опорных точек для описания поверхности. Данный стиль относится только к поверхностям, задаваемым сеткой опорных точек. Если стиль опорного скелета не задан, данный скелет не может быть представлен.
Стиль строки параметров определяет стиль кривой или метод отображения и свойства для представления строки параметров на поверхности. Данный стиль должен определить число строк параметров в каждом направлении. Если стиль строки параметров не задан, данные строки не могут быть представлены.
Объектами, определяющими стили описания поверхностей, являются: surface_fill_area, surface_ style_boundary, surface_style_silhouette, surface_style_segmentation_curve, surface_style_control_ grid и surface_style_parameter_line.
Объекты curve_style_rendering и surface_rendering_properties определяют метод отображения и свойства для представления кривой на поверхности. Стиль отображения задает метод, используемый для отображения поверхности. Определение данного стиля позволяет использовать его при вычислениях отражающей способности поверхности для ее представления. При определении данного стиля должен быть задан стиль отображаемой поверхности. Кроме того, в данном стиле могут быть заданы дополнительные свойства отображения поверхности, включая коэффициенты ее прозрачности, окружения, рассеивания и отражения. Объектами, определяющими стили описания поверхностей, являются: surface_style_rendering, surface_style_rendering_with_properties, surface_style_transparent, surface_style_reflectance_ambi-ent, surface_style_reflectance_ambient_diffuse и surface_style_reflectance_ambient_diffuse_specular. Помимо вышеперечисленных, стили представления поверхностей могут быть заданы заранее.
Стили текстов обеспечивают ресурсы, определяющие виды визуального представления аннотируемых текстов. Правила выравнивания текста, характеристики ячейки, типы пробелов и ось зеркального отображения влияют на вид текста в целом, а стиль глифа символа — на вид отдельных знаков или символов, образующих данный текст. Выравнивание текста задает его расположение в отведенной области. Дополнительные типы размещения текста могут быть определены в прикладных протоколах. Ячейкой символа является параллелограмм, задающий ширину, высоту, угол наклона и поворота символа. Пробелы текста определяют расстояние между смежными «ящиками» символов в строке в дополнение к символу пробела, заданному в описании шрифта. При зеркальном отображении текста задают ось его зеркального отображения. Зеркальное отображение выполняют в последнюю очередь (после реализации остальных стилей текста). Объектами, определяющими стили текста, являются: text_style, text_style_with_spacing, text_ style_with_mirror, text_style_with_justification и text_style_with_box_characteristics. Стиль глифа символа может определять начертание, шаг или только цвет текста. Стилем начертания является стиль кривой, используемый для представления начертания символа (его глифа). Дополнительно может быть задан стиль области заполнения, определяющий заливку очерченного символа. Стиль начертания влияет только на глифы символов, определяемые их очертанием. Стиль шага влияет только на глифы символов, заданные шагами. Для предварительно или внешне заданных шрифтов должен быть определен только их цвет. Объектами, определяющими стили глифов символов, являются: character_glyph_style_stroke, character_ glyph_style_outline, character_glyph_style_outline_with_characteristics и text_style_for_defined_font.
Стили знаков обеспечивают ресурсы, определяющие виды визуального представления аннотируемых знаков. Стиль знака состоит из произвольного набора (коллекции) стилей точек, кривых, заполняемых областей, поверхностей и текстов. Объектами, определяющими стили знаков, являются: symbol_style, symbol_element_style и symbol_colour.
6.2.3 Допуски аппроксимации
Допуски аппроксимации определяют разрешенные отклонения между формами представленных элементов и их математически заданными позициями и формами. Данная аппроксимация применяется к кривым и поверхностям, и может быть задана в параметрическом пространстве, пространстве формы изделия или области представления. Пространство с заданными допусками зависит от используемого метода аппроксимации. При методах хордовой аппроксимации (по длине и отклонению) допуск может быть задан в пространстве формы изделия или области представления. При параметрической аппроксимации допуск может быть задан в параметрическом пространстве.
6.2.4 Сокрытие и невидимость
В схеме presentation_appearance_schema предусмотрены ресурсы для определения видов элементов, расположенных друг за другом и перекрывающихся в двумерном пространстве. Для представления подобных элементов используют иерархию, описанную в разделе 4, на основе аннотируемых областей заполнения, текстов с выделениями, глифов символов и знаков. При этом объект occlusion_ precedence может быть задан для любых двух подобных элементов.
Дополнительно схема presentation_appearance_schema задает ресурсы для определения невидимости объектов styled_item или уровней.
6.2.5 Визуальная текстура поверхности
Схема presentation_appearance_schema предоставляет ресурсы для определения связи внешнего изображения с мозаичной геометрией, в частности с объектами tessellated_face и tessellated_ surface_set.
6.2.6 Цвета вершин для мозаичной геометрии
Схема presentation_appearance_schema предоставляет ресурсы для определения связи информации о цвете с вершинами элементов мозаичной геометрии, в частности, объектами вершин tessellated_face, tessellated_surface_set, tessellated shell и tessellatedsolid. Информация о цвете указывается с использованием троек целых чисел для представления цветов RGB или четверок целых чисел для представления значений цвета RGB с прозрачностью.
6.3 Определение типов схемы presentation_appearance_schema
6.3.1 Тип approximation_method
Тип approximation_method используют для перечисления двух возможных методов создания ячеистых структур кривых и поверхностей посредством линейных сегментов (линейной аппроксимации) или ячеек из плоских многоугольников.
Примечание — На рисунке 18 проиллюстрированы элементы chordal_deviation и chordaljength.
chordal deviation
а — аппроксимированный допуск
Рисунок 18 — Отклонение и длина хорды
EXPRESS-спецификация
TYPE approximation_method = ENUMERATION OF
(chordal_deviation, chordaljength);
END_TYPE;
Определения элементов перечисления
chordal_deviation — кривые, аппроксимированные так, что расстояние между данной кривой и аппроксимирующим ее линейным сегментом не превышает установленного значения. Поверхности, аппроксимированные так, что расстояние между данной поверхностью и аппроксимирующими ее многоугольниками не превышает установленного значения. Данные расстояния измеряют в направлении нормали, возведенной к данному сегменту или многоугольнику. chordal_deviation измеряют в единицах пространства формы изделия или единицах объекта presentation_area, заданных через объект approximation_tolerance_deviation;
chordal_length — кривые, аппроксимированные так, что соответствующие линейные сегменты имеют одинаковую длину. Поверхности, аппроксимированные так, что грани соответствующих плоских многоугольников имеют одинаковую длину, chordaljength измеряют в единицах пространства формы изделия или единицах объекта presentation_area, заданных через объект approximation_tolerance_ deviation.
6.3.2 Тип box_characteristic_select
Тип box_characteristic_select является списком дополнительных типов данных. Тип Ьох_ characteristic_select обеспечивает механизм для ссылки на один экземпляр одного из типов данных.
EXPRESS-спецификация
TYPE box_characteristic_select = SELECT
(box_height,
box_width, box_slant_angle, box_rotate_angle);
END_TYPE;
6.3.3 Тип box_height
Тип box_height задает максимальный масштабируемый размер глифа символа. EXPRESS-спецификация
*)
TYPE box_height = positive_ratio_measure;
END_TYPE;
6.3.4 Тип box_rotate_angle
Тип box_rotate_angle задает угол поворота ячейки глифа символа относительно горизонтального положения текстовой строки; данный угол определяет наклон вертикальной границы глифа к перпендикуляру к горизонтали строки.
Примечание — Пояснение box_rotate_angle приведено на рисунке 19.
box slant angle
1HBUIM
box_rotate_angle /
Рисунок 19 — Наклон и поворот ячейки
EXPRESS-спецификация
TYPE box rotate angle = plane angle measure; END_TYPE:
6.3.5 Тип box_slant_angle
Тип box_slant_angle определяет угол наклона ячейки глифа символа, представляемой в виде параллелограмма; данный угол определяет наклон вертикальной границы ячейки символа к перпендикуляру к нижней границе данной ячейки.
Примечание — Пояснение box_slant_angle приведено на рисунке 19.
EXPRESS-спецификация
*)
TYPE box slant angle = plane angle measure;
END_TYPE;
6.3.6 Тип box_width
Тип box_width определяет коэффициент масштабирования ширины в определении глифа символа.
EXPRESS-спецификация
TYPE box_width = positive_ratio_measure; END_TYPE;
6.3.7 Тип character_spacing_select
Тип character_spacing_select является списком дополнительных типов данных. Тип character-spacing_select обеспечивает механизм для ссылки на один экземпляр одного из типов данных. Данный тип используют для определения пробелов между смежными символами в текстовой строке.
EXPRESS-спецификация
TYPE character_spacing_select = SELECT
(length_measure,
ratio_measure,
measure_with_unit,
descriptive_measure,
pre defined character spacing);
END_TYPE;
6.3.8 Тип character_style_select
Тип character_style_select является списком дополнительных типов данных. Тип characterstyle _select обеспечивает механизм для ссылки на один экземпляр одного из типов данных.
EXPRESS-спецификация
TYPE character_style_select = SELECT
(character_glyph_style_stroke,
character_glyph_style_outline, text_style_for_defined_font);
END_TYPE;
6.3.9 Тип colour_type_enum
Тип colour_type_enum является перечислением цветовых форматов, связываемых с вершинами мозаичной геометрии.
EXPRESS-спецификация
TYPE colour_type_enum = ENUMERATION OF
(RGB8,
RGBT8);
END_TYPE;
Определения элементов перечисления
RGB8 — 8-битный целочисленный формат хранения модели цвета (красный, зеленый, синий);
RGBT8 — 8-битный целочисленный формат хранения модели цвета (красный, зеленый, синий, прозрачность).
6.3.10 Тип curve_font_or_scaled_curve_font_select
Тип curve_font_or_scaled_curve_font_select является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных. Тип curve_font_or_ scaled_curve_font_select используется для указания шрифта для представления кривой.
EXPRESS-спецификация
TYPE curve_font_or_scaled_curve_font_select = SELECT
(curve_style_font_select,
curve_style_font_and_scaling);
END_TYPE;
6.3.11 Тип curve_or_annotation_curve_occurrence
Тип curve_or_annotation_curve_occurrence является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных. Тип curve_or_ annotation_curve_occurrence описывает объекты curve или annotation_curve_occurrence, определяющие границу объекта fill_area_style_tile_coloured_region.
EXPRESS-спецификация
TYPE curve_or_annotation_curve_occurrence = SELECT
(curve,
annotation_curve_occurrence);
END_TYPE;
6.3.12 Тип curve_or_render
Тип curve_or_render является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных. Тип curve_or_render используют для описания нескольких стилей поверхности при задании видов кривых на ней.
EXPRESS-спецификация
*)
TYPE curve_or_render = SELECT
(curve_style,
curve_style_rendering);
END_TYPE;
6.3.13 Тип curve_style_font_select
Тип curve_style_font_select является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных. Тип curve_style_font_select используют для задания немасштабированного шрифта при представлении кривой.
EXPRESS-спецификация
TYPE curve_style_font_select = SELECT
(curve_style_font,
pre_defined_curve_font,
externally_defined_curve_font);
END_TYPE;
6.3.14 Тип curve_tolerance_deviation
Тип curve_tolerance_deviation определяет аппроксимированный допуск для кривой через значение его отклонения.
EXPRESS-спецификация
*)
TYPE curve_tolerance_deviation = positive_length_measure;
END_TYPE;
6.3.15 Тип curve_tolerance_parameter
Тип curve_tolerance_parameter задает аппроксимированный допуск для кривых в единицах параметризованного пространства.
EXPRESS-спецификация
*)
TYPE curve_tolerance_parameter = REAL;
END_TYPE;
6.3.16 Тип direction_count_select
Тип direction_count_select является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных. Тип direction_count_select определяет выбор одного из объектов u_direction_count или v_direction_count, используемых для представления параметризованных линий на поверхности.
EXPRESS-спецификация
TYPE direction_count_select = SELECT (u_direction_count, v_direction_count);
END_TYPE;
6.3.17 Тип fill_area_style_tile_shape_select
Тип fill_area_style_tile_shape_select является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных. Тип fill_area_style_tile_ shape_select используют для определения объектов fill_area_style_tiles. Данный тип обеспечивает выбор различных форм и исходных данных для выбора заполняющих ячеек.
EXPRESS-спецификация
TYPE fill_area_style_tile_shape_select = SELECT (fill_area_style_tile_curve_with_style, fill_area_style_tile_coloured_region, fill_area_style_tile_symbol_with_style, pre_defined_tile, externally_defined_tile);
END_TYPE;
6.3.18 Тип fill_style_select
Тип fill_style_select является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных. Тип fill_style_select определяет выбор различных стилей заполнения.
EXPRESS-спецификация
TYPE fill_style_select = SELECT
(f i I l_a re a_sty I e_co lour, pre_defined_tile_style, extemally_defined_tile_style, fill_area_style_tiles, pre_defined_hatch_style, extemally_defined_hatch_style, fi I l_a re a_sty I e_h atch i n g,
texture_style_specification);
END_TYPE;
6.3.19 Тип hiding_or_blanking_select
Тип hiding_or_blanking_select является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных. Тип hiding_or_blanking_select определяет объекты, которые могут быть скрыты или пропущены посредством объектов, входящих в данное представление.
EXPRESS-спецификация
TYPE hiding_or_blanking_select = SELECT (presentation_area, presentation_view, product_data_representation_view, a n n otati о n_f i I l_a rea, area_dependent_annotation_representation, view_dependent_annotation_representation, annotation_text_with_delineation, character_glyph_symbol_stroke, character_glyph_symbol_outline, symbol representation with blanking box);
END_TYPE;
6.3.20 Тип invisibility_context
Тип invisibility_context является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных, включенных в invisibility_context или его расширения.
Примечание — Список типов данных может быть расширен в ресурсах приложения, использующих структуру ресурса.
Тип invisibility_context задает контекст, определяющий возможные невидимые элементы изображения.
EXPRESS-спецификация
*)
TYPE invisibility_context = EXTENSIBLE GENERIC-ENTITY SELECT (presentation _layer_usage, presentation_representation, presentation_set);
END_TYPE;
6.3.21 Тип invisible_item
Тип invisible_item является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных, включенных в invisible_item или его расширения
Примечание — Список типов данных может быть расширен в ресурсах приложения, использующих структуру ресурса.
Тип invisible_item выбирает элементы изображения, обозначаемые как невидимые. EXPRESS-спецификация
TYPE invisiblejtem = EXTENSIBLE GENERIC-ENTITY SELECT (styledjtem, presentation Jayer_assignment, representation);
END_TYPE;
6.3.22 Тип marker_select
Тип marker_select является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных. Тип marker_select определяет выбор конкретного или ранее заданного маркера для представления точек.
EXPRESS-спецификация
*)
TYPE marker_select = SELECT (marker_type, p re_d ef i n ed_m a r ke r);
END_TYPE;
6.3.23 Тип marker_type
Тип marker_type определяет форму представления точек. EXPRESS-спецификация
TYPE marker_type = ENUMERATION OF (dot,
x, plus, asterisk, ring, square, triangle); END_TYPE;
Определения элементов перечисления
dot — точки, представленные знаком «точка» (.);
х — точки, представленные знаком «диагональный крест» (х);
plus — точки, представленные знаком «плюс» (+);
asterisk — точки, представленные знаком «звездочка» (*);
ring — точки, представленные знаком «кружок» (°);
square — точки, представленные знаком «квадрат» (□);
triangle — точки, представленные знаком «треугольник» (А).
6.3.24 Тип non_negative_real
Тип non_negative_real является вещественным, его значение должно быть не менее нуля.
EXPRESS-спецификация
TYPE non_negative_real = REAL;
WHERE
WR1: 0.0 <= SELF;
END_TYPE;
Формальное утверждение
WR1 — значение должно быть не менее нуля.
6.3.25 Тип null_style
Тип null_style указывает на отсутствие конкретного стиля, непосредственно присвоенного конкретному для его представления. Стили, используемые при представлении элемента, задают непосредственно в определении этого элемента. При отсутствии указания стиля в определении элемента, данный элемент не может быть представлен.
Пример — В определении знака указаны два объекта annotationcurveoccurrence, стиль представления одного из которых— красный, а другого— синий. Если экземпляр символа задан типом null_style, тогда данный экземпляр может быть представлен с использованием цветов, указанных в его определении.
EXPRESS-спецификация
TYPE null_style = ENUMERATION OF
(null);
END_TYPE;
Определение элемента перечисления
null — объект representation_item, при представлении которого должны быть использованы стили, заданные в его определении.
6.3.26 Тип presentation_style_select
Тип presentation_style_select является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных. Тип presentation_style_select используется объектом presentation_style_assignment для связи стиля с объектом representation_item. Для каждого стилизуемого объекта representation_item должен быть задан свой стиль.
EXPRESS-спецификация
TYPE presentation_style_select = SELECT
(pre_defined_presentation_style,
point_style,
curve_style,
surface_style_usage,
symbol_style,
fill_area_style,
text_style,
texture_style_tessellation_specifi cation,
approximation_tolerance,
exte ma 11 y_d efi n ed_sty I e,
null_style);
END_TYPE;
6.3.27 Тип product_or_presentation_space
Тип product_or_presentation_space используется объектом approximation_tolerance_deviation для определения пространства, в котором заданы значения допусков.
EXPRESS-спецификация
TYPE product_or_presentation_space = ENUMERATION OF
(product_shape_space,
presentation_area_space);
END_TYPE;
Определения элементов перечисления
product_shape_space — заданное пространство для представления элемента формы изделия;
presentation_area_space — координатное пространство, в котором размещен объект presentation_area.
6.3.28 Тип rendering_properties_select
Тип rendering_properties_select является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных. Тип rendering_properties_select определяет выбор одного из свойств поверхности (отражение или прозрачность).
EXPRESS-спецификация
TYPE rendering_properties_select = SELECT
(surface_style_reflectance_ambient, surface_style_transparent);
END_TYPE;
6.3.29 Тип shading_curve_method
Тип shading_curve_method определяет метод, подлежащий использованию при затенении кривых. Затенение кривых (посредством соответствующих полилиний) связано с колористическим выделением определенных сегментов в соответствии с цветовой гаммой отдельных точек кривой.
EXPRESS-спецификация
TYPE shading_curve_method = ENUMERATION OF
(constant_colour,
linear_colour);
END_TYPE;
Определения элементов перечисления
constant_colour — если для кривой в форме таблицы задана цветовая гамма и имеется i-й сегмент, то его колористика должна соответствовать таблице и задаваться сменой цветов на каждой границе сегментов. При этом каждый i-й сегмент должен быть оттенен цветом, заданным для него;
linear_colour — если для кривой в форме таблицы задана цветовая гамма и имеется i-й сегмент, то его колористика должна соответствовать таблице и задаваться сменой цветов на каждой границе сегментов. При этом каждый i-й сегмент должен быть оттенен цветами, заданными для каждой границы сегмента.
6.3.30 Тип shading_surface_method
Тип shading_surface_method определяет метод затенения поверхностей.
Примечания
1 Описания различных типов затенения поверхности в одних случаях связаны с методами интерполирования результатов ее освещения, а в других — с вычислением ее отражающей способности. В связи с этим метод затенения может быть реализован посредством выбора конвейерной обработки графики в системе изображения с использованием соответствующей интерполяции.
2 В результате использования методов затенения должны быть получены эффекты, соответствующие нижеуказанным элементам перечисления. Необходимые эффекты трудно получить, если силуэт поверхности является самопересекающимся или пересекается с другим силуэтом той же поверхности. В этом случае описание данного эффекта связано с конкретной реализацией.
3 Соответствующие методы затенения реализуются посредством PHIGS PLUS [70].
EXPRESS-спецификация
TYPE shading_surface_method = ENUMERATION OF
(constant_shading,
colour_shading,
dot_shading,
normal_shading);
END_TYPE;
Определения элементов перечисления
constant_shading — вычисленная отражающая способность каждой фасеты (грани) аппроксимируемой поверхности для определения единого отраженного цвета данной фасеты. Выбор опорной точки на фасете при выполнении этого вычисления определяют в конкретной реализации. Цвет, используемый при вычислении отражающей способности, задают посредством атрибута surface_colour соответствующего объекта surface_style_rendering;
colour_shading — вычисленная отражающая способность каждой вершины (узла) фасеты аппроксимируемой формы изделия с использованием атрибута surface_colour и нормалей к поверхности в каждой вершине фасеты;
dot_shading — любые элементы изделий, используемые в формуле отражающей способности, определяемые нормалями к соответствующим поверхностям в виде набора их местоположений на конкретной поверхности. Эти элементы интерполируют линейно в местах их пересечения с данной поверхностью. Вычисление отражающей способности выполняют для каждой интерполируемой позиции поверхности для указания ее цвета на основе заданных элементов изделий и значений атрибута surface_colour соответствующего объекта surface_style_rendering;
normal_shading — нормали, интерполированные линейно по отношению к местам их пересечения сданной поверхностью. Вычисление отражающей способности выполняют для каждой интерполируемой позиции поверхности для указания ее цвета на основе заданных нормалей и значений атрибута surface_colour соответствующего объекта surface_style_rendering.
Если атрибут surface_colour задают через объект colour_specification, выбор соответствующих цветов должен быть выполнен в рамках цветовой модели, определенной в этом объекте. В противоположном случае данная интерполяция может быть выполнена на основе произвольно выбранной модели.
Примечания
1 Результат выбора цвета зависит от колористики цветовой модели, в рамках которой выполнена соответствующая интерполяция.
2 Примерами цветовых моделей являются RGB, HSV и HLS.
3 Более подробная информация о цветовых моделях и выборе соответствующих цветов приведена в [7].
6 .3.31 Тип size_select
Тип size_select является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных. Тип size_select используют для определения размеров маркировочных знаков или толщины кривых.
EXPRESS-спецификация
TYPE size_select = SELECT
(positive_length_measure,
measure_with_unit,
descriptive_measure,
pre_defined_size);
END_TYPE;
6 .3.32 Тип squared_or_rounded
Тип squared_or_rounded задает виды кривых с точки зрения их угловых и концевых положений.
Примечание —См. рисунок20.
Параметр кривой
Спрямление
Скругление
Конец кривой
Угол кривой
d- толщина кривой
Рисунок 20 — Спрямление или скругление
EXPRESS-специсЬикация
*)
TYPE squared_or_rounded = ENUMERATION OF
(squared,
rounded);
END_TYPE;
(*
Определения элементов перечисления
squared — кривая, позиционированная с точки зрения ее угловых и концевых положений; rounded — полудуга диаметром, равным толщине кривой, вычерченная на концах и углах кривой.
6.3.33 Тип style_context_select
Тип style_context_select является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных. Тип style_context_select определяет выбор одного из объектов, могущих задавать контекст для назначения или переопределения стиля представления.
EXPRESS-специсЬикация
TYPE style_context_select = SELECT
(group,
context_dependent_shape_representation,
presentation_layer_assignment,
presentation_set,
representation,
representationjtem,
representation_relationship);
END_TYPE:
6.3.34 Тип styled_item_target
Тип styled_item_target является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных.
EXPRESS-спецификация
TYPE styled_item_target = SELECT (geometric_representation_item, mappedjtem, representation_or_representation_reference, topological representation item);
END_TYPE;
6.3.35 Тип surface_side
Тип surface_side используется объектом surface_style_usage при указании сторон поверхности, для которых применяется конкретный стиль.
EXPRESS-спецификация
TYPE surface_side = ENUMERATION OF
(positive, negative both);
END_TYPE;
(*
Определения элементов перечисления
positive — сторона поверхности, соответствующая направлению нормали к ней;
negative — сторона поверхности, противоположная направлению нормали к ней; both — обе стороны поверхности.
6.3.36 Тип surface_side_style_select
Тип surface_side_style_select является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных.
EXPRESS-спецификация
TYPE surface_side_style_select = SELECT (surface_side_style, pre_defined_surface_side_style);
END_TYPE;
6.3.37 Тип surface_style_element_select
Тип surface_style_element_select является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных. Тип surface_style_element_ select определяет выбор различных стилей описания поверхности, используемых при представлении сторон этой поверхности.
EXPRESS-спецификация
TYPE surface_style_element_select = SELECT (surface_style_fill_area, surface_style_boundary, surface_style_silhouette, surface_style_segmentation_curve, surface_style_control_grid, surface_style_parameter_line, surface_style_rendering);
END_TYPE;
6.3.38 Тип surface_tolerance_deviation
Тип surface_tolerance_deviation определяет аппроксимированный допуск для поверхности через значение его отклонения.
EXPRESS-спецификация
TYPE surface_tolerance_deviation = positivejength_measure;
END_TYPE;
(*
6.3.39 Тип surface_tolerance_parameter
Тип surface_tolerance_parameter задает аппроксимированный допуск для поверхностей в единицах параметризованного пространства.
EXPRESS-спецификация
*)
TYPE surface_tolerance_parameter = REAL;
END_TYPE;
6.3.40 Тип symbol_style_select
Тип symbol_style_select является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных. Тип symbol_style_select используют для определения стиля элементов символа или цвета данного символа в целом.
EXPRESS-спецификация
TYPE symbol_style_select = SELECT
(symbol_element_style,
symbol_colour);
END_TYPE;
6.3.41 Тип tessellated_face_or_tessellated_surface_set
Тип tessellated_face_or_tessellated_surface_set является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных.
EXPRESS-спецификация
TYPE tessellated_face_or_tessellated_surface_set = SELECT
(tessellated_face,
tessellated_surface_set);
END_TYPE;
6.3.42 Тип tessellated_surface_item
Тип tessellated_surface_item является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных.
EXPRESS-спецификация
*)
TYPE tessellated_surface_item = SELECT
(tessellated_face,
tessellated_shell,
tessellated_solid,
tessellated_surface_set);
END_TYPE;
6.3.43 Тип textjustification
Тип textjustification обеспечивает управление выравниванием текста.
Примечание — В прикладных протоколах должны быть заданы соответствующие значения textjustification и пояснен их смысл.
EXPRESS-спецификация
*)
TYPE textjustification = lable;
END_TYPE;
6.3.44 Тип texture_file_type
Тип texture_file_type является перечислимым списком форматов файлов, который определяет формат изображения текстуры, отображаемой в объекте single_texture_style_tessellation_ specification.
EXPRESS-спецификация
TYPE texture_file_type = ENUMERATION OF
(JPEG,
PNG,
GIF,
TIFF,
BMP,
DDS,
TGA,
other);
END_TYPE;
Определения элементов перечисления
JPEG — формат файла изображения Объединенной группы экспертов в области фотографии (Joint Photographic Experts Group);
PNG — формат файла изображения переносимой сетевой графики;
GIF — формат файла изображения обмена графическими данными;
TIFF — тегированный формат файла изображения;
BMP — формат файла растрового изображения [8];
DDS — формат хранения изображения для использования в Microsoft DirectX 7 [9];
TGA — формат файла изображения графического адаптера Truevision [70];
other — другой формат файла изображения.
6.3.45 Тип tolerance_deviation_select
Тип tolerance_deviation_select является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных. Тип tolerance-deviation-select используется объектом approximation_tolerance_deviation для выбора одного из типов curve-tolerance-deviation или surface_tolerance_deviation.
EXPRESS-спецификация
TYPE tolerance_deviation_select = SELECT
(curve_tolerance_deviation, surface_tolerance_deviation);
END_TYPE;
6.3.46 Тип tolerance_parameter_select
Тип tolerance_parameter_select является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных. Тип tolerance_parameter_select используется объектом approximation_tolerance_parameter для выбора одного из объектов curve_ tolerance_parameter или surface_tolerance_parameter.
EXPRESS-спецификация
TYPE tolerance_parameter_select = SELECT
(curve_tolerance_parameter, su rface_tolerance_para meter);
END_TYPE;
6.3.47 Тип tolerance_select
Тип tolerance_select является списком дополнительных типов данных. Тип обеспечивает механизм для ссылки на один экземпляр одного из типов данных. Тип tolerance_select используется объектом approximation_tolerance для выбора одного из объектов approximation_tolerance_deviation или approximation_tolerance_parameter.
EXPRESS-спецификация
TYPE tolerance_select = SELECT
(approximation_tolerance_deviation, approximation_tolerance_parameter);
END_TYPE;
6.3.48 Тип u_direction_count
Тип u_direction_count является положительным целым числом, указывающим количество параметризованных кривых в направлении и параметрической поверхности.
EXPRESS-спецификация
TYPE u_direction count = INTEGER
WHERE
WR1:SELF > 1;
END_TYPE;
(*
Формальное утверждение
WR1 — количество должно быть более 1.
6.3.49 Тип unsigned_8_bit_integer
Тип unsigned_8_bit_integer является 8-битным целым беззнаковым числом с двоичным представлением.
EXPRESS-спецификация
*)
TYPE unsigned 8_bit integer = INTEGER;
WHERE
WR1;{0<=SELF <= 255 };
END_TYPE;
Формальное утверждение
WR1 — значение целого числа должно быть в диапазоне от 0 до 255 включительно..
6.3.50 Тип v_direction_count
Тип v_direction_count является положительным целым числом, указывающим количество параметризованных кривых в направлении v параметрической поверхности.
EXPRESS-спецификация
TYPE v_direction_count = INTEGER
WHERE
WR1: SELF > 1;
END_TYPE;
Формальное утверждение
WR1 — количество должно быть более 1.
6.4 Определение объектов схемы presentation_appearance_schema
6.4.1 Объект approximation_tolerance
Объект approximation_tolerance является подтипом founded_item. Объект approximationtolerance предназначен для визуализируемых требований к каждому изображаемому элементу. Данный объект определяет допустимое положение и форму каждого элемента изображения по отношению к его математически точно проецируемому положению и форме.
EXPRESS-спецификация
ENTITY approximation_tolerance
SUBTYPE OF (foundedjtem);
tolerance : tolerance_select;
END_ENTITY;
Определение атрибута
tolerance — допуски, используемые при аппроксимации кривых и поверхностей.
Примечание — Если объект approximation_tolerance не задан, точность изображения зависит от конкретной реализации.
6.4.2 Объект approximation_tolerance_deviation
Объект approximation_tolerance_deviation является подтипом foundedjtem. Объект approximation_tolerance_deviation задает размер отклонения при аппроксимации кривых и поверхностей. Величина отклонения может быть задана в пространстве формы изделия или области представления.
EXPRESS-спецификация
ENTITY approximation Jolerance_deviation
SUBTYPE OF (foundedJtem);
tessellation_type : approximation_method;
tolerances : SET[1:2] OF tolerance_deviation_select;
definition_space : product_or_presentation_space;
WHERE
WR1: (HIINDEX(tolerances) = 1) XOR (TYPEOF(tolerances[1]) <> TYPEOF(tolerances[2])); END_ENTITY;
Определения атрибутов
tessellation_type — выбранный approximation_method, определяющий вид мозаичной аппроксимации кривых и поверхностей посредством графических примитивов;
tolerances — набор допусков, определяющий максимально допустимые отклонения при аппроксимации кривых и поверхностей;
definition_space — пространство координат, в котором заданы допуски. Допуски могут быть заданы в интервале отклонений соответствующей кривой или поверхности или в интервале отклонений объекта presentation_area, содержащего кривую или поверхность.
Формальное утверждение
WR1 — при наличии в наборе допусков двух элементов они должны быть разного типа.
6.4.3 Объект approximation_tolerance_parameter
Объект approximation_tolerance_ parameter является подтипом foundedjtem. Объект approximation_tolerance_parameter определяет допуски аппроксимации кривых и поверхностей в единицах параметрического пространства.
EXPRESS-спецификация
ENTITY approximation Jolerance_parameter
SUBTYPE OF (foundedJtem);
tolerances : SET[1:2] OF tolerance_parameter_select;
WHERE
WR1: (HIINDEX (tolerances) = 1 ) XOR (TYPEOF (tolerances[1]) <> TYPEOF (tolerances[2])); END_ENTITY;
Определение атрибута
tolerances — набор допусков, используемых при аппроксимации кривых и поверхностей. Кривые и поверхности аппроксимируют на основе однородных операций (шагов), заданных в параметрическом пространстве. Соответствующие длины измеряют в единицах параметрического пространства.
Формальное утверждение
WR1 — при наличии в наборе допусков двух элементов последние должны быть разного типа.
6.4.4 Объект character_glyph_style_outline
Объект character_glyph_style_outline является подтипом foundedjtem. Объект character_ glyph_style_outline определяет стиль глифа символа для текста, сверстанного преимущественно с использованием замкнутых зон.
EXPRESS-спецификация
ENTITY character_glyph_style_outline
SUBTYPE OF (foundedJtem);
outline_style : curve_style;
END_ENTITY;
Определение атрибута
outline_style — объект curve_style, используемый при определении кривых, входящих в объект character glyph_symbol_outline.
6.4.5 Объект character_glyph_style_outline_with_characteristics
Объект character_glyph_style_outline_with_characteristics является подтипом character-glyph_style_outline с дополнительными характеристиками зон, определенных в character_glyph_ style_outline.
EXPRESS-специсЬикация
ENTITY character_glyph_style_outline_with_characteristics
SUBTYPE OF (character_glyph_style_outline);
characteristics : fill_area_style;
END_ENTITY;
Определение атрибута
characteristics — характеристики зон, связанных с глифом символа.
6.4.6 Объект character_glyph_style_stroke
Объект character_glyph_style_stroke является подтипом founded_item. Объект character-glyph_style_stroke определяет стиль глифа символа для текста, сверстанного преимущественно с использованием кривых линий (криволинейных строк).
EXPRESS-спецификация
ENTITY character_glyph_style_stroke
SUBTYPE OF (foundedJtem);
stroke_style : curve_style;
END_ENTITY;
Определение атрибута
stroke_style — объект curve_style, используемый при определении кривых, входящих в объект character_glyph_symbol_stroke.
6.4.7 Объект context_dependentjnvisibility
Объект context_dependentjnvisibility является подтипом invisibility, используемым в контексте изображения или уровня. Элементы, заданные как невидимые, являются таковыми только в контексте определенных объектов presentation_set, presentation_representation или presentation Jayer_usage.
Пример — Символ входит в качестве элемента в два различных вида, но будет представлен только в первом виде. Объект context_dependent_invisibility использован для указания невидимости символа во втором виде посредством использования данного вида в качестве контекста невидимости.
EXPRESS-спецификация
ENTITY context_dependentjnvisibility
SUBTYPE OF (invisibility);
presentation_context: invisibility_context;
END_ENTITY;
Определение атрибута
presentation_context — объект presentation_set, presentation_representation или presentation-layer_usage, содержащий контекст, определяющий невидимость.
6.4.8 Объект context_dependent_over_riding_styledjtem
Объектом context_dependent_over_riding_styled_item является подтипом over_riding_styledJtem, стиль которого задан через другой ранее определенный атрибутом representation.representationjtem или комбинацию объектов representation и representationjtem, посредством которой стилизуют данный элемент.
Пример — Экземпляр окружности использован в экземпляре 1 объекта geometric_curve_set, являющегося элементом экземпляра 1 объекта representation. В настоящем примере окружность ограничивает головку винта дверной петли. Экземпляр объекта styled_item является элементом экземпляра 1 объекта representation. В данный styledjtem в качестве элементов входят geometric_curve_set и presentation-style_assignment с объектом curve_styie, задающим синий цвет. Экземпляр 1 объекта representation входит в экземпляр 2 объекта representation посредством экземпляров 1 объектов representation-тар и mapped_item в качестве одной из дверных петель. Экземпляр 1 объекта representation входит в различные конфигурации экземпляра 2 объекта representation посредством экземпляров 2 объектов representation_map и mapped_item в качестве второй дверной петли. Экземпляр context_dependent_over_ riding_styled_item также является элементом экземпляра 2 объекта representation. При этом элементами context_dependent_over_riding_styled_item являются: экземпляр окружности, экземпляр styled_item в качестве over_ridden_style, presentation_style_assignment с объектом curve_style, задающим красный цвет, и style_context экземпляра 1 объекта mapped_item. Красный цвет окружности является преимущественным по сравнению с синим, заданным объектом geometric_curve_set для representation, так как он входит в данное представление посредством экземпляра 1 mapped_item. Представление экземпляра 2 объекта representation может включать две различные позиции geometric_curve_set: первую, имеющую головку винта красного цвета, а все другие кривые — синего, и вторую, где все кривые синего цвета.
EXPRESS-спецификация
ENTITY context_dependent_over_riding_styled_item
SUBTYPE OF (over_riding_styled_item);
style_context: LIST[1:?] OF style_context_select;
WHERE
WR1: (SIZEOF(QUERY(sc <* style_context | 'REPRESENTATION_SCHEMA.REPRESENTATION_ITEM' IN TYPEOF(sc)))= 1) OR (SIZEOF(QUERY(sc <* style_context | ('REPRESENTATION_SCHEMA.MAPPED_ ITEM' IN TYPEOF(sc)) OR ('PRESENTATION_APPEARANCE_SCHEMA.CONTEXT-DEPENDENT-SHAPE-REPRESENTATION' IN TYPEOF(sc)) OR ('REPRESENTATION-SCHEMA.REPRESENTATIONRELATIONSHIP' IN TYPEOF(sc)))) = SIZEOF(style_context));
END_ENTITY;
Определение атрибута
style_context — набор из одного или более контекстов для переопределения соответствующего стиля.
Формальное утверждение
WR1 —должен быть только один объект representation_item, или все объекты sty le_contexts должны быть либо объектами mapped_items, либо объектами context_dependent_shape_representation или representation_relationships.
6.4.9 Объект curve_style
Объект character_glyph_style_stroke является подтипом founded_item. Объект curve_style определяет визуальный вид кривой.
EXPRESS-спецификация
ENTITY curve_style
SUBTYPE OF (founded Jtem);
name : label;
curve_font: OPTIONAL curve_font_or_scaled_curve_font_select;
curve_width : OPTIONAL size_select;
curve_colour: OPTIONAL colour;
WHERE
WR1: EXISTS(curve_font) OR EXISTS(curve_width) OR EXISTS(curve_colour); END_ENTITY;
Определения атрибутов
name — слово или группа слов, посредством которых ссылаются на curve_style;
curve_font — объект curve_style_font, масштабированный объект curve_style_font, объект рге_ defined_curve_font, масштабированный объект pre_defined_curve_font, объект externally_defined_curve_ font или масштабированный externally_defined_curve_font, используемые для представления кривой;
curve_width — толщина видимой части представленной кривой, выраженная в единицах объекта presentation_area;
curve_colour— цвет видимой части кривой.
Формальное утверждение
WR1 —должен быть определен минимум один объект curve_font, curve_width или curve_colour.
6.4.10 Объект curve_style_curve_pattern
Объект curve_style_curve_pattern является подтипом geometric_representation_item. Объект curve_style_curve_pattern определяет шаблон кривой, используемый в объекте curve_style_curve_ pattern_set. Объект curve_style_curve_pattern задают в виде локального шаблона в определенной системе координат, распространяемого на видимые сегменты исходной кривой. Проецируемая кривая касательна к оси х и нормальна к оси у системы координат, определяющей данный локальный шаблон.
Примечание — Иллюстрация объекта curve_style_curve_pattern приведена на рисунке 21.
Рисунок 21 — Стиль изображения кривой
EXPRESS-спецификация
ENTITY curve_style_curve_pattern
SUBTYPE OF (geometric_representation_item);
pattern : annotation_curve_occurrence;
patternjength : positive_length_measure;
END_ENTITY;
Определения атрибутов
pattern — дублируемый шаблон для заполнения кривой. Данный шаблон определяют как объект annotation_curve_occurrence, поэтому он связан с объектом presentation_style;
patternjength — длина шаблона в единицах, заданных объектом presentation_area.
6.4.11 Объект curve_style_curve_pattern_set
Объект curve_style_curve_pattern_set является подтипом curve_style_font и geometric_ representation_item. Объект curve_style_curve_pattern_set определяет стиль заполнения видимых сегментов кривой в соответствии с повторяющимися шаблонами. Данный объект дублируется на всем протяжении видимых сегментов кривой.
EXPRESS-спецификация
*)
ENTITY curve_style_curve_pattern_set
SUBTYPE OF (curve_style_font, geometric_representation_item);
pattern_set: SET[1:?] OF curve_style_curve_pattern;
END_ENTITY;
Определение атрибута
pattern_set — повторяемый объект pattern_set, содержащий набор объектов curve_style_curve_ pattern.
Неформальные утверждения
IP1 — кривая всегда начинается с полного шаблона;
IP2 — шаблон кривой ограничивает конец кривой и может быть неполным.
6.4.12 Объект curve_style_font
Объект curve_style_font является подтипом foundedjtem. Объект curve_style_font описывает шаблон из нескольких объектов curve_style_font_patterns. Данный шаблон применяют на всем протяжении кривой.
EXPRESS-спецификация
ENTITY curve_stylejont
SUBTYPE OF (foundedjtem);
name : label;
patternjist: LIST[1:?] OF curve_stylejont_pattern;
END_ENTITY;
Определения атрибутов
name — слово или группа слов, посредством которых ссылаются на curve_stylejont;
patternjist — список объектов curve_stylejont_pattern, содержащий шаблоны, используемые для вычерчивания кривых. Данные шаблоны реализуют в порядке их перечисления в списке.
Неформальные утверждения
IP1 — кривая всегда начинается с полного шаблона;
IP2 — шаблон шрифта ограничивает конец кривой и может быть неполным.
6.4.13 Объект curve_stylejont_and_scaling
Объект curve_stylejont_and_scaling является подтипом foundedjtem. Объект curve_style_ font_and_scaling используют для масштабирования конкретного объекта curve_style Jont.
EXPRESS-спецификация
ENTITY curve_stylejont_and_scaling
SUBTYPE OF (foundedjtem);
name : label;
curveJont: curve_stylejont_select;
curvejont_scaling : REAL;
ENDJENTITY;
(*
Определения атрибутов
name — слово или группа слов, посредством которых ссылаются на объект curve_stylejont_ and_scaling;
curve Jont — масштабируемый объект curvejont;
curvejont_scaling — коэффициент масштабирования.
6.4.14 Объект curve_stylejont_pattern
Объект curve_stylejont_pattern является подтипом foundedjtem. Объект curve_stylejont_ pattern представляет собой пару видимых и невидимых сегментов кривой, заданных в единицах объекта presentation_area.
EXPRESS-спецификация
ENTITY curve_stylejont_pattern
SUBTYPE OF (foundedjtem);
visible_segmentjength : positivejength_measure;
invisible segment length : positive length measure;
END_ENTITY;
Определения атрибутов
visible_segmentjength — длина видимого сегмента шаблона, заданная в единицах измерения объекта presentation_area;
invisible_segmentjength — длина невидимого сегмента шаблона, заданная в единицах измерения объекта presentation_area.
6.4.15 Объект curve_style_rendering
Объект curve_style_rendering позволяет визуализировать кривые на поверхности посредством применения соответствующих методов.
EXPRESS-спецификация
ENTITY curve_style_rendering;
rendering_method : shading_curve_method;
rendering_properties : surface_rendering_properties;
END_ENTITY;
Определения атрибутов
rendering_method — определяет метод, используемый для интерполяции цветов кривых на поверхности;
rendering properties — определяет свойства визуализации поверхности, содержащей заданные кривые.
6.4.16 Объект curve_style_wide
Объект curve_style_wide является подтипом foundedjtem. Объект curve_style_wide определяет стиль заполнения видимых сегментов кривой. Данный объект используют при стилистическом оформлении кривых с ячеистой структурой или штрихпунктирных линий, а также при оформлении границ сегментов кривой.
EXPRESS-спецификация
ENTITY curve_style_wide
SUBTYPE OF (curve_style_font);
interior_style : fill_area_style;
END_ENTITY;
Определение атрибута
interior_style — стиль заполнения видимых сегментов кривой посредством «ячеек» или штрихов.
6.4.17 Объект curve_style_with_ends_and_corners
Объект curve_style_with_ends_and_corners является подтипом curve_style и определяет отображение концов и углов кривой.
EXPRESS-спецификация
*)
Е NТIТY cu rve_styIe_with_ends_and_corners
SUBTYPE OF (curve_style);
curve_ends : squared_or_rounded;
curve_corners : squared_or_rounded;
WHERE
WR1: EXISTS(curve_width);
END_ENTITY;
Определение атрибутов
curve_ends — указание отображения концов кривой;
curve_corners — указание отображения углов кривой.
Формальное утверждение
WR1 — объект curve_width должен иметь значение.
6.4.18 Объект curve_style_ with_extension
Объект curve_style_with_extension является подтипом curve_style, показывающим отображение концов кривой в представлении (удлиненное или укороченное).
EXPRESS-спецификация
*)
ENTITY curve_style_with_extension
SUBTYPE OF (curve_style);
curve_extensions : length_measure;
WHERE
WR1: EXISTS(curve_width);
END_ENTITY;
Определение атрибута
curve_extension — объект length_measure, показывающий, как удлинить или укоротить концы кривой. Если объект length_measure положителен, тогда оба конца кривой должны быть расширены в направлении их касательной на величину, заданную единицами измерения объекта presentation_area. Если объект length_measure отрицателен, тогда кривая должна быть укорочена на абсолютное значение длины, заданное единицами длины объекта presentation_area.
Примечание —См. рисунок22.
Концы кривой: скругленные
Нормальная
Сокращенная
Рисунок 22 — Стиль кривой линии с расширением
Формальное утверждение
WR1 — объект curve_width должен иметь значение.
6.4.19 Объект draughting_pre_defined_curve_font
Объект draughting_pre_defined_curve_font является подтипом pre_defined_curve_font, идентифицируемым по наименованию.
В таблице 1 указаны длины линейных сегментов и промежутков для каждого из шрифтов кривой, определенных в настоящем стандарте. Если объект pre_defined_curve_font используется как часть определения объекта curve_style_font_and_scaling, то указанные длины равны длинам при значении атрибута curve_font_scaling 1.0.
Примечания
1 Объект curve_style_font_and_scaling определен в 6.4.13.
2 Шрифты кривой представлены на рисунке 23.
Таблица 1 — Длины линейных сегментов и промежутков для шрифтов кривой
Штрих | Сегмент, мм | Промежуток, мм | Сегмент, мм | Промежуток, мм | Сегмент, мм | Промежуток, мм | Число сегментов |
Сплошная линия | — | — | — | — | — | — | 0 |
Штрих | 4,0 | 1,5 | — | — | — | — | 2 |
Штрихпунктир | 7,0 | 1,0 | 1,0 | 1,0 | — | — | 4 |
Штрих | Сегмент, мм | Промежуток, мм | Сегмент, мм | Промежуток, мм | Сегмент, мм | Промежуток, мм | Число сегментов |
Двойной штрихпунктир | 7,0 | 1,0 | 1,0 | 1,0 | 1,0 | 1,0 | 6 |
Пунктир | 1,0 | 1,0 | — | — | — | — | 2 |
Сплошная линия
Пунктир
Штрих
Штрихпунктир
Двойной штрихпунктир ■ ■
Рисунок 23 — Шрифты кривой
EXPRESS-спецификация
ENTITY draughtingjDre_defined_curve_font
SUBTYPE OF (pre_defined_curve_font);
WHERE
WR1: SELF\pre_defined_item.name IN ['continuous', 'chain', 'chain double dash', 'dashed', 'dotted']; END_ENTITY;
(*
6.4.20 Объект externally_defined_curve_font
Объект externally_defined_curve_font является подтипом externally_defined_item. Объект externally_defined_curve_font задает внешнюю ссылку на шрифт кривой.
EXPRESS-спецификация
ENTITY externally_defined_curve_font
SUBTYPE OF (externally_definedjtem);
END_ENTITY;
6.4.21 Объект externally_defined_hatch_style
Объект externally_defined_hatch_style является подтипом externally_defined_item. Объект externally_defined_hatch_style задает внешнюю ссылку на стиль штриховки.
EXPRESS-спецификация
ENTITY externally_defined_hatch_style
SUBTYPE OF (extemally_defined_item, geometric_representation_item); END_ENTITY;
6.4.22 Объект externally_defined_style
Объект externally_defined_style является подтипом externally_defined_item. Объектом externally_defined_style является внешней ссылкой на стиль представления.
EXPRESS-спецификация
ENTITY externally_defined_style
SUBTYPE OF (externally_definedjtem);
END_ENTITY;
6.4.23 Объект externally_defined_tile
Объект externally_defined_tile является подтипом externally_defined_item. Объект externally_ defined_tile является внешне определенной ссылочной ячейкой.
EXPRESS-спецификация
ENTITY externally_definedjile
SUBTYPE OF (externally_defined_item);
END_ENTITY;
6.4.24 Объект externally_defined_tile_style
Объект externally_defined_tile_style является подтипом externally_defined_item и подтипом geometric_representation_item. Объект externally_defined_tile_style задает внешнюю ссылку на мозаичный стиль.
EXPRESS-спецификация
ENTITY externally_definedjile_style
SUBTYPE OF (externally_defined_item, geometric_representation_item); END_ENTITY;
6.4.25 Объект fill_area_style
Объект fill_area_style является подтипом founded_item. Объект fill_area_style задает стиль для заполнения видимых сегментов кривой, аннотируемых заполняемых областей или поверхностей в виде ячеек или штриховки.
EXPRESS-спецификация
ENTITY fill_area_style
SUBTYPE OF (foundedJtem);
name : label;
fill_styles : SET[1:?] OF fill_style_select;
WHERE
WR1: SIZEOF(QUERY(fill_style <* filjstyles | 'PRESENTATION_APPEARANCE_SCHEMA.'+ 'FILL_AREA_ STYLE_COLOUR' IN TYPEOF(fill_style))) <= 1;
END_ENTITY;
Определения атрибутов
name — слово или группа слов, посредством которых ссылаются на fill_area_style;
fill_styles — набор стилей заполнения областей для представления видимых сегментов кривой, аннотируемых заполняемых областей или поверхностей.
Формальное утверждение
WR1 — в наборе объектов fill_styles не должно быть более одного объекта fill_area_style_colour.
6.4.26 Объект fill_area_style_colour
Объект fill_area_style_colour определяет цвет, используемый для сплошного заполнения видимых сегментов кривой, аннотируемых заполняемых областей или поверхностей.
EXPRESS-спецификация
ENTITY fill_area_style_colour;
name : label;
fill_colour: colour;
END_ENTITY;
Определения атрибутов
name — слово или группа слов, посредством которых ссылаются на fill_area_style_colour;
fill_colour — цвет, используемый для заливки конкретной области.
6.4.27 Объект fill_area_style_hatching
Объект fill_area_style_hatching является подтипом geometric_representationjtem. Объект fill_ area_style_hatching определяет стилизуемые отрезки для штриховки видимых сегментов кривых, аннотируемых заполняемых областей или поверхностей.
Примечание — Объект fill_area_style_hatching проиллюстрирован на рисунке 24.
Рисунок 24 — Стиль штриховки заполняемой области
EXPRESS-спецификация
ENTITY fill_area_style_hatching
SUBTYPE OF (geometric_representation_item);
hatch_line_appearance : curve_style;
start_of_next_hatch_line : one_direction_repeat_factor;
point_of_reference_hatch_line : cartesian_point;
pattern_start: cartesian_point;
hatch_line_angle : plane_angle_measure;
END_ENTITY;
Определения атрибутов
hatch_line_appearance — объект curve_style для линий штриховки. Любой curve_style должен быть привязан к началу линии штриховки. Начало эталонной штриховой линии задают посредством атрибута pattern_start. Начало любой другой линии штриховки задают посредством включения ряда атрибутов start_of_next_hatch_line в атрибут pattern_start;
start_of_next_hatch_line — сдвиг между смежными линиями штриховки, заданный в виде вектора;
point_of_reference_hatch_line — начало отображения объекта fill_area_style_hatching на кривую, аннотируемую заполняемую область или поверхность;
pattern_start — исходная точка объекта curve_style для point_of_reference_hatch_line;
hatch_line_angle — угол, задающий направление параллельных линий штриховки.
6.4.28 Объект fill_area_style_tile_coloured_region
Объект fill_area_style_tile_coloured_region является подтипом geometric_representation_item. Объект fill_area_style_tile_coloured_region определяет замкнутую кривую, окрашенную определенным цветом и являющуюся компонентом объекта fill_area_style_tiles.
EXPRESS-спецификация
*)
Е N ТIТ Y f i I l_a rea_sty le_ti I e_co I ou red_reg i о n
SUBTYPE OF (geometric_representationjtem);
closed_curve : curve_or_annotation_curve_occurrence;
region_colour: colour;
WHERE
WR1: (NOT('GEOMETRY_SCHEMA.CURVE' IN TYPEOF (closed_curve))) OR ('GEOMETRY_SCHEMA. CIRCLE' IN TYPEOF (closed_curve)) OR ('GEOMETRY_SCHEMA.ELLIPSE' IN TYPEOF (closed_curve)) OR ( ('GEOMETRY_SCHEMA.B_SPLINE_CURVE' IN TYPEOF (closed_curve)) AND (closed_curve\b_ spline_curve.closed_curve = TRUE) ) OR ( ('GEOMETRY_SCHEMA.COMPOSITE-CURVE' IN TYPEOF (closed_curve)) AND (closed_curve\composite_curve.closed_curve = TRUE)) OR (('GEOMETRY_SCHEMA. POLYLINE' IN TYPEOF (closed_curve)) AND (closed_curve\polyline.points[LOINDEX(closed_curve\polyline. points)] = closed_curve\polyline.points[HIINDEX(closed_curve\polyline.points)]));
END_ENTITY;
Определения атрибутов
closed_curve — замкнутая кривая, ограничивающая закрашиваемую область. Данная эталонная кривая также может быть задана в определенном стиле;
region_colour — цвет области, ограниченной замкнутой кривой.
Формальное утверждение
WR1 — объект closed_curve должен быть замкнутым и не самопересекающимся.
6.4.29 Объект fill_area_style_tile_curve_with_style
Объект fill_area_style_tile_curve_with_style является подтипом geometric_representation_item. Объект fill_area_style_tile_curve_with_style содержит стилизованную кривую, являющуюся компонентом объекта fill_area_style_tiles.
EXPRESS-спецификация
ENTITY fill_area_style_tile_curve_with_style
SUBTYPE OF (geometric_representation_item);
styled_curve : annotation_curve_occurrence;
END_ENTITY;
Определения атрибута
styled_curve — двумерная кривая co стилем, определенным в локальной системе координат ячейки области заливки.
6.4.30 Объект fill_area_style_tile_symbol_with_style
Объект fill_area_style_tile_symbol_with_style является подтипом geometric_representation_ item. Объект fill_area_style_tile_symbol_with_style представляет собой символ, являющийся компонентом объекта fill_area_style_tiles.
EXPRESS-спецификация
ENTITY fill_area_style_tile_symbol_with_style
SUBTYPE OF (geometric_representation_item);
symbol : annotation_symbol_occurrence;
END_ENTITY;
Определение атрибута
symbol — стилизованный аннотируемый символ.
6.4.31 Объект fill_area_style_tiles
Объект fill_area_style_tiles является подтипом geometric_representation_item. Объект fill-area-style-tiles определяет типовую двумерную ячейку, используемую для мозаичного заполнения аннотируемых заполняемых или других замкнутых областей. Содержание мозаики задают посредством набора объектов tiles, а положение каждой ячейки — посредством объекта tiling_pattern, определяющего взаиморасположение смежных ячеек. Ячейки или их части, выходящие за пределы заполняемой области, должны быть обрезаны по границам данной области.
EXPRESS-спецификация
ENTITY fill_area_style_tiles
SUBTYPE OF (geometric_representation_item);
tiling_pattern : two_direction_repeat_factor;
tiles : SET[1:?] OF fill_area_style_tile_shape_select;
tiling_scale : positive_ratio_measure;
END_ENTITY;
Определения атрибутов
tiling_pattern — объект two_direction_repeat_factor, определяющий форму и взаимоположение ячеек;
tiles — набор компонентов ячейки;
tiling_scale — коэффициент масштабирования каждой ячейки при ее определении в объекте a n n otatio n_f i I l_a rea.
6.4.32 Объект invisibility
Объект invisibility определяет, что набор из одного или нескольких объектов styled_items, элементы, заданные уровню посредством объекта presentation_style_assignment, или элементы объекта presentation_representation не должны входить в представление.
EXPRESS-спецификация
*)
ENTITY invisibility;
invisiblejtems : SET[1:?] OF invisiblejtem;
END_ENTITY;
Определение атрибута
invisible_items — набор объектов styled_item, presentation_layer_assignment или presentationrepresentation, заданных как невидимые.
6.4.33 Объект occlusion_precedence
Объектом occlusion_precedence является отношение между двумя объектами, один из которых может закрывать или заменять другой. Данное отношение устанавливают, когда один из объектов скрывает или заменяет другой при их перекрытии в представлении.
Данное отношение является транзитивным. Если объект А закрывает объект В, а объект В закрывает объект С, тогда объект А также закрывает объект С.
Данное отношение применяют только для двух объектов, входящих в одно отображение.
Примечание —Если два таких объекта перекрываются и не связаны отношением occlusion_precedence, то какой из элементов находится сверху, зависит от конкретной реализации.
EXPRESS-спецификация
ENTITY occlusion_precedence;
higher_precedence : hiding_or_blanking_select;
lower_precedence : hiding_or_blanking_select;
occlusion_context: representation;
WHERE
WR1: acyclic_occlusion_precedence (SELF, [lower_precedence]); END_ENTITY;
Определения атрибутов
higher_precedence — объект, который может заменять или скрывать объект lower_precedence; lower_precedence — объект, который может быть заменен или скрыт объектом higher_precedence; occlusion_context — объект representation, в котором содержится данное представление.
Формальное утверждение
WR1 — объект occlusion_precedence не должен входить в дерево объектов hiding_or_blanking_ select, корнем которого является лист дерева самих объектов.
6.4.34 Объект one_direction_repeat_factor
Объект one_direction_repeat_factor является подтипом geometric_representation_item. Объектом one_direction_repeat_factor является вектор, используемый в объекте fill_area_style_hatching для определения положения повторяющейся штриховой линии по отношению к исходной линии штриховки. При заданном исходном положении I какой-либо линии штриховки R объекта one-direction-repeat-factor определяет два новых положения в соответствии с формулой
Р = I + к • R,
где к = -1,1.
Примечание — На рисунке 25 показаны положения, задаваемые объектом one_direction_repeat_factor.
-R R
Р2 I Р,
I — исходное положение; R — коэффициент повторения
Рисунок 25 — Коэффициент повторения в одном направлении
EXPRESS-спецификация
ENTITY one_direction_repeat_factor
SUBTYPE OF (geometric_representationjtem);
repeat_factor: vector;
END_ENTITY;
Определение атрибута
repeat_factor— объект vector, определяющий относительное положение штриховых линий.
6.4.35 Объект over_riding_styled_item
Объектом over_riding_styled_item является объект styled_item, стиль которого задан через другой ранее определенный стиль. Это происходит, когда атрибут over_ridden_style.styled_item и данный over_riding_styled_item одновременно прямо или косвенно входят в одно и то же представление.
Пример — Экземпляр окружности входит в объект geometric_curve_set, являющийся элементом объекта representation. Экземпляр объекта styledjtem является элементом того же объекта representation. Рассматриваемый styledjtem включает в качестве составляющих данный geometric_ curve_set и объект presentation_style_assignment с объектом curve_styie, имеющим значение цвета «синий». Экземпляр объекта over_riding_styledjtem также является элементом того же представления. Элементами данного over_riding_styledjtem являются: экземпляр окружности, экземпляр объекта styledjtem в качестве over_ridden_style и объект presentation_style_assignment с объектом curve_style, имеющим значение цвета «красный». В этом случае красный цвет окружности является преимущественным по отношению к синему, заданному geometric_curve_set при его представлении.
EXPRESS-спецификация
ENTITY over_riding_styled_item
SUBTYPE OF (styledjtem);
over_ridden_style : styledjtem;
END_ENTITY;
Определение атрибута
over_ridden_style — объект styledjtem, стиль которого переопределен.
6.4.36 Объект point_style
Объект point_style является подтипом foundedjtem. Объект point_style определяет визуальное представление точек.
EXPRESS-спецификация
ENTITY point_style
SUBTYPE OF (foundedjtem);
name : label;
marker: OPTIONAL marker_select;
marker_size : OPTIONAL size_select;
marker_colour: OPTIONAL colour;
WHERE
WR1: EXISTS(marker) OR EXISTS(marker_size) OR EXISTS(marker_colour);
END_ENTITY;
Определения атрибутов
name — слово или группа слов, посредством которых ссылаются на point_style;
marker— вид маркера, который следует использовать для представления точки;
marker_size — размер, в единицах объекта presentation_area, используемый для начертания маркера;
marker_colour — цвет маркера.
Формальное утверждение
WR1 — должен существовать хотя бы один из атрибутов OPTIONAL объектов marker, marker_ style или marker_colour
6.4.37 Объект pre_defined_character_spacing
Объект pre_defined_character_spacing является подтипом pre_defined_item. Объектом pre_de-fined_character_spacing является пробел между символами, определяемый в конкретных приложениях.
Примечание — Порядок применения данного объекта задают в прикладных ресурсах или протоколах.
EXPRESS-спецификация
ENTITY pre_defined_character_spacing
SUBTYPE OF (pre_defined_item);
END_ENTITY;
6.4.38 Объект pre_defined_curve_font
Объект pre_defined_curve_font является подтипом pre_defined_item. Объект pre_defined_ curve_font может быть использован для определения прикладных шрифтов кривой.
Примечание — Порядок применения данного объекта задают в прикладных ресурсах или протоколах.
EXPRESS-спецификация
ENTITY pre_defined_curve_font
SUBTYPE OF (pre_defined_item);
END_ENTITY;
6.4.39 Объект pre_defined_hatch_style
Объект pre_defined_hatch_style является подтипом geometric_representation_item и типом pre_defined_item. Объект pre_defined_hatch_style является стилем штриховки, заданным для прикладных протоколов, определяющих стиль штриховки сплошными или пунктирными линиями.
Примечание — Порядок применения данного объекта задают в прикладных ресурсах или протоколах.
EXPRESS-спецификация
*)
ENTITY pre_defined_hatch_style
SUBTYPE OF (pre_defined_item, geometric_representation_item);
END_ENTITY;
6.4.40 Объект pre_defined_marker
Объект pre_defined_marker является подтипом pre_defined_item. Объект pre_defined_marker может быть использован для определения прикладных знаков маркера.
Примечание — Порядок применения данного объекта задают в прикладных ресурсах или протоколах.
EXPRESS-спецификация
ENTITY pre_defined_marker
SUBTYPE OF (pre_defined Jtem);
END_ENTITY;
6.4.41 Объект pre_defined_presentation_style
Объект pre_defined_presentation_style является подтипом foundedjtem и подтипом predefined-item. Объект pre_defined_presentation_style может быть использован для определения некоторых прикладных характеристик видов атрибутов, определенных в рассматриваемой схеме.
Примечание — Порядок применения данного объекта задают в прикладных ресурсах или протоколах.
EXPRESS-спецификация
ENTITY pre_defined_presentation_style
SUBTYPE OF (foundedjtem, pre_defined_item);
END_ENTITY;
6.4.42 Объект pre_defined_size
Объект pre_defined_size_marker является подтипом pre_defined_item. Объект pre_defined_ size_marker используется для определения размера маркеров для конкретного приложения.
Примечание — Порядок применения данного объекта задают в прикладных ресурсах или протоколах.
EXPRESS-спецификация
ENTITY pre_defined_size
SUBTYPE OF (pre_defined_item);
END_ENTITY;
6.4.43 Объект pre_defined_surface_side_style
Объект pre_defined_surface_side_style является подтипом pre_defined_item. Объект pre_ defined_surface_side_style может быть использован при определении прикладного применения объектов surface_side_style.
Примечание — Порядок применения данного объекта задают в прикладных ресурсах или протоколах.
EXPRESS-спецификация
ENTITY pre_defined_surface_side_style
SUBTYPE OF (pre_defined_item);
END_ENTITY;
6.4.44 Объект pre_defined_tile
Объект pre_defined_tile является подтипом pre_defined_item. Объект pre_defined_tile используется для определения применяемой ячейки.
Примечание — Порядок применения данного объекта задают в прикладных ресурсах или протоколах.
EXPRESS-спецификация
ENTITY pre_defined_tile
SUBTYPE OF (pre_defined_item);
END_ENTITY;
6.4.45 Объект pre_defined_tile_style
Объект pre_defined_tile_style является подтипом geometric_representation_item и подтипом pre_defined_item. Объект pre_defined_tile_style является стилем мозаики, заданным для прикладных протоколов, определяющих конкретный мозаичный стиль.
Примечание — Порядок применения данного объекта задают в прикладных ресурсах или протоколах.
EXPRESS-спецификация
ENTITY pre_defined_tile_style
SUBTYPE OF (pre_defined_item, geometric_representation_item); END_ENTITY;
6.4.46 Объект presentation_style_assignment
Объект presentation_style_assignment является подтипом foundedjtem. Объект presentation_style_ assignment представляет собой набор стилей, заданных в объекте representationjtem с целью представления конкретного элемента. Определения этих стилей влияют только на вид элемента конкретного типа.
Стиль поверхности связан только с поверхностями. Стили области заполнения и кривой связаны только с кривыми и поверхностями. Стиль точки относится к точкам, кривым и поверхностям. Стиль текста связан только с аннотируемым текстом. Стиль знаков связан только со знаками.
Пример — В случае задания для линии стиля кривой его следует использовать. В случае задания для линии стилей кривой и точки следует использовать оба стиля.
EXPRESS-спецификация
ENTITY presentation_style_assignment
SUBTYPE OF (foundedjtem);
styles : SET[1:?] OF presentation_style_select;
WHERE
WR1: SIZEOF (QUERY (style 1 <* styles | NOT (SIZEOF (QUERY (style2 <* (styles - stylel) | NOT ((TYPEOF (stylel) <> TYPEOF (style2)) OR (SIZEOF (['PRESENTATION_APPEARANCE_SCHEMA.' + 'SURFACE_ STYLEJJSAGE', 'PRESENTATION_APPEARANCE_SCHEMA.'+ 'EXTERNALLY_DEFINED_STYLE'] * TYPEOF (stylel)) = 1)))) = 0 ))) = 0;
WR2: SIZEOF (QUERY (stylel <* styles | 'PRESENTATION_APPEARANCE_SCHEMA.SURFACE_STYLE_ USAGE' IN TYPEOF(stylel))) <= 2;
WR3: SIZEOF (QUERY (stylel <* styles | ('PRESENTATION_APPEARANCE_SCHEMA.SURFACE-STYLE-USAGE' IN TYPEOF (stylel)) AND (SIZEOF (QUERY (style2 <* (styles - stylel) | ('PRESENTATION-APPEARANCE_SCHEMA.SURFACE_STYLE_USAGE' IN TYPEOF (style2)) AND ((style 1\surface_style_ usage.side = both) OR (style2\surface_style_usage.side = both) OR (stylel\surface_style_usage.side = style2\ surface_style_usage.side)))) > 0))) = 0;
END_ENTITY;
Определение атрибута
styles — набор стилей представления, заданных в объекте representationjtem.
Формальные утверждения
WR1 — один и тот же стиль не должен использоваться дважды, за исключением объектов externally_defined_style и surface_style_usage;
WR2 — в наборе стилей объект surfage_style_usage не должен использоваться более двух раз;
WR3 — если в наборе стилей имеются два экземпляра объекта surface_style_usage, каждый из них должен определять стилизацию противоположных сторон поверхности.
Неформальные утверждения
IP1 — внешне определенный стиль не должен противоречить другим стилям того же объекта presentation_style_assignment, включая другие внешне определенные стили.
Примечание — При конфликте одного стиля с другим это связано с различными стилями описания одинаковой характеристики (такой, как цвет или ширина). Например, для одного объекта могут быть заданы два стиля цвета: синий или зеленый.
6.4.47 Объект presentation_style_by_context
Объект presentation_style_by_context является подтипом presentation_style_assignment, заданным для объекта representationjtem и используемым только в контексте конкретного представления.
EXPRESS-спецификация
*)
ENTITY presentation_style_by_context
SUBTYPE OF (presentation_style_assignment);
style_context: style_context_select;
END_ENTITY;
Определение атрибута
style_context — контекст представления, стиль которого задан объектом representationjtem.
6.4.48 Объект single_texture_style_tessellation_specification
Объект single_texture_style_tessellation_specification является подтипом texture_style_ tessellation specification, определяющим визуальную текстуру. Объект texture_coordinates представляет собой массив, элементы которого неявно связаны с координатами в мозаичной геометрии, связанной с объектом single_texture_style_tessellation_specification. Текстура определяется во внешнем файле.
EXPRESS specification:
ENTITY single_texture_style_tessellation_specification
SUBTYPE OF (texture_style_tessellation_specification);
texturejmage : label;
texture_coordinates : LIST[1:?] OF LIST[2:2] OF non_negative_real;
texture_format: texture_file_type;
repeating_pattern : BOOLEAN;
END_ENTITY;
Определение атрибутов
texturejmage — имя внешнего файла изображения с текстурой, которая должна быть сопоставлена с tessellated_face_orjessellated_surface_set.
Примечание — Имя должно включать расширение формата, соответствующее одному из форматов, перечисленных в texturejilejype;
texture_coordinates — список координат текстуры (U, V), связанных с трехмерными координатами точек связанной мозаичной геометрии. Когда текстура отображается на объект tessellated_face без атрибута pnindex, первым элементом списка является значение текстуры (U, V) для первой точки связанного списка объекта coordinatesjist. Когда текстура отображается на объект tessellated_face с атрибутом pnindex, первым элементом списка является значение текстуры (U, V) первой точки, указанной pnindex. Когда текстура отображается на объект tessellated_surface_set, первым элементом списка является значение текстуры (U, V) первой точки связанного списка координат;
textureJbrmat — расширение формата внешнего файла изображения с текстурой, которая должна быть сопоставлена с объектом tessellated Jace или объектом tessellated_surface_set;
repeating_pattern — когда repeating_pattern имеет значение FALSE, диапазон значений U и V для объекта texture_coordinates должен быть от 0 до 1, где (0,0) — это нижний левый угол, а (1,1) — это верхний правый угол изображения текстуры. Когда repeating_pattern имеет значение TRUE, допускаются значения U и V больше 0; в этом случае целая часть вычитается для получения числа в диапазоне от 0 до 1 для отображения текстуры.
6.4.49 Объект styledjtem
Объект styledjtem является объектом representationjtem с заданным стилем его представления.
EXPRESS-спецификация
ENTITY styledjtem
SUBTYPE OF (representationjtem);
styles : SET[0:?] OF presentation_style_assignment;
item : styledjtemjarget;
WHERE
WR1: (SIZEOF(styles) = 0) AND ( 'PRESENTATION_APPEARANCE_SCHEMA.STYLED_TESSEL-LATED_ITEM_WITH_COLOURS' IN TYPEOF(self)) OR (SIZEOF(styles) = 1) OR (SIZEOF(styles) > 1) AND (SIZEOF(QUERY(pres_style <* styles | NOT ('PRESENTATION_APPEARANCE_SCHEMA.' + 'PRESENTATION-STYLE-BY-CONTEXT' IN TYPEOF(pres_style)))) = 0);
WR2: NOT ('PRESENTATION_APPEARANCE_SCHEMA.STYLED_ITEM' IN TYPEOF(item));
WR3: ('REPRESENTATION-SCHEMA.MAPPEDJTEM' IN TYPEOF(item)) OR ('GEOMETRY_SCHEMA. GEOMETRIC-REPRESENTATIONJTEM' IN TYPEOF(item)) OR ('PRESENTATION-APPEARANCE-SCHEMA. CONTEXTJ3EPENDENTJDVER_RIDING_STYLEDJTEM' IN TYPEOF(SELF));
END_ENTITY;
Определения атрибутов
styles — стили, заданные для конкретного элемента;
item — элемент с заданными стилями.
Формальное утверждение
WR1 — в набор объектов style должен входить только один стиль, или данный набор должен содержать объекты presentation_style_by_context.
Примечание — Это гарантирует отсутствие конфликтов между стилями; кроме того, конкретный стиль может быть задан только в определенном контексте.
WR2 — стилизуемый элемент не должен быть stylejtem;
WR3 — если style_item не является context_dependent_over_riding_styled_item, стилизованный элемент должен быть mappedjtem или geometric_representationjtem.
6.4.50 Объект styledjessellated_face_or_surface_with_singlejexture
Объект styledJessellatedJace_or_surface_with_singleJexture является подтипом styledjtem, связывающим визуальную текстуру с мозаичной геометрией, которая может быть либо tessellated_ face, либо набором tessellated_face в объекте tessellated_surface_set.
EXPRESS-спецификация
*)
ENTITY styled JessellatedJace_or_surface_with_singleJexture
SUBTYPE OF (styledjtem);
SELF\styledJtem.styles : SET[1:1] OF presentation_style_assignment;
SELF\styledJtem.item : tessellatedJace_orJessellated_surface_set;
DERIVE
texture_style_specification : texture_stylejessellation_specification := styles[LOINDEX(styles)]\presentation_ style_assignment.styles[LOINDEX(styles)];
WHERE
WR1: ('PRESENTATION_APPEARANCE_SCHEMA.SINGLE_TEXTURE_STYLE_TESSELLATION_SPEC-IFICATION' IN TYPEOF(styles[LOINDEX(styles)]\presentation_style_assignment.styles[LOINDEX(styles)])) AND (SIZEOF(styles[LOINDEX(styles)]\presentation_style_assignment.styles) =1);
WR2: NOT ('GEOMETRIC_MODEL_SCHEMA.TRIANGULATED_FACE' IN TYPEOF(item)) OR (( ((SIZEO-F(item\triangulatedjace.pnindex) > 0) AND (SIZEOF(texture_style_specification\singleJexture_styleJes-sellation_specification.texture_coordinates) = SIZEOF(item\triangulatedJace.pnindex)))) OR ((SIZEOF(item\ triangulatedjace.pnindex) = 0) AND (SIZEOF(texture_style_specification\singleJexture_styleJessellation_ specification.texture_coordinates) = item\tessellatedjace.coordinates\coordinatesjist.npoints)));
WR3: NOT ('GEOMETRIC_MODEL_SCHEMA.COMPLEX_TRIANGULATED_FACE' IN TYPEOF(item)) OR ((SIZEOF(item\complexJriangulatedJace.pnindex) > 0) AND (SIZEOF(texture_style_specification\sin-glejexture_stylejessellation_specification.texture_coordinates) = SIZEOF(item\complexJriangulatedJace. pnindex))) OR ((SIZEOF(item\complexJriangulatedJace.pnindex) = 0) AND (SIZEOF(texture_style_speci-fication\singlejexture_stylejessellation_specification.texture_coordinates) = item\tessellatedjace.coordi-nates\coordinatesjist.npoints));
WR4: NOT ('GEOMETRIC_MODEL_SCHEMA.TESSELLATED_SURFACE_SET' IN TYPEOF(item)) OR (SIZEOF(texture_style_specification\singleJexture_styleJessellation_specification.texture_coordinates) = item\tessellated_surface_set.coordinates\coordinatesjist.npoints);
END_ENTITY;
Определения атрибутов
styles — устанавливает объект presentation_style_assignment, которая указывает текстуру, определенную texture_stylejessellation_specification.
Примечание — Фактическое отображение реализуется в модели с помощью объекта presentation-style_assignment, на который ссылается атрибут appearance.
item — указывает мозаичную геометрию, к которой применяется стиль текстуры; texture_style_specification — определяет применяемую визуальную текстуру.
Формальные утверждения
WR1 — набор объектов style должен содержать только один элемент;
WR2 — если стилизованный элемент является объектом triangulatedjace, то размер texture_ coordinates связанного объекта singlejexture_stylejessellation_specification должен быть равен количеству точек triangulatedjace; данное число определяется либо из атрибута pnindex объекта triangulatedjace (если атрибут отличен от нуля), либо из атрибута npoints в coordinatesjist объекта triangulatedjace;
WR3 — если стилизованный элемент является объектом complexjriangulatedjace, то размер texture_coordinates связанного объекта singlejexture_stylejessellation_specification должен быть равен количеству точек complexjriangulatedjace; данное число определяется либо из атрибута pnindex объекта complexjriangulatedjace (если атрибут отличен от нуля), либо из атрибута npoints в coordinatesjist объекта complexjriangulatedjace;
WR4 — если стилизованный элемент является объектом tessellated_surface_set, то размер texture_coordinates связанного объекта single_texture_style_tessellation_specification должен быть равен количеству точек tessellated_surface_set; данное число определяется из атрибута npoints в coordinatesjist объекта tessellated_surface_set.
6.4.51 Объект styled_tessellated_item_with_colours
Объект styled_tessellated_item_with_colours является подтипом styledjtem, который присваивает значения цвета вершинам мозаичных поверхностей.
EXPRESS-спецификация
ENTITY styled_tessellated_item_with_colours
SUBTYPE OF (styledJtem);
SELF\styled_item.item : tessellated_surface_item;
colourjype : colour_type_enum;
colour_values : LIST[1:?] OF LIST[3:4] OF unsigned_8_bit_integer;
DERIVE
coloured coordinate values : coordinates list := get coordinate values(item );
WHERE
WR1: SIZEOF(SELF\styled_item.styles)= 0;
WR2: ((colourjype = RGB8) AND (SIZEOF(QUERY(clist <* colour_values | NOT (SIZEOF(clist) = 3)))= 0)) OR ((colourjype = RGBT8) AND (SIZEOF(QUERY(clist <* colour_values | NOT (SIZEOF(clist) = 4)))= 0));
WR3: SIZEOF(colour_values) = coloured_coordinate_values\coordinatesjist.npoints; END_ENTITY;
Определения атрибутов
item — мозаичная геометрия, которой назначаются цвета, может быть объектом tessellated_face, tessellated_shell, tessellatedsolid или tessellated_surface_set;
colourjype — цветовые форматы, используемые атрибутом colour_values;
colour_values — неограниченный список рядов из трех или четырех целых чисел, представляющих цвет вершины;
coloured_coordinate_values — объект coordinatesjist объекта tessellated_surfacejtem, определяемый атрибутом item; объект coordinatesjist заполняется функцией get_coordinate_values.
Формальные утверждения
WR1 — атрибут унаследованных объектов style должен быть пустым набором;
WR2 — если объект colourjype имеет значение RGB8, то объект colour_values должен быть списком из трех беззнаковых восьмибитовых целых чисел; если объект colourjype имеет значение RGBT8, то объект colour_values должен быть списком из четырех беззнаковых восьмибитовых целых чисел;
WR3 — число объектов colour_values должно быть равно числу точек в связанном объекте coordinatesjist.
6.4.52 Объект surface_rendering_properties
Объект surface_rendering_properties определяет свойства поверхности, необходимые для вычисления фактических параметров визуализации поверхностей на основе соответствующих методов.
EXPRESS-спецификация
ENTITY surface_rendering_properties;
rendered_colour: colour;
END_ENTITY;
Определение атрибута
rendered_colour — цвет поверхности, используемый при ее визуализации.
6.4.53 Объект surface_side_style
Объект surface_side_style является подтипом foundedjtem. Объект surface_side_style представляет собой набор стилей, используемых при представлении конкретной стороны поверхности.
EXPRESS-спецификация
ENTITY surface_side_style
SUBTYPE OF (foundedjtem);
name : label;
styles : SET[1:7] OF surface_style_element_select;
WHERE
WR1: SIZEOF(QUERY( stylel <* styles | SIZEOF(QUERY( style2 <* styles - stylel | TYPEOF(style1) = TYPEOF(style2))) > 0 )) = 0;
ENDJENTITY;
(*
Определения атрибутов
name — слово или группа слов, посредством которых ссылаются на surface_side_style;
styles — набор (коллекция) различных стилей поверхности.
Формальное утверждение
WR1 — все стили должны быть различных типов.
6.4.54 Объект surface_style_boundary
Объект surface_style_boundary является подтипом foundedjtem. Объект surface_style_ boundary задает стиль поверхности, используемый для кривых, ограничивающих данную поверхность.
EXPRESS-спецификация
ENTITY surface_style_boundary
SUBTYPE OF (foundedjtem);
style_of_boundary : curve_or_render;
END_ENTITY;
Определение атрибута
style_ofJjoundary — стиль кривых, ограничивающих поверхность.
6.4.55 Объект surface_style_control_grid
Объект surface_style_control_grid является подтипом foundedjtem. Объектом surface_style_ control_grid являет стиль поверхности, используемый для сети опорных точек, определяющих поверхность.
EXPRESS-спецификация
*)
ENTITY surface_style_control_grid
SUBTYPE OF (foundedjtem);
style_of_control_grid : curve_or_render;
END_ENTITY;
Определение атрибута
style_of_control_grid — стиль опорной сети поверхности.
Примечание — surface_style_control_grid относится только к поверхностям, заданным через сеть опорных точек. Таковыми являются поверхности следующих типов:
- «кусочные» (B-spline);
- прямоугольно выровненные, ограниченные кривыми, образованные из прямоугольков, трассированные, смещенные и дублируемые (связанные с «кусочными»),
6.4.56 Объект surface_style_fill_area
Объект surface_style_fill_area является подтипом foundedjtem. Объект surface_style_fill_area определяет стиль поверхности при отображении на нее заполняемой области.
EXPRESS-спецификация
*)
ENTITY surface_stylejill_area
SUBTYPE OF (foundedjtem);
fill_area : fill_area_style;
END_ENTITY;
Определение атрибута
fill_area — объект fill_area_style, связанный с двумерным параметризованным пространством поверхности и отображаемый на эту поверхность.
6.4.57 Объект surface_style_parameter_line
Объект surface_style_parameterjine является подтипом foundedjtem. Объектом surface_ style_parameter_line является стиль поверхности, используемый для представления на поверхности изопараметрических линий.
EXPRESS-спецификация
ENTITY surface_style_parameter_line
SUBTYPE OF (foundedjtem);
style_of_parameterjines : curve_or_render;
direction_counts : SET[1:2] OF direction_count_select;
WHERE
WR1: (HIINDEX(direction_counts)= 1)XOR (TYPEOF(direction_counts[1]) <>TYPEOF(direction_counts[2])); END_ENTITY;
(*
Определения атрибутов
style_ of_parameterjines — стиль представления на поверхности изопараметрических кривых;
direction_counts — набор объектов u_direction_count и v_direction_count, определяющий число изопараметрических кривых в направлениях и и v.
Формальное утверждение
WR1 — если в набор direction_counts включены два элемента, они не должны быть однотипными.
6.4.58 Объект surface_style_reflectance_ambient
Объект surface_style_reflectance_ambient определяет внешнее проявление отражающей способности поверхности.
Примечания
1 Вычисление отражающей способности проводят в ряде освещаемых или затеняемых точек поверхности с указанием цветов этих точек. Исходными данными для этих вычислений являются: позиция, для которой проводят вычисление, нормаль к поверхности, цвет поверхности в данной точке, источники освещения и трехмерная модель камеры.
2 Формулы для вычисления отражающей способности приведены в приложении Е.
EXPRESS-спецификация
ENTITY surface_style_reflectance_ambient;
ambient_reflectance : REAL;
END_ENTITY;
Определение атрибута
ambient_reflectance — коэффициент отражения во внешнюю среду в формуле отражающей способности.
6.4.59 Объект surface_style_reflectance_ambient_diffuse
Объект surface_style_reflectance_ambient_diffuse является подтипом surface_style_reflec-tance_ambient. Объект определяет рассеяние при отражении от поверхности.
Примечание — Формулы для вычисления отражающей способности приведены в приложении Е.
EXPRESS-спецификация
ENTITY surface_style_reflectance_ambient_diffuse
SUBTYPE OF (surface_style_reflectance_ambient);
diffuse_reflectance : REAL;
END_ENTITY;
Определения атрибутов
diffuse_reflectance — коэффициент рассеяния в формуле отражающей способности.
6.4.60 Объект surface_style_reflectance_ambient_diffuse_specular
Объект surface_style_reflectance_ambient_diffuse_specular является подтипом surface_style_ reflectance_ambient. Объект определяет зеркальное отражение от поверхности.
Примечание — Формулы для вычисления отражающей способности приведены в приложении Е.
EXPRESS-спецификация
*)
ENTITY surface_style_reflectance_ambient_diffuse_specular
SUBTYPE OF (surface_style_reflectance_ambient_diffuse);
specular_reflectance : REAL;
specular_exponent: REAL;
specular_colour: colour;
END_ENTITY;
Определения атрибутов
specular_reflectance — коэффициент зеркального отражения в формуле отражающей способности;
specular_exponent — показатель зеркального отражения в формуле отражающей способности;
specular_colour — цвет зеркального отражения в формуле отражающей способности.
6.4.61 Объект surface_style_rendering
Объект surface_style_rendering позволяет визуализировать реальные поверхности посредством применения соответствующих методов. Результаты вычисления отражающей способности поверхности должны быть интерполированы к системе координат, в которой задан объект camera_model.
EXPRESS-спецификация
ENTITY surface_style_rendering;
rendering_method : shading_surface_method;
surface_colour: colour;
END_ENTITY;
Определения атрибутов
rendering_method — метод интерполяции цветов через различные поверхности;
surface_coloiir— цвет, применяемый при визуализации данной поверхности.
6.4.62 Объект surface_style_rendering_with_properties
Объект surface_style_rendering_with_properties является подтипом surface_style_rendering. Объект позволяет визуализировать реальные поверхности с учетом характеристик их прозрачности и отражающей способности.
EXPRESS-спецификация
ENTITY surface_style_rendering_with_properties
SUBTYPE OF (surface_style_rendering);
properties : SET[1:2] OF rendering_properties_select;
WHERE
WR1: (HIINDEX(properties) = 1)XOR (TYPEOF(properties[1]) <> TYPEOF(properties[2]));
END_ENTITY;
(*
Определение атрибута
properties — набор визуализируемых свойств поверхности.
Формальное утверждение
WR1 — все свойства должны быть различных типов.
6.4.63 Объект surface_style_segmentation_curve
Объект surface_style_segmentation_curve является подтипом founded_item. Объектом является стиль поверхности, используемый при описании кривых, ограничивающих сегменты данной поверхности.
EXPRESS-спецификация
ENTITY surface_style_segmentation_curve
SUBTYPE OF (foundedjtem);
style_of_segmentation_curve : curve_or_render;
END_ENTITY;
Определение атрибута
style_of_segmentation_curve — стиль кривых, ограничивающих сегменты поверхности.
Примечание —Данный стиль относится только к сегментированным поверхностям. Таковыми являются поверхности следующих типов:
- «кусочные» (B-spline);
- прямоугольно выровненные, ограниченные кривыми, образованные из прямоугольников, трассированные, смещенные и дублируемые (связанные с «кусочными»).
6.4.64 Объект surface_style_silhouette
Объект surface_style_silhouette является подтипом foundedjtem. Объектом является стиль поверхности, используемый при описании кривых, ограничивающих ее силуэт.
EXPRESS-спецификация
ENTITY surface_style_silhouette
SUBTYPE OF (foundedjtem);
style_of_silhouette : curve_or_render;
END_ENTITY;
Определение атрибута
style_of_silhouette — стиль кривых, описывающих силуэт поверхности.
6.4.65 Объект surface_style_transparent
Объект surface_style_transparent определяет свойство визуализируемой поверхности, связанное со степенью ее прозрачности.
EXPRESS-спецификация
ENTITY surface_stylejransparent;
transparency : REAL;
WHERE
WR1: {0.0 <= transparency <= 1.0};
END_ENTITY;
Определение атрибута
transparency — степень прозрачности, заданная в процентах светового потока, проходящего через поверхность.
Формальное утверждение
WR1 — значение прозрачности должно лежать в диапазоне от 0 до 1.
6.4.66 Объект surface_style_usage
Объект surface_style_usage является подтипом foundedjtem. Объект surface_style_usage определяет использование объекта surface_side_style_select для лицевой, оборотной или обеих сторон поверхности.
EXPRESS-спецификация
ENTITY surface_style_usage
SUBTYPE OF (foundedjtem);
side : surface_side;
style : surface_side_style_select;
END_ENTITY;
(*
Определения атрибутов
side — определяет сторону поверхности, для которой используют заданный стиль;
style — стиль, который следует использовать при описании поверхности.
6.4.67 Объект symbol_colour
Объект symbol_colour является стилем, задающим цвет объекта annotation_symbol.
EXPRESS-спецификация
ENTITY symbol_colour;
colour_of_symbol : colour;
ENDJENTITY;
Определение атрибута
colour_of_symbol — объект colour для символа.
6.4.68 Объект symbol_element_style
Объект symbol_element_style является подтипом founded_item. Объектом symbol_element_ style является стиль представления, определяющий визуальный вид компонентов объектов annotation_ symbol.
EXPRESS-спецификация
ENTITY symbol_element_style
SUBTYPE OF (foundedJtem);
style_of_symbol : presentation_style_assignment;
WHERE
WR1: SIZEOF (QUERY ( style <* style_of_symbol\presentation_style_assignment.styles | 'PRESENTATION-APPEARANCE_SCHEMA.SYMBOL_STYLE' IN TYPEOF (style))) = 0;
WR2: NOT ('PRESENTATION_APPEARANCE_SCHEMA.' + 'PRESENTATION_STYLE_BY_CONTEXT' IN TYPEOF (style_of_symbol));
END_ENTITY;
(*
Определение атрибута
style_of_symbol — объект presentation_style_assignment для компонентов символа.
Формальные утверждения
WR1 — в объект style_of_symbol не должен входить объект symbol_style;
WR2 — объект style_of_symbol не должен зависеть от контекста.
6.4.69 Объект symbol_style
Объект symbol_style является подтипом foundedJtem. Объектом symbol_style является объект presentation_style, определяющий визуальные виды объектов annotation_symbol. В данном объекте задают один или несколько стилей для компонентов символа или их цветового представления.
EXPRESS-спецификация
ENTITY symbol_style
SUBTYPE OF (foundedjtem);
name : label;
style_of_symbol: symbol_style_select;
END_ENTITY;
Определения атрибутов
name — слово или группа слов, посредством которых ссылаются на symbol_style;
style_of_symbol — объект symbol_element_style или symbol_colour, определяющий визуальный вид символа.
6.4.70 Объект text_style
Объект text_style является подтипом foundedjtem. Объект задает стиль представления аннотируемого текста.
EXPRESS-спецификация
ENTITY text_style
SUBTYPE OF (foundedjtem);
name : label;
character_appearance : character_style_select;
END_ENTITY;
(*
Определения атрибутов
name — слово или группа слов, посредством которых ссылаются на text_style;
character_appearance — стиль символов, используемый для представления текста.
6.4.71 Объект text_style_for_defined_font
Объект text_style_for_defined_font является частью определения text_style, задающего цвет текста для отображения.
EXPRESS-спецификация
ENTITY text_style_for_defined_font;
text_colour: colour;
END_ENTITY;
Определение атрибута
text_colour — цвет, используемый для представления текста.
6.4.72 Объект text_style_with_box_characteristics
Объект text_style_with_box_characteristics является подтипом text_style, определяющим параметры ячеек символов в тексте.
EXPRESS-спецификация
Е N ТIТ Y text_sty I e_with_box_ch а га cte ri sti cs
SUBTYPE OF (text_style);
characteristics : SET[1:4] OF box_characteristic_select;
WHERE
WR1: SIZEOF( QUERY( c1 <* characteristics | SIZEOF( QUERY( c2 <* characteristics - c1 | TYPEOF (c1) = TYPEOF (c2))) > 0 )) = 0;
END_ENTITY;
Определение атрибута
characteristics — характеристики ячеек символов, определяющие высоту, ширину, углы поворота и наклона ячеек символов.
Формальное утверждение
WR1 — характеристики должны иметь различные типы.
6.4.73 Объект text_style_with_justification
Объект text_style_with Justification является подтипом text_style, определяющим выравнивание текста.
EXPRESS-спецификация
ENTITY text_style_withJustification
SUBTYPE OF (text_style);
justification : textjustification;
END_ENTITY;
Определение атрибута
justification — метод выравнивания текста по строке.
6.4.74 Объект text_style_with_mirror
Объект text_style_with_mirror является подтипом text_style, определяющим оси зеркального отображения символов.
Примечание — На рисунке 26 проиллюстрирован объект text_style_with_mirror.
тэяет NidHHQxsqiO Отражаемый текст
У
Отражаемый текст Ось отражения
О1Ьдженнр|у текст х
Ось отражения
Рисунок 26 — Стиль текста с зеркальным отображением
EXPRESS-спецификация
*)
ENTITY text_style_with_mirror
SUBTYPE OF (text_style);
mirror_placement: axis2_placement;
ENDJENTITY;
Определение атрибута
mirror_placement — положение и ориентация оси зеркального отображения. Данная ось пересекает объект location из axis2_placement и параллельна оси х, указанной в объекте axis2_placement.
Неформальное утверждение
IP1 — text_style_with_mirror.mirror_placement должен включать axis2_placement, имеющий то же содержание, что и текст для отзеркаливания.
6.4.75 Объект text_style_with_spacing
Объект text_style_with_spacing является подтипом text_style, определяющим пробелы между символами.
EXPRESS-спецификация
ENTITY text_style_with_spacing
SUBTYPE OF (text_style);
character_spacing : character_spacing_select;
ENDJENTITY;
Определение атрибута
character_spacing — расстояние между смежными символами.
6.4.76 Объект texture_style_specification
Абстрактный объект texture_style_specification является подтипом foundedjtem, определяющим визуальную текстуру.
EXPRESS-спецификация
ENTITY texture_style_specification
ABSTRACT SUPERTYPE
SUBTYPE OF (foundedjtem);
ENDJENTITY;
6.4.77 Объект texture_stylejessellation_specification
Абстрактный объект texture_stylejessellation_specification является подтипом texture_style_ specification, определяющим визуальную текстуру, связываемую с мозаичной геометрией.
EXPRESS-спецификация
*)
ENTITY texture_stylejessellation_specification
ABSTRACT SUPERTYPE
SUBTYPE OF (texture_style_specification);
END_ENTITY;
6.4.78 Объект two_direction_repeat_factor
Объект two_direction_repeat_factor является подтипом one_direction_repeat_factor. Объект two_direction_repeat_factor является комбинацией двух векторов, используемых в объекте fill_area_ style_tiles для определения формы и взаимоположения ячеек. При заданном исходном положении I какой-либо ячейки, объект two_direction_repeat_factor задает восемь новых позиций посредством вектора R = (R1, R2) в соответствии с формулой:
Р = I + к1 ■ R1 + к2 ■ R2>
где к^ к2 = -1,0,1;
к? + kj # 0.
Примечание — На рисунке 27 показаны положения, задаваемые объектом two_direction_repeat_factor.
I - исходное положение;
R1 - коэффициент повторения;
R2 - второй коэффициент повторения
Р-! = I + R1
Р2 = I + R1 + R2
р3 = i + r2
Рд ~ I - R-| + R2
P5 = I-Ri
Р6 = I - R1 - R2
p7 = i-r2
P8 = I + R1 - R2
Рисунок 27 — Коэффициент повтора в двух направлениях
EXPRESS-спецификация
ENTITY two_d i recti о n_re peat_fa cto r
SUBTYPE OF (one_direction_repeat_factor);
second_repeat_factor: vector;
END_ENTITY;
Определение атрибута
second_repeat_factor — вектор, определяющий относительное положение ячеек в двух направлениях.
6.5 Определения ограничений подтипов схемы presentation_appearance_schema
6.5.1 Ограничение подтипа founded_item_subtypes
Ограничение подтипа founded_item_subtypes применяется к экземплярам подтипов foundedjtem. EXPRESS-спецификация
SUBTYPE_CONSTRAINT foundedjtem_subtypes FOR foundedjtem;
ONEOF (approximationjolerance, approximation Jolerance_deviation, approximation Jolerance_parameter, character_glyph_style_outline, character_glyph_style_stroke, curve_style, curve_stylejont, curve_stylejont_and_scaling, curve_stylejont_pattern, externally_defined_style, fill_area_style, point_style, pre_defined_presentation_style, presentation_style_assignment, surface_side_style, surface_style_boundary, s u rfa ce_sty I e_co ntro l_g rid, s u rfa ce_sty I e_fi I l_a rea, surface_style_parameterjine, surface_style_segmentation_curve, surface_style_silhouette, surface_style_usage, symbol_element_style, symbol_style, text_style);
END_SUBTYPE_CONSTRAINT;
6.5.2 Ограничение подтипа pas_geometric_representation_item_subtypes
Ограничение подтипа pas_geometric_representationjtem_subtypes применяется к экземплярам подтипов geometric_representationjtem.
EXPRESS-спецификация
SUBTYPE_CONSTRAINT pas_geometric_representationjtem_subtypes FOR geometric_representation_ item;
ONEOF (curve,
curve_style_curve_pattern, curve_style_curve_pattern_set, externally_defined_hatch_style, externally_definedjile_style, fill_area_style_hatching, fill_area_stylejile_coloured_region, fill_area_stylejile_curve_with_style, fill_area_stylejile_symbol_with_style, fill_area_stylejiles, one_direction_repeatjactor, point, pre_defined_hatch_style, pre_definedjile_style, vector);
END_SUBTYPE_CONSTRAINT;
6.6 Определение функций схемы presentation_appearance_schema
6.6.1 Функция acyclic_occlusion_precedence
Функция acyclic_occlusion_precedence проверяет наличие в любом дереве набора объектов hiding_or_blanking_select и заданного occlusion_precedence, содержащего hiding_or_blanking_ select, являющегося одновременно корнем и листом одного поддерева. Функция возвращает значение TRUE при отсутствии такого «поддерева» и FALSE — в противном случае.
EXPRESS-спецификация
FUNCTION acyclic_occlusion_precedence (relation : occlusion_precedence; set_of_lower : SET[0:?] OF hiding_or_blanking_select): BOOLEAN;
LOCAL
x : SET OF occlusion_precedence;
local_set_of_lower: SET OF hiding_or_blanking_select;
END_LOCAL;
REPEAT i:=1 TO HIINDEX(set_ofJower);
IF relation.higher_precedence :=: set_of_lower[i] THEN
RETURN(FALSE);
ENDJF;
END_REPEAT;
x := bag_to_set (USEDIN (relation.higher_precedence,
'PRESENTATION_APPEARANCE_SCHEMA.'+
'OCCLUSION_PRECEDENCE.LOWER_PRECEDENCE'));
local_set_of_lower := set_of_lower + relation.higher_precedence;
IF SIZEOF (x) > 0 THEN
REPEAT i:=1 TO HIINDEX (x);
IF NOT acyclic_occlusion_precedence(x[i], local_set_of_lower) THEN RETURN (FALSE);
ENDJF;
END_REPEAT;
ENDJF;
RETURN (TRUE);
END_FUNCTION;
Определения аргументов
relation — проверяемый объект occlusion_precedence, являющийся входными данными для функции;
set_of_lower — набор элементов, на которые прямо или косвенно ссылаются посредством атрибута lower_precedence объекта relation. Данный аргумент служит входными данными для функции. Изначально данный набор может содержать только lower_precedence объекта relation.
6.6.2 Функция get_coordinate_values
Функция get_coordinate_values возвращает объект coordinatesjist объектов tessellated_face, tessellated_shell, tessellated solid или tessellated_surface_set.
EXPRESS-спецификация
*)
FUNCTION get_coordinate_values (source : tessellated_surface_item): coordinatesjist;
LOCAL
coordinate_values : coordinatesjist;
max : INTEGER;
END_LOCAL;
(* If source is of type tessellated Jace its single coordinatesjist is returned *)
CASE TRUE OF
'GEOMETRIC_MODEL_SCHEMA.TESSELLATED_FACE' IN TYPEOF(source): -first case
BEGIN
coordinate_values := source\tessellated_face.coordinates;
RETURN(coordinate_values);
END;
(* If source is of type tessellated_surface_set its single coordinatesjist is returned *)
'GEOMETRIC_MODEL_SCHEMA.TESSELLATED_SURFACE_SET IN TYPEOF(source): -second case BEGIN
coordinate_values := source\tessellated_surface_set.coordinates;
RETURN(coordinate_values);
END;
(* For complex cases of tessellated_solid or tessellated_shell multiple coordinatesjists may occur. A valid return is only possible if a single coordinatesjist is used for all components of the shell or solid *)
(* A tessellated_solid, or tessellated_shell has a SET of teessellated_structuredjtems which must be inspected, the local variable coordinate_values is set to the coordinatesjist referenced by items[1] and is later compared to other referenced coordinatesjists *)
'GEOMETRIC_MODEL_SCHEMA.TESSELLATED_SOLID' IN TYPEOF(source): - third case
BEGIN
IF 'GEOMETRIC_MODEL_SCHEMA.TESSELLATED_FACE' IN TYPEOF(source\tessellated_solid. items[1]) THEN
coordinate_values := source\tessellated_solid.items[1]\tessellated_face.coordinates;
ENDJF;
IF 'GEOMETRIC_MODEL_SCHEMA.TESSELLATED_EDGE' IN TYPEOF(source\tessellated_solid. items[1]) THEN
coordinate_values := source\tessellated_solid.items[1 ]\tessellated_edge.coordinates;
ENDJF;
IF 'GEOMETRIC_MODEL_SCHEMA.TESSELLATED_VERTEX' IN TYPEOF(source\tessellated_solid. items[1]) THEN
coordinate_values := source\tessellated_solid.items[1]\tessellated_vertex.coordinates;
ENDJF;
max := SIZEOF(source\tessellated_solid.items);
IF max = 1 THEN
RETURN(coordinate_values);
(* simple case with only 1 item in the list *)
ELSE REPEAT i := 2 TO max;
(* check that each item on the list references the same coordintesjist as items[1], if NOT rerurn ? *)
IF 'GEOMETRIC_MODEL_SCHEMA.TESSELLATED_FACE' IN TYPEOF(source\tessellated_solid. items[i]) THEN
IF NOT(coordinate_values :=: source\tessellated_solid.items[i]\tessellated_face.coordinates) THEN RETURN (?);
ENDJF;
ENDJF;
IF 'GEOMETRIC_MODEL_SCHEMA.TESSELLATED_EDGE' IN TYPEOF(source\tessellated_solid. items[i]) THEN
IF NOT(coordinate values :=: source\tessellated solid.items[i]\tessellated edge.coordinates) THEN RETURN(?);
ENDJF;
ENDJF;
IF 'GEOMETRIC_MODEL_SCHEMA.TESSELLATED_VERTEX' IN TYPEOF(source\tessellated_solid. items[i]) THEN
IF NOT(coordinate_values :=: source\tessellated_solid.items[i]\tessellated_vertex.coordinates) THEN RETURN(?);
ENDJF;
ENDJF;
END_REPEAT;
RETURN(coordinate_values);
(* all items referenced by the tessellated_solid share the same coordinates list which is now returned. *) ENDJF;
END;
(* tessellated_shell has a SET of tessellated_structuredjtems which must be inspected *) 'GEOMETRIC_MODEL_SCHEMA.TESSELLATED_SHELL' IN TYPEOF(source): -fourth case BEGIN
IF 'GEOMETRIC_MODEL_SCHEMA.TESSELLATED_FACE' IN TYPEOF(source\tessellated_shell. items[1]) THEN
coordinate_values := source\tessellated_shell.items[1]\tessellated_face.coordinates;
ENDJF;
IF 'GEOMETRIC_MODEL_SCHEMA.TESSELLATED_EDGE' IN TYPEOF(source\tessellated_shell.
items[1]) THEN
coordinate_values := source\tessellated_shell.items[1 ]\tessellated_edge.coordinates;
ENDJF;
IF 'GEOMETRIC_MODEL_SCHEMA.TESSELLATED_VERTEX' IN TYPEOF(source\tessellated_shell. items[1]) THEN
coordinate_values := source\tessellated_shell.items[1 ]\tessellated_vertex.coordinates;
ENDJF;
max := SIZEOF(source\tessellated_shell.items);
IF max = 1 THEN RETURN(coordinate_values);
(* simple case with only 1 item in the list *)
ELSE REPEAT i := 2 TO max;
(* check that each item on the list references the same coordinatesjist as item[1], if NOT rerurn ? *)
IF 'GEOMETRIC_MODEL_SCHEMA.TESSELLATED_FACE' IN TYPEOF(source\tessellated_shell. itemsfi]) THEN
IF NOT(coordinate_values :=: source\tessellated_shell.items[i]\tessellatedjace.coordinates) THEN RETURN (?);
ENDJF;
ENDJF;
IF 'GEOMETRIC_MODEL_SCHEMA.TESSELLATED_EDGE' IN TYPEOF(source\tessellated_shell. itemsfi]) THEN
IF NOT (coordinate values :=: source\tessellated shell.items[i]\tessellated edge.coordinates) THEN RETURN(?);
ENDJF;
ENDJF;
IF 'GEOMETRIC_MODEL_SCHEMA.TESSELLATED_VERTEX' IN TYPEOF(source\tessellated_shell. itemsfi]) THEN
IF NOT (coordinate_values :=: source\tessellated_shell.items[i]\tessellated_vertex.coordinates) THEN RETURN(?);
ENDJF;
ENDJF;
END_REPEAT;
RETURN(coordinate_values);
(* all items referenced by the tessellated_shell share the same coordinatesjist which is now returned. *) ENDJF;
END;
END_CASE;
END_FUNCTION;
Определения аргумента
source — объект tessellated_face, tessellated_shell, tessellated solid или tessellated_surface_ set, для которого необходимо получить объект coordinatesjist.
EXPRESS-спецификация
*)
END_SCHEMA; - - presentation_appearance_schema
7 Схема ресурсов представления
7.1 Введение
Схема presentation_resource_schema определяет основные ресурсы для реализации представления. В данной схеме заданы три типа соответствующей информации:
- ресурсы шрифтов текста;
- ресурсы определения цвета;
- геометрические ресурсы.
В настоящем разделе определены требования к информации, которым должны соответствовать реализации, с использованием языка EXPRESS в соответствии с ГОСТ Р ИСО 10303-11. Следующее описание на языке EXPRESS открывает presentation- resource_schema и определяет необходимые внешние ссылки.
Сокращенные наименования объектов в схеме указаны в приложении А. Однозначное обозначение схемы определено в приложении В.
EXPRESS-спецификация
*)
SCHEMA presentation_resource_schema;
REFERENCE FROM external_reference_schema -- ГОСТ P ИСО 10303-41
(exte rn a I ly_d efi n edjtem,
pre_defined_item);
REFERENCE FROM geometry_schema (axis2_placement, curve, geometric_representation_item);
REFERENCE FROM measure_schema (length_measure, positive_length_measure, positive_ratio_measure, ratio_measure);
REFERENCE FROM presentation_definition_schema (annotation_fill_area, symbol_representation);
REFERENCE FROM representation_schema (item_in_context, representation);
REFERENCE FROM support_resource_schema (identifier, label, text);
- ПНСТ 797
- ГОСТ P И CO 10303-41
- настоящий стандарт
- ГОСТ P ИСО 10303-43
- ГОСТ P ИСО 10303-41
Примечания
1 Схемы, на которые выше даны ссылки, определены в следующих стандартах:
external_reference_schema geometry_schema management_resource_schema measure_schema presentation_definition_schema representation_schema support_resource_schema
ГОСТРИСО 10303-41;
ПНСТ 797;
ГОСТРИСО 10303-41;
ГОСТРИСО 10303-41;
раздел 5 настоящего стандарта;
ГОСТРИСО 10303-43;
ГОСТРИСО 10303-41.
2 Графическое представление определяемой схемы приведено в приложении D.
7.2 Фундаментальные понятия и допущения
Настоящая схема определяет ресурсы, необходимые для конструирования шрифтов символов и аннотационных знаков (например, мнемограмм). Данные шрифты задают в локальной системе координат. Они могут быть масштабированы и преобразованы в соответствии с прикладными задачами.
Существуют два типа ресурсов определения цвета. Первый, прямо определяемый на основе цветовой модели RGB, второй — реализующий таблицу отображения цвета, связывающую изменение цвета с соответствующей шкалой.
Геометрическими ресурсами являются геометрические элементы, применяемые в настоящем стандарте для обеспечения различных элементов конструкции изображения.
7.3 Определения типов схемы presentation_resource_schema
7.3.1 Тип font_select
Тип font_select является списком дополнительных типов данных. Тип поддерживает механизм для ссылки на экземпляр одного из типов данных. Тип font_select используют для определения объектов textjiteral и character_glyph_symbol. Данный тип позволяет выбрать один из исходных шрифтов текста.
EXPRESS-спецификация
TYPE font_select = SELECT
(pre_definedjext_font,
externally_definedjextjont,
textjont);
END_TYPE;
7.3.2 Тип staircase_orjinear
Тип staircase_orJinear определяет метод интерполяции цветов в объекте colour_association_ table.
EXPRESS-спецификация
TYPE staircase_orjinear = ENUMERATION OF
(staircase,
linear);
END_TYPE;
Определения элементов перечисления
staircase — цвета, интерполируемые посредством ступенчатой функции;
linear — цвета, интерполируемые линейно.
7.4 Определения объектов схемы presentation_resource_schema
7.4.1 Объект character_glyph_font_usage
Объект character_glyph_font_usage определяет наличие объекта character_glyph_symbol в объекте text_font.
EXPRESS-спецификация
ENTITY character_glyphjont_usage;
character: generic_character_glyph_symbol;
font: textjont;
ENDJENTITY;
Определения атрибутов
character — объект character_glyph_symbol, являющийся частью конкретного шрифта;
font — объект text_font, для которого задан character_glyph_symbol.
7.4.2 Объект character_glyph_symbol
Объект character_glyph_symbol является подтипом generic_character_glyph_symbol. Объект содержит геометрическое отображение символа.
Примечание — На рисунке 28 показаны типы и описания знаков глифов символов.
Символ
character_box[2]
Базовая линия
character box[1]/ Система координат символа
Рисунок 28 — Знаки глифа символа
EXPRESS-спецификация
*)
ENTITY character_glyph_symbol
SUBTYPE OF (generic_character_glyph_symbol);
character_box : planar_extent;
baseline_ratio : ratio_measure;
DERIVE
box_height: length_measure := character_box.size_in_y;
WHERE
WR1: {0.0 <= baseline_ratio <= 1.0};
WR2: item_in_context(character_box, SELF\representation.context_of_items);
WR3: 'MEASURE_SCHEMA.POSITIVE_LENGTH_MEASURE' IN TYPEOF (box_height); END_ENTITY;
Определения атрибутов
character_box — прямоугольная ячейка, ограничивающая область глифа символа. В данном атрибуте может быть задан наклон глифов символов посредством объекта text_style;
baseline_ratio — положение базовой линии глифа символа относительно атрибута character_ box. Когда глифы символов представляются в форме текстового литерала, базовые линии смежных глифов выстраивают по одной строке. Базовая линия символа параллельна оси х атрибута character^ box. Расстояние между осью х атрибута character_box и базовой линией пропорционально значению атрибута box_height.
Примечание — Ось х и площадь ячейки символа задают посредством объекта planar_extent.
Пример — Значение 0,0 атрибута baseline_ratio указывает, что базовая линия глифа символа и ось х совпадают. Значение 0,5 указывает, что базовая линия расположена посередине высоты глифа, заданной для атрибута character_box;
box_height — высота атрибута character_box.
Формальные утверждения
WR1 — значения атрибута baseline_ratio должны быть в диапазоне от 0 до 1;
WR2 — атрибут character_box должен быть в representation_context объекта text_symbol;
WR3 — атрибут box_height должен быть positive_length_measure.
7.4.3 Объект character_glyph_symbol_outline
Объект character_glyph_symbol_outline является подтипом character_glyph_symbol, в котором описана геометрия глифа через набор объектов annotation_fill_area.
EXPRESS-спецификация
ENTITY character_glyph_symbol_outline
SUBTYPE OF (character_glyph_symbol);
outlines : SET[1:?] OF annotation_fill_area;
WHERE
WR1: outlines <= SELF\representation.items;
END_ENTITY;
(*
Определение атрибута
outlines — набор объектов annotation_fill_area, определяющих геометрию глифа символа.
Формальное утверждение
WR1 — все заполняемые области, образующие глиф символа, должны входить в набор соответствующих элементов.
7.4.4 Объект character_glyph_symbol_stroke
Объект character_glyph_symbol_stroke является подтипом character_glyph_symbol, в котором геометрия глифа описана набором кривых.
EXPRESS-спецификация
ENTITY character_glyph_symbol_stroke
SUBTYPE OF (character_glyph_symbol);
strokes : SET[1:?] OF curve;
WHERE
WR1: strokes <= SELF\representation.items;
END_ENTITY;
Определение атрибута
strokes — набор объектов curve, определяющих геометрию глифа символа.
Формальное утверждение
WR1 — все кривые, образующие глиф символа, должны входить в набор соответствующих элементов.
7.4.5 Объект colour
Объект colour определяет основное свойство конкретного элемента, связанное с его способностью отражать сетевой поток.
EXPRESS-спецификация
ENTITY colour END_ENTITY;
7.4.6 Объект colour_associated
Объект colour_associated является подтипом colour. Объект colour_associated определяет цвет для визуализации одномерных статических переменных при создании изображения. Цвет кривых или поверхностей в конкретных положениях задают значениями статических переменных и объектом colour_association_table. Положения (кривых или поверхностей) с выбранными цветами зависят от объектов shading_curve_method или shading_surface_method, заданных соответственно для кривой или поверхности. Выбранные цвета интерполируют соответственно атрибуту вида метода затенения.
Примечания
1 Статические переменные часто используют для задания физических величин.
2 Интерполяция цветов кривых и поверхностей определяется в shading_curve_method и shading_surface_method.
EXPRESS-спецификация
ENTITY colour_associated
SUBTYPE OF (colour);
name : label;
variable_to_be_shown : SET[1:?] OF REAL;
mapping : colour_association_table;
ENDJENTITY;
(*
Определения атрибутов
name — слово или группа слов, посредством которых ссылаются на colour_associated;
variable_to_be_shown — набор статических переменных, имеющих одномерные значения, предназначенный для визуализации цветов;
mapping — объект colour_association_table, используемый для выбора конкретного цвета.
7.4.7 Объект colour_association_table
Объект colour_association_table определяет отображение пространства одномерных статических переменных в пространство цветов.
Объект colour_association_table содержит значения статических переменных, связанных с заданием цветов. Если конкретное значение статической переменной находится между двумя заданными значениями статических переменных, тогда конкретный цвет должен быть вычислен с использованием методов ступенчатой или линейной интерполяции.
EXPRESS-спецификация
ENTITY colour_association_table;
discrete_states_with_colours : LIST[1:?] OF state_variable_with_colour;
interpolationjype : staircase_or_linear;
ENDJENTITY;
Определения атрибутов
discrete_states_with_colours — список значений одномерных статических переменных, соответствующих определенным цветам;
interpolation_type — используемый метод интерполяции.
7.4.8 Объект colour_rgb
Объект colour_rgb является подтипом colour_specification. Объект colour_rgb определяет цвет посредством задания яркости красного, зеленого и синего цветов.
EXPRESS-спецификация
ENTITY colour_rgb
SUBTYPE OF (colour_specification);
red : REAL;
green : REAL;
blue : REAL;
WHERE
WR1: {0.0 <= red <= 1.0};
WR2: {0.0 <= green <= 1.0};
WR3: {0.0 <= blue <= 1.0};
END_ENTITY;
Определения атрибутов
red — яркость красного компонента цвета;
green — яркость зеленого компонента цвета;
blue — яркость синего компонента цвета.
Формальные утверждения
WR1 — яркость красного компонента цвета должна иметь значение от 0 до 1;
WR2 — яркость зеленого компонента цвета должна иметь значение от 0 до 1;
WR3 — яркость синего компонента цвета должна иметь значение от 0 до 1.
7.4.9 Объект colour_specification
Объект colour_specification является подтипом colour. Объект определяет цвет, прямо связанный с заданным цветовым интервалом (пространством).
Пример — Цветовыми пространствами являются RGB, HLS, HSV и CIE [7].
Примечание — В настоящем стандарте поддерживается только цветовое пространство RGB. Объект может быть расширен.
EXPRESS-спецификация
ENTITY colour_specification
SUBTYPE OF (colour);
name : label;
END_ENTITY;
Определение атрибута
name — слово или группа слов, посредством которых ссылаются на colour_specification.
7.4.10 Объект draughting_pre_defined_colour
Объект draughting_pre_defined_colour является подтипом pre_defined_colour, идентифицируемым по названию.
В таблице 2 указаны значения RGB, соответствующие предопределенным цветам, установленным в настоящем стандарте.
Таблица 2 — Значения RGB для предопределенных цветов
Название цвета | Значение красного канала | Значение зеленого канала | Значение синего канала |
Черный (black) | 0 | 0 | 0 |
Красный (red) | 1 | 0 | 0 |
Зеленый (green) | 0 | 1 | 0 |
Синий (blue) | 0 | 0 | 1 |
Желтый (yellow) | 1 | 1 | 0 |
Пурпурный (magenta) | 1 | 0 | 1 |
Циан (cyan) | 0 | 1 | 1 |
Белый (white) | 1 | 1 | 1 |
EXPRESS-спецификация
ENTITY draughting_pre_defined_colour
SUBTYPE OF (pre_defined_colour);
WHERE
WR1: SELF\pre_defined_item.name IN ['red', 'green', 'blue', 'yellow', 'magenta', 'cyan', 'black', 'white']; END_ENTITY;
Формальное утверждение
WR1 — значение атрибута name объекта draughting_pre_defined_colour должно быть равно 'red', 'green', 'blue', 'yellow', 'magenta', 'cyan', 'black' или 'white'.
7.4.11 Объект draughting_pre_defined_text_font
Объект draughting_pre_defined_text_font является подтипом pre_defined_text_font с определенным значением 'ISO 3098'.
EXPRESS-спецификация
ENTITY draughting_pre_defined_text_font
SUBTYPE OF (pre_defined_text_font);
WHERE
WR1: SELF\pre_defined_item.name[1:8] ='ISO 3098';
END_ENTITY;
Формальное утверждение
WR1 — значение атрибута name объекта draughting_pre_defined_text_font должно быть равно 'ISO 3098'.
7.4.12 Объект externally_defined_text_font
Объект externally_defined_text_font является подтипом externally_defined_item. Объект определяет внешнюю ссылку на шрифт текста.
EXPRESS-спецификация
ENTITY externally_defined_text_font
SUBTYPE OF (externally_defined_item);
END_ENTITY;
7.4.13 Объект generic_character_glyph_symbol
Объект generic_character_glyph_symbol является типом symbol_representation, содержащим геометрическое представление символа.
EXPRESS-спецификация
*)
ENTITY generic_character_glyph_symbol
ABSTRACT SUPERTYPE
SUBTYPE OF (symbol_representation);
END_ENTITY;
7.4.14 Объект planar_box
Объект planar_box является подтипом planar_extent. Объект определяет произвольную прямоугольную ячейку и ее расположение в двумерной декартовой системе координат.
EXPRESS-спецификация
ENTITY planar_box
SUBTYPE OF (planar_extent);
placement: axis2_placement;
END_ENTITY;
Определение атрибута
placement — положение и ориентация нижнего левого угла прямоугольника. Длину сторон прямоугольника в направлении осей х и у задают посредством атрибутов супертипа.
7.4.15 Объект planar_extent
Объект planar_extent является подтипом geometric_representation_item. Объект planar_extent определяет протяженность по обоим направлениям двумерной системы координат.
EXPRESS-спецификация
ENTITY planar_extent
SUBTYPE OF (geometric_representation_item);
size_in_x : length_measure;
size_in_y : length_measure;
END_ENTITY;
Определения атрибутов
size_in_x — протяженность в направлении оси х;
size_in_y — протяженность в направлении оси у.
7.4.16 Объект pre_defined_colour
Объект pre_defined_coloiir является подтипом colour и подтипом pre_defined_item. Объект предназначен для обеспечения возможности задания цветов в конкретном приложении.
Примечание — Порядок применения данного объекта задают в прикладных ресурсах или протоколах. Объект pre_defined_colour позволяет устанавливать значения цветов или их компонентов в прикладных ресурсах или протоколах.
EXPRESS-спецификация
ENTITY pre_defined_colour
SUBTYPE OF (pre_defined_item, colour);
END_ENTITY;
7.4.17 Объект pre_defined_text_font
Объектом pre_defined_text_font является подтипом pre_defined_item. Объект является шрифтом текста, используемым при определении прикладного шрифта.
Примечание — Порядок применения данного объекта задают в прикладных ресурсах или протоколах.
EXPRESS-спецификация
ENTITY pre_defined_text_font
SUBTYPE OF (pre_defined_item);
END_ENTITY;
7.4.18 Объект presentation_scaled_placement
Объект presentation_scaled_placement является подтипом geometric_representation_item, обеспечивающим определение объекта graphical-transformations.
EXPRESS-спецификация
ENTITY presentation_scaled_placement
SUBTYPE OF (geometric_representation_item);
placement: axis2_placement;
scaling : positive_ratio_measure;
END_ENTITY;
Определения атрибутов
placement — местоположение, используемое при определении поворота и перемещения;
scaling — масштабирование, являющееся частью преобразования.
7.4.19 Объект state_variable_with_coloiir
Объект state_variable_with_coloiir связывает одну заданную статическую переменную с объектом colour_specification.
EXPRESS-спецификация
ENTITY state_variable_with_colour;
state_variable : REAL;
associated_colour: colour_specification;
END_ENTITY;
Определения атрибутов
state_variable — значение одномерной статической переменной (объект state_variable).
Пример — Физическими статическими переменными являются температура и компоненты нагрузки.
associated_colour — объект colour_specification, связанный с объектом state_variable.
7.4.20 Объект text_font
Объект text_font определяет конкретный шрифт символа.
Пример — Courier 12, Times 10, Helvetica Bold 14, 0815 и ABC.
EXPRESS-спецификация
ENTITY text_font;
id : identifier;
name : label;
description : text;
INVERSE
glyphs : SET[1:?] OF character_glyph_font_usage FOR font;
END_ENTITY;
Определения атрибутов
id — идентификатор text_font;
name — слово или группа слов, посредством которых ссылаются на text_font;
description — текст, описывающий характеристики объекта text_font;
glyphs — набор объектов character_glyph_font_usages, определяющий объекты character_ glyph_symbols, входящие в text_font.
7.4.21 Объект text_font_family
Объект text_font_family обозначает соответствующий набор (коллекцию) объектов text_font.
EXPRESS-специсЬикация
ENTITY text_font_family;
id : identifier;
name : label;
description : text;
INVERSE
fonts : SET[1:?] OF text_font_in_family FOR family;
END_ENTITY;
Определения атрибутов
id — идентификатор объекта text_font_family;
name — слово или группа слов, посредством которых ссылаются на text_font_family;
description — текст, описывающий характеристики объекта text_font_family;
fonts — набор объектов text_font_in_family, определяющий объекты texts_font, входящие в объект text_font_family.
7.4.22 Объект text_font_in_family
Объект text_font_in_family определяет вхождение объекта text_font в объект text_font_family.
Пример — Семейства шрифтов Courier и Helvetica включают, соответственно, шрифты Courier 12 и Helvetica Bold 14.
EXPRESS-специсЬикация
ENTITY text_font_in_family;
font: text_font;
family : text_font_family;
END_ENTITY;
Определения атрибутов
font — объект text_font, входящий в соответствующее семейство;
family — объект text_font_family, для которого задан соответствующий text_font.
7.5 Определения ограничений подтипов схемы presentation_resource_schema
7.5.1 Ограничение подтипа prs_geometric_representation_item_siibtypes
Ограничение подтипа prs_geometric_representation_item_subtypes применяется к экземплярам подтипов geometric_representation_item.
EXPRESS-специсЬикация
SUBTYPE_CONSTRAINT prs_geometric_representation_item_subtypes FOR geometric_representation_item;
ONEOF (curve,
planar_extent,
presentation_scaled_placement);
END_SUBTYPE_CONSTRAINT;
EXPRESS-спецификация
END_SCHEMA; - - presentation_resource_schema
Приложение А (обязательное)
Сокращенные наименования объектов
Требования по использованию сокращенных наименований содержатся в методах реализации, входящих в стандарты серии ГОСТ Р ИСО 10303. Сокращенные наименования объектов, установленных в настоящем стандарте, доступны по адресу:
//standards.iso.org/iso/10303/tech/short_names/short-names.txt
Приложение В (обязательное)
Регистрация информационного объекта
В.1 Обозначение документа
Для однозначного обозначения информационного объекта в открытой системе в соответствии с ГОСТ Р ИСО/МЭК 8824-1 и ГОСТ Р ИСО 10303-1 настоящему стандарту присвоен следующий идентификатор объекта:
{iso standard 10303 part(46) version(6)}
B.2 Обозначение схемы
В.2.1 Обозначение presentation_organisation_schema
Для однозначного обозначения presentation_organisation_schema в открытой системе в соответствии с ГОСТ Р ИСО/МЭК 8824-1 и ГОСТ Р ИСО 10303-1 схеме присвоен следующий идентификатор объекта:
{iso standard 10303 part(46) version(6) object(1) presentation-organisation_schema(1)}
B.2.2 Обозначение presentation_definition_schema
Для однозначного обозначения presentation_definition_schema в открытой системе в соответствии с ГОСТ Р ИСО/МЭК 8824-1 и ГОСТ Р ИСО 10303-1 схеме присвоен следующий идентификатор объекта:
{iso standard 10303 part(46) version(6) object(1) presentation-definition_schema(2)}
B.2.3 Обозначение presentation_appearance_schema
Для однозначного обозначения presentation_appearance_schema в открытой системе в соответствии с ГОСТ Р ИСО/МЭК 8824-1 и ГОСТ Р ИСО 10303-1 схеме присвоен следующий идентификатор объекта:
{iso standard 10303 part(46) version(7) object(1) presentation-appearance_schema(3)}
B.2.4 Обозначение presentation_resource_schema
Для однозначного обозначения presentation_resource_schema в открытой системе в соответствии с ГОСТ Р ИСО/МЭК 8824-1 и ГОСТ Р ИСО 10303-1 схеме присвоен следующий идентификатор объекта:
{iso standard 10303 part(46) version(6) object(1) presentation-resource_schema(4)}
Приложение С (справочное)
Машинно-интерпретируемые листинги
Листинги EXPRESS схем, определенных в настоящем стандарте, предоставляются без комментариев и пояснений в машинно-интерпретируемой форме по адресу:
//standards.iso.org/iso/10303/smrl/v8/tech/smrlv8.zip
Приложение D (справочное)
Express-G диаграммы
Рисунки, представленные в настоящем приложении, соответствуют описаниям схем настоящего стандарта. В диаграммах использована графическая нотация EXPRESS-G языка EXPRESS. Правила построения EXPRESS-G диаграмм установлены в ГОСТ Р ИСО 10303-11.
presentation appearance schema
1 extemally_defoedjtem
। pre_defined_item
[У._______________________________
1 complex_triangulated_face
i coordinatesjist
j tessellated_edge
' tessellated_face
i tessellatedjtein
। tessellated_shell
[ tessellated_soEd
। tessellated_surface_set
i tessellated_vertex
! triansulated_face
____________________________
external reference schema c------=-------=------
geometric model schema
axis2_placement b_spline_curve cartesian_point composite_curve
curve
geometric_representationjtem point
polyline
vector
group
descrip tive_measure length_measure measure_with_unit plane_angle_measure positive Jength_measure positive_ratio_nieasure ratio_measure
annotation_curve_occurrence annotation_fill_are a annotation_synibol_occurrenc e annotation_text_with_delineation s\mbol_representation_with_blanking_box
area_dependent_annotation_representation presentation_area presentationjayer_assignment presentation_layer_usage presentation_representation presentation_set
pres entation_view
product_data_representation_view view_dependent_annotation_representation
presentation organization schema
j character_dyph_symbol_outline ' character_glyph_symbol_stroke । colour
presentation resource schema
context_dependent_shape_representation product property representation schema
foundedjtem mappedjtem representation representationjtem representation_map representation_or_representation_reference representation_relationship using_representations
bag_to_set label
v
representationjtem
representation schema
representation schema.founded itemj <---
■(9,14 approximation_tolerance~)
■^9,15 approximation_tolerance_de\iation)
■(9,16 approximation tolerance paranietetQ
SIS curve style^
19 curve style f
■00,20 curve_style_font_and_scaling)
-0>, 21 curve_style_font_patteni)
■ 0, 22 extemaHy defined style)
■ Q, 24 point_style^
■ 0, 25 pre_defined_presentatjon_style^)
■ ^4,26 presentation_style_assignnien0
■ 0,27 surface_side_style^)
• ^5,28 surface_style_boundary J
0,29 surface_style_control_grid^
0, 30 surface_style_fiH_area J
0,31 surface_style_parameter_line
0, 32 surface_style_segmentation_curve
S33 surface_style_silhouette^
34 surface_style_usage )
■(9, 36 symbol_style)
0, 35 symbol element style)
text_style_for_defined_font
<"presentation resource schema.colour
1 1 character_style_select [
character_appearanc e
0,37(4))|
, name
—c text_style --------
-c "support resource schema.laber
—c text_style_with_mirror
mirror placement --------------------ct geometry schema.axis2 placement^
justification r---L . . .
-----------оtextjustificanon [—c support resource schema.label
—C text_style_with_iustification
"measure schema.ratio measure j:
< ^measure schema.measure wtth unit'
"extemal reference schema.pre defined item
& ~
pre_defined_character_spacing э----
measure schema.length measure < ^measure schema.descriptive measure~
Рисунок D.3 — EXPRESS-G диаграмма presentation_appearance_schema 3 из 11
11,68 styled tesseUated face or surface with stngle texture^)
*styled_ tessellated_ item_with_ colours
colour_tvpe r - -
--:---------------a c olour_type_enum i i
(DER) coloured_coordinate_values L .........
-------------------------------q geometnc_model_schema.coordmates_list
colour_values L[l:?] L[3:4] Г-----------1
--a *unsigned_8_brt_mteger ।----c| INTEGER | (RT)item r-i------
----------о itessellated surface itemi
geometric model schema.tessellated face geometric model schema.tessellated shell
styles S[0:?]
geometric model schema.tessellated solid
geometric model schema.tessellated surface set
9,14 approximation tolerance^
-cjfproduct propert5’representation schema.context dependent shape representation
representation schema.representation
representation schema.representation item
representation schema.representation relationship
3,18 curve_style^
3,24 poim_style^)
1,25 pre_defined_presentation_style^)
5,34 surface_style_usage^)
9,36 symbol_style^)
2, 37 text style^
------(8,23 fill area style~)
-(j, 22 externally_defined_style J
■01, 77 texture style tessellation specification) эпиЙ stylel! ।____। j
Рисунок D.5 — EXPRESS-G диаграмма presentation_appearance_schema 5 из 11
geometr,f schema.geometric representation item^<-
'pas_geometric_representation_item subtypes
■ ^8,98 one_direction_repeat_Eactor^)
■ ^8, 99 ffl_area_style_hatchingT)
■ (j, 102 extemally_defined_hatch_st\,le^
■ (j, 103 externally_defined_tile_style^
■ Qi, 104 fill_area_style_tile_coloured_regiorQ
■ (X 105 fffl_area_style_ljle_cun'e_widi_style)
■ 0>5 106 ffl_area_style_tde_symbol_with_style)
■ (X 107 fill_area_style_tiles^)
■ Ql, 108 pre_defined_hatch_style^)
■ Q1, 109 pre defined tfle style)
curve_style_ curve_pattem
pattern
pattern length
< jjresentatton definition schema.annotation curve occurrence^
-c jneasure schema.positive lengdi measure'
pattem_list L[l:?]
__________□__________
(X 21 (2)^—c curve_style_font_pattern
< ^support resource schema.labeT
invisible_segment_length
\isible_segment_length
^measure schema.posith?e length measure^
Рисунок D.6 — EXPRESS-G диаграмма presentation_appearance_schema 6 из 11
Qj, 104 (8)^)---с * fill_area_style_tile_c oloured_region
region colour
< j3resentation resourc e schema.c olour J
closed curve
i curve or annotation curve occurrence i
Рисунок D.7 — EXPRESS-G диаграмма presentation_appearance_schema 7 из 11
Рисунок D.8 — EXPRESS-G диаграмма presentation_appearance_schema 8 из 11
f9.14(4)>
approximation^ olerance
tolerance ri-------7 -
-----------о itolerance_select|
(9,15 (2)~)—c *approximation_tolerance_deviation
definition space
(^9,16 (2)S)-o *approximation_tolerance_parameter
tessellation_type
1 approximation_method 1
'product_or_presentation_spacei [
J^tolerances S[l:2]
Ttolerance_parameter select 1 J__—————— — _ — — — _ — — — J
tolerances S[12]
1 itolerance deviation select'
-----о curve_toleranc e_deviation j------c jneasure scliema.positive length measure^ ------о surface_tolerance_deviation ] c fmeasure schema.positive length measure^
nameC= . . .
------c <support resource schema.label
style_of_symbol
Г “I
-0 1 symbol style select 1 1 _i_"___~
-c *symbol_element_style
style of symbol/-“77---------■
——~ ----(4,26 presentation style assignmentJ
< symbol_colour
colour of symbol
<^presentation resource schema.colour^
Рисунок D.9 — EXPRESS-G диаграмма presentation_appearance_schema 9 из 11
Рисунок D.10 — EXPRESS-G диаграмма presentation appearance schema 10 из 11
(RT) item
itesseHated_face_or_tessellated_surface_seti
Рисунок D.11 — EXPRESS-G диаграмма presentation_appearance_schema 11 из 11
Технические вопросы
Е.1 Переменные, используемые в формулах отражающей способности
В таблице Е.1 представлены переменные, используемые в формулах отражающей способности [70].
Таблица Е.1 — Описания переменных и их источники
Символ | Описание | Тип данных | Источник данных |
Ъ | Описание источника света | NORM | (1) |
Lc | Цвет источника света | COLRV | (1) |
~LP | Местоположение источника света | РЗ | (1) |
Le | Коэффициент концентрации источника света | R | (1) |
ci- c2 | Коэффициенты затухания | R | (1) |
Затухание света | R | (6) | |
°p | Местоположение предмета | РЗ | (3) |
Oc | Рассеиваемый цвет предмета | COLRV | (4) |
os | Отражаемый цвет предмета | COLRV | (5) |
Oe | Коэффициент отражения от предмета | R | (5) |
Ka | Коэффициент общего отражения | R | (5) |
Kd | Коэффициент диффузионного отражения | R | (5) |
Ks | Коэффициент зеркального отражения | R | (5) |
ve | Единичный вектор от предмета к точке взгляда | NORM | (2) |
Vr | Единичный вектор отражения от предмета | NORM | (6) |
T | Единичный вектор от предмета к источнику света | NORM | (2) |
Единичный вектор, перпендикулярный к предмету | NORM | (3) | |
Ca | Общая часть от источника света | COLRV | (6) |
Cd | Рассеиваемая часть от источника света | COLRV | (6) |
Cs | Отражаемая часть от источника света | COLRV | (6) |
Описание источника данных:
(1) отображение источника освещения;
(2) вычисление;
(3) заданные или полученные из геометрии предмета;
(4) таблица цветов, прямой цвет, цвет вершины, внутренний фоновый цвет;
(5) свойства поверхности или обратной стороны предмета;
(6) вычисление по формулам в подразделе D.2.
Е.2 Формулы отражающей способности [70]
Результатом вычисления отражающей способности отдельной точки является общий цвет, определяемый суммой отдельных компонентов Са+ Cd+ Cs от всех действующих источников освещения:
N
^а,/ + CdJ + ^s,/’
/=1
где N — общее число источников освещения.
Для общих источников освещения:
Са = KaLcOc;
cd = o;
CS = Q.
Для прямых источников освещения:
Са = 0;
Cd=KdLcOc(\/„-Vi)-, Cs=KsOsLc{veVr)°'. Для позиционированных источников освещения: Са = 0;
Cd=KdOcLc(V„V,)La, Cs=KsOsLc(veVr)°-La. Для местных источников освещения:
Са = 0;
С„=К(/Ос£с(У„.\7,)(й-\7/),’,£в;
Cs = K3O3Lc(Ve V,)0* (Ld-Vip La.
(Влияние местных источников освещения может быть нулевым, если Ор находится вне потока от конкретного источника освещения).
Затухание света может быть вычислено по формуле
L ._________1._________
3 ci+c2|op-lp|’
где |Ор - Lp\ — это расстояние между объектом и источником освещения.
Вектор отражения света может быть вычислен по формуле
Vr=2(VnVi)Vn-Vv
Если при расчете вектора отражения света Vn ■ Vt отрицательно, то Cs должно быть заменено нулевым значением.
Сведения о соответствии ссылочных национальных стандартов международным стандартам, использованным в качестве ссылочных в примененном международном стандарте
Таблица ДА. 1
Обозначение ссылочного национального стандарта | Степень соответствия | Обозначение и наименование ссылочного международного стандарта |
ГОСТ Р ИСО/МЭК 8824-1—2001 | IDT | ISO 8824-1:1998 «Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 1. Спецификация основной нотации» |
ГОСТРИСО 10303-1—99 | IDT | ISO 10303-1:1994 «Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 1. Общие представления и основополагающие принципы» |
ГОСТ Р ИСО 10303-11—2009 | IDT | ISO 10303-11:2004 «Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 11. Методы описания. Справочное руководство по языку EXPRESS» |
ГОСТ Р ИСО 10303-41—99 | IDT | ISO 10303-41:94 «Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 41. Интегрированные обобщенные ресурсы. Основы описания и поддержки изделий» |
ГОСТ Р ИСО 10303-43—2016 | IDT | ISO 10303-43:2011 «Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 43. Интегрированный обобщенный ресурс. Структуры представления» |
ПНСТ 797 (ИСО 10303-42:2019) | MOD | ISO 10303-42:2019 «Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 42. Интегрированные обобщенные ресурсы. Геометрическое и топологическое представление» |
Примечание — В настоящей таблице использованы следующие условные обозначения степени соответствия стандартов:
|
Сопоставление структуры настоящего стандарта со структурой примененного в нем международного стандарта
Таблица ДБ.1
Структура настоящего стандарта | Структура международного стандарта ИСО 10303-46:2019 |
— | Приложение F История изменений стандарта |
Приложение ДА Сведения о соответствии ссылочных национальных стандартов международным стандартам, использованным в качестве ссылочных в примененном международном стандарте | — |
Приложение ДБ Сопоставление структуры настоящего стандарта со структурой примененного в нем международного стандарта | — |
Примечание — Сопоставление структуры стандартов приведено начиная с приложения F, т. к. предыдущие разделы стандарта идентичны. |
Библиография
[1] ИСО 8805:1988 Системы обработки информации. Машинная графика. Функциональное описание
трехмерной базовой графической системы (GKS-3D)
[2] ИСО/МЭК 9592 (все части) Информационные технологии. Машинная графика и обработка изображений. Иерархическая интерактивная графическая система программиста (PHIGS)
[3] ИСО/МЭК 7942 (все части) Информационные технологии. Компьютерная графика и обработка изображений. Базовая графическая система (GKS)
[4] FOLEY, James D. and VAN DAM, Andries, Fundamentals of interactive computer graphics, Addison Wesley, 1984, ISBN 0-201-14468-9
[5] NEWMAN, William M. and SPROULL, Robert F., Principles of interactive computer graphics, Me Graw Hill, 1981, ISBN 0-07-046338-7
[6] ISO/IEC 9541 (все части) Информационные технологии. Обмен информацией о шрифтах
[7] NISTIR 4412, Initial Graphics Exchange Specification (IGES), Version 5.0
[8] Microsoft Windows Bitmap FormatAvailable from the World Wide Web: <https://msdn.microsoft.com/en-gb/>
[9] Microsoft DirectDraw Surface, DirectX 7 DirectDraw Surface file formatAvailable from the World Wide Web: https://msdn.microsoft.com/en-gb/>
[10] ИСО/МЭК 9592-1:1997 Информационные технологии. Машинная графика и обработка изображений. Иерархическая интерактивная графическая система программиста (PHIGS). Часть 1. Функциональное описание
УДК 656.072:681.3:006.354
ОКС 35.020
25.040.40
Ключевые слова: умное производство, автоматизация, средства автоматизации, прикладные автоматизированные системы, промышленные изделия, данные, представление данных, обмен данными, структуры представлений
Редактор Л.В. Каретникова Технический редактор В.Н. Прусакова Корректор И.А. Королева Компьютерная верстка Е.О. Асташина
Сдано в набор 21.11.2022. Подписано в печать 06.12.2022. Формат 60*84%. Гарнитура Ариал. Усл. печ. л. 16,74. Уч.-изд. л. 15,14.
Подготовлено на основе электронной версии, предоставленной разработчиком стандарта
Создано в единичном исполнении в ФГБУ «Институт стандартизации» , 117418 Москва, Нахимовский пр-т, д. 31, к. 2.