ГОСТ Р ИСО 13584-31—2010
nSIZEOb(c:\composite_curve_on_surfасе.segments);
surfsget_basis_surface(c\composite_curve_on_surfaee.segments[1).
parer.t_curve);
lb
n
>
1 THEM
REPEAT i2 TO n;
surfs :- surfs *
get_basis_surface(c:\composite_curve_on_3urface.
segments(l).parent_curve);
END_REPEAT;
END_IF;
eno
_:
f
;
RETURN (surfs);
END_FL’NC1T0N;
<*
Определения аргументов:
с: (вход) кривая, для которой определяется базовая поверхность;
surf: (выход) множество, содержащее базовую поверхность или поверхность, на которой лежит
кривая с.
6.3.1.17 Функция list_to_array
Функция list_to_array преобразует групповой перечень в регулярный массив с предварительно
определенными границами. Если границы массива несовместимы с количеством элементов исход
ного перечня, то получается нулевой результат. Настоящая функция используется для создания регу
лярных массивов контрольных точек и совокупности последовательности сложнолрофильных кривых
(b-spline).
Спецификация на языке EXPRESS:
*>
FUNCTION Iist_to_array(lis : LIST (0:?) CF GENERIC :T;
low,u : INTEGER) :ARRAY-low:u) OF GENERIC :T;
LOCAL
r. : INTEGER;
res :ARRAY [low:u] OF GENERIC : T;
END_LOCAL;
nS1ZEOF(lis);
IF (г.<> (u-low 41)} THEN
RETURN (?);
ELSE
REPEAT i1 TO n;
res[low+i-l]lis[ij;
ENO_REPEAT;
RETURN(res);
END_IF;
ENL)_tUNCTION;
(*
Определения аргументов функции:
lis: (вход) преобразуемый исходный перечень;
low: (вход) целое число, равное нижнему индексу выходного массива;
и: (вход) целое число, равное верхнему индексу;
res: (выход) регулярный массив, сгенерированный из исходных данных.
6.3.1.18 Функция make_array_of_array
Функция mako_array_of_array создает регулярный массив из нескольких массивов, полученных
из перечня перечней. Сначала функция проверяет совместимость размерности массива с размерами
перечней. Необходимо, чтобы все подперечни содержали одинаковое количество элементов. Получа
ется нулевой результат, если исходные данные функции несовместимы с размерностью массива. Функ
ция используется для создания регулярных массивов контрольных точек и весовых коэффициентов
102