ГОСТ Р И С 010303-509—2009
ENDJF;
END IF;
ENDJF;
END_REPEAT;
RETURN (TRUE);
ENDJF;
ELSE
(* объект polyline должен содержать, no крайней мере, три объекта point
*)
IF’AIC_MANIFOLD_SURFACE.POLYLINE’ IN TYPEOF (cv)THEN
IF (SIZEOF (cv\polyline.points) > = 3) THEN RETURN (TRUE):
ENDJF;
ENDJF;
ENDJF;
ENDJF;
ENDJF;
ENDJF:
ENDJF;
ENDJF;
(* значение FALSE возвращается, если аргумент cv не является допустимым объектом curve
*)
RETURN (FALSE):
ENDJUNCTION;
Г
Определения аргументов
cv (входной параметр) — объект representationJtem , который по предположению является объек
том curve, проверяемый на допустимость в контексте объекта manifold_surface_shape_representation.
BOOLEAN (выходной параметр) — имеет значение TRUE, если объект representationJtem является
допустимым объектом curve, в противном случае имеет значение FALSE.
4.3.2 Функция msf_surface_check
Функцияmsf_surfaco_check проверяетэкземпляр объекта surface на допустимостьв контекстеобъекта
manifold_surface_shape_representation. Также проверяются все геометрические объекты, на которые
ссылается данный экземпляр объекта surface, такие какдругие объекты curve и surface.
Пример
—
Одним из ограничений, проверяемых данной функцией, является проверка, установлен ли
флаг самопересечения экземпляра объекта b_spline_surface на значение TRUE. FALSE или UNKNOWN;
допустимыми являют ся только значения FALSE и UNKNOWN.
При необходимости проверяемый экземпляр объекта исследуется рекурсивно. Это означает, что
если объект surface ссылается на другой объект surface как на базовую или порождающую поверхность,
то вновь вызывается функция msf_surface_check. Если имеется ссылка на объект curve, то вызывается
функция msf_curve_check. Рекурсивный процесс завершается натаких типах объектов, которые нессыла
ются на какие-либо объекты curve или surface.
Следующие типы поверхностей и ихподтипы относятся к области определения объекта manifold_surfa-
ce_shape_roprosentation и являются, таким образом, допустимыми входными аргументами данной функ
ции:
- b_spline_surface;
- elementary_surface;
- offset_surface;
- surface_replica
- swept_surface.
Два изэтихтипов объекта surface ссылаются на базовые или порождающие объекты surface. Объект
parent_surface из surface_replica и объект basis_surface из offset_surface должны быть одного из сле
дующих типов;
- b_spline_surface;
13