ГОСТ Р ИСО 10303-508— 2009
ENDJF;
ELSE
(* объект polylineдолжен содержать, по крайней мере, три объекта point
‘)
IF’AIC_NON_MANIFOLD_SURFACE.POLYLINE’ INTYPEOF(cv)THEN
IF (SIZEOF (cv\poly1ine.po<nts)>= 3) THEN RETURN (TRUE);
ENDJF;
END_IF;
ENDJF;
ENDJF;
ENDJF;
ENDJF;
ENDJF;
END IF;
ENDJF;
(* значение FALSE возвращается, если аргумент cv не является допустимым объектом curve.
•)
RETURN (FALSE);
END_FUNOTION;
r
Определения аргументов
cv (входной параметр)— объект representationjtem. который, по предположению, является объек
томcurve, проверяемыйна допустимость вконтекстеобъекта non_manifold_surface_shape_representation.
BOOLEAN (выходной параметр)— имеет значениеTRUE, если объект representationjtem является
допустимым объектом curve; в противном случае имеет значение FALSE.
4.3.2 Функция nmsf_surface_check
Функция nmsf_surface_check проверяет экземпляр объекта surface на допустимость в контексте
объекта non-manifold_surfaco_shape_representation. Также проверяются все геометрические объекты,
на которыессылаетсяданный экземпляр объекта surface, например, другие объекты curve иsurface.
Пример
—
Одним из ограничений, проверяемых данной функцией, являет ся проверка, установлен
ли флаг самопересечения экземпляра объекта b_spUne_surface на значение TRUE, FALSE или UNKNOWN;
допуст имыми являют ся т олько значения FALSE и UNKNOWN.
При необходимости проверяемый экземпляр исследуется рекурсивно. Это означает, чтоесли объект
surface ссылается на другой объект surface как на базовую или порождающую поверхность, то вновь
вызывается функция nmsf_surface_check. Если имеетсяссылка наобъект curve, товызывается функция
nmsf_curve_check. Рекурсивный процесс завершается натакихтипахобъектов, которые не ссылаются на
какие-либо объекты curve или surface.
Следующие типы поверхностей и их подтипы относятся к области определения объекта
non_manifold_surface_shape_ropresentation и являются, таким образом, допустимыми входными аргу
ментами данной функции:
-b_spline_surface;
- elementary_surface;
-offset_surface;
-surface_replica;
- swept_surface.
Два изэтихтипов объекта surface ссылаются на базовые илипорождающие объекты surface. Объект
parent_surface из surface_replica и объект basis_surface изoffset_surface должны бытьодного из следу
ющих типов:
-b_spline_surface;
- elementary_surface;
- offset_surface (рекурсивно);
-surface_replica (рекурсивно);
-swept_surface.
П р и м е ч а н и е — Данная функция применяется рекурсивно к типам объектов, помеченных соответству
ющим образом в приведенном выше списке, чтобы проверить их ссылки на допустимые реализации.
14