ГОСТ Р ИСО 10303-52—2015
required_vertices : ARRAY [1:rGquired_count] OF vertex
:= shorten_array(vertices, vn_count, required_count);
END_ENTITY;
Г
Определение атрибутов:
shape — топологическая форма ячейки;
order — порядок геометрической интерполяции ячейки;
vertices — вершины на концах ребер ячейки, а также на ребрах, гранях и внутри ячейки.
Положение в массиве узла, размещенного в вершине или на ребре, зависит от формы ячейки и
задано в графической форме в ИСО 10303-104 (рисунки 10—39). Заметим, что многоугольная ячейка
является обобщением треугольной и четырехугольной ячейки.
П р и м е ч а н и е—Для удобства большинство рисунков из ИСО 10303-104 представлено в
настоящем стандарте, например такие рисунки 14—20. где узлы в вершинах и на ребрах обозначены точками.
Вершина, отмеченная как «1». имеет в массиве первый индекс, вершина, помеченная как
«2».
имеет в массиве
второй индексит.д. В таблицах 2—4приведена информация о ребрахи гранях из ИСО 10303-104;
bound_count — число граничных вершин ячейки. Определяется значением атрибута shape,
задающего форму ячейки;
odge_node_count — число внутренних узлов ячейки, расположенных на ребрах ячейки.
Определяется сочетанием значений атрибутов shape, задающего форму ячейки и order, задающего
порядок интерполяции;
opt_node_count — возможное число внутренних узлов ячейки, не расположенных на ребрах
ячейки. Определяется сочетанием значений атрибутов shape, задающего форму ячейки и order,
задающего порядок интерполяции.
П р и м е ч а н и е — На рисунках 14— 20 внутренние узлы, не принадлежащие ребрам, обозначены
кружками;
vn_count — общее число граничных вершин плюс число узлов (как на ребрах, так и вне ребер);
required_vertices — массив вершин и узлов ячейки, за исключением внутренних узлов, не
лежащих на ребрах. Число элементов равно значению атрибута roquired_count.
4.4 Определения функций схомы mesh_topology_schema
4.4.1 Функция all_mesh_vertices
Функция al!_mesh_vertices принимает в качестве входного аргумента экземпляр объекта
array_based_unstructured_mesh_and_vertices и возвращает значение TRUE (истина), если все
вершины, входящие в набор, играющий роль атрибута vertices, точно являются вершинами сетки.
EXPRESS-спецификация;
‘)
FUNCTION all_mesh_vertices(arg; array_based_unstructured_mesh_and_vertices)
; BOOLEAN;
LOCAL
vertex_set; SET OF vertex := Q;
cell; vertex_defmed_cell;
END_LOCAL;
REPEAT i ;= 1TO arg.cell_count;
cell := arg.cells[i];
REPEATj ;= 1 TO cell.vn_count;
vertex_set ;= vertex_set ♦ cell.vertices(j];
END_REPEAT;
END_REPEAT;
IF (SIZEOF(vertex_set) <> arg.index_count) THEN
RETURN(FALSE);
ENDJF;
REPEAT i ;= 1TO arg.index_count;
IF (NOT (arg.verticesfi] IN vertex_set)) THEN
RETURN(FALSE);
ENDJF;
END_REPEAT;
RETURN(TRUE);
25