ГОСТ Р ИСО 10303-52—2015
END_FUNCTION;
<*
Определения параметров:
arg — экземпляр объекта типа array_based_unstructured_mesh_and_vertices.
Возвращаемое значение — TRUE (истина), если все вершины, входящие в набор, играющий
роль атрибута vertices объекта, играющего роль параметра arg. точно являются вершинами сетки,
иначе — FALSE (ложь).
4.4.2 Функция cell_counts
Функция cell_countsпринимает в качестве входного аргумента экземпляр объекта
vertex_defined_cell. представляющий ячейку, и возвращает количество вершин и узлов, требуемых
для определения ячейки.
EXPRESS-слецификация.
*)
FUNCTION cell_counts(arg : vertex_defined_cell): ARRAY[1:3] OF INTEGER;
LOCAL
om1 : INTEGER := 0; - (order -1)
om lsq; INTEGER := om1"2: - (order -1) squared
vts : INTEGER; -- number of bounding vertices
eds ; INTEGER; -- number of edges
q f: INTEGER := 0; -- number of quadrilateral faces
tf: INTEGER := 0; -- number of triangular faces
result: ARRAY (1:3) OF INTEGER := (0.0.0);
END_LOCAL;
CASE arg.order OF
linear: om1 := 0;
quadratic ; om1 := 1;
cubic : om1 := 2;
OTHERWISE: RETURN(result);
END_CASE;
omlsq := om1**2;
CASE arg.shape OF
single :
BEGIN
vts := 1: eds := 0: qf := 0; tf := 0;
result(1) := vts;
result(2] := oml’eds: - 0. 0, 0
result(3) := 0; - 0, 0, 0
END;
line:
BEGIN
vts := 2: eds := 1: qf := 0; tf := 0;
result[1] := vts;
result(2) := oml’eds; - 0,1. 2
result(3) := 0; ~ 0, 0. 0
END;
quadrilateral:
BEGIN
vts ;= 4: eds := 4; qf := 1; tf := 0;
result[1] := vts;
result(2) := oml’eds: - 0.4. 8
result(3] := omlsq’qf; - 0,1. 4
END;
triangle;
BEGIN
vts := 3: eds := 3: qf := 0; tf := 1;
result[1) := vts;
result{2] ;= oml’eds; - 0. 3. 6
result(3) ;= (om1-1)*tf; - 0,1
CASE arg.order OF
26