Данный подраздел определяет объекты ПЭМ для данного прикладного модуля. Каждый объект ПЭМ является простейшим неделимым элементом, который моделирует уникальное понятие прикладной области и содержит атрибуты, определяющие элементы данных объекта. Объекты ПЭМ и их определения приведены ниже.
4.3.1 Объект Camera_model_d3
Объект Camera_model_d3 является подтипом объекта Detailed_geometric_model_element. и содержит информацию для проецирования трехмерных моделей в пространство двумерного вида.
EXPRESS-спецификация:
*)
ENTITY Camera_model_d3
SUBTYPE OF (Detailed_geometric_model_element);
clipping : OPTIONAL Clipping_operator;
hidden_element_appearance : OPTIONAL Appearance_assignment;
hidden_line_removal : OPTIONAL BOOLEAN;
sources : OPTIONAL SET[1:?] OF Light_source;
view_projection : view_projection_type;
view_window : Planar_box;
WHERE
WR1: NOT EXISTS (hidden_element_appearance) OR EXISTS (hidden_line_removal);
END_ENTITY;
(*
Определения атрибутов:
clipping - задает объект Clipping_operator, играющий роль настоящего атрибута объекта Camera_model_d3. Должен существовать один или несколько объектов Clipping_operator для объекта Camera_model_d3. Задавать значение данного атрибута необязательно;
hidden_element_appearance (появление невидимых элементов) - задает объект Appearance_assignment, играющий роль настоящего атрибута объекта Camera_model_d3. Задавать значение данного атрибута необязательно;
hidden_line_removal (удаление невидимых линий) - задает Булево значение, определяющее, должны ли удаляться невидимые (скрытые) линии;
sources - набор объектов Light_source (источник света), играющий роль настоящего атрибута объекта Camera_model_d3. Для камеры, представленной объектом Camera_model_d3, должен существовать один или несколько источников света. Задавать значение данного атрибута необязательно;
view_projection - задает объект view_projection_type, играющий роль настоящего атрибута объекта Camera_model_d3;
view_window - задает объект Planar_box, играющий роль настоящего атрибута объекта Camera_model_d3.
Формальное утверждение:
WR1. Если не задано значение атрибута hidden_line_removal, то значение атрибута hidden_element_appearance тоже не должно быть задано.
4.3.2 Объект Clipping_operator
Объект Clipping_operator, представляющий операцию отсечения, является подтипом объекта Detailed_geometric_model_element.