ГОСТ РИСО 10303-508— 2009
4.3 Определение функций схемы aic_non_manifold_surface
В данном разделе описаны функции, необходимые для формулировки ограничений для схемы
aic_non_manifold_surface. Данные функции используются при конкретизации объекта
non_manifold_surface_shape_representation.
4.3.1 Функция nmsf_curve_check
Функция nmsf_curve_check проверяет экземпляр объекта curve на допустимость в контексте
non_manifold_surface_shape_representation. Также проверяются все геометрические объекты, на кото
рые ссылается данный экземпляробъекта curve, такие какдругие объекты curve иsurface.
Пример
—
Одним из ограничений, проверяемых данной функцией, являет ся проверка, уст анов
лен ли флаг самопересечения экземпляра объекта b_spline_curve на значение TRUE, FALSE или
UNKNOWN; допуст имыми являю т ся т олько значения FALSE и UNKNOWN.
При необходимости проверяемый экземпляр исследуется рекурсивно. Это означает, чтоеслиобъект
curve ссылается надругой объект curve как на базовую или порождающую кривую, то вновь вызывается
функция nmsf_curve_check. Если имеется ссылка на объект surface, то вызывается функция
nmsf_surface_check. Рекурсивный процессзавершается на таких типах объектов, которые нессылаются
на какие-либообъекты curve илиsurface.
Следующие типы кривых и их подтипы относятся к области определения объекта
non_manifold_surface_shape_representation и являются, таким образом, допустимыми входными аргу
ментами данной функции:
- b_spline_curve;
-conic;
- curve_replica;
- line;
- offset_curve_3d;
- pcurve;
- polyline;
- surface_curve.
Четыре изуказанныхтиповобъекта curve ссыпаются набазовые или порождающие объекты curve.
В приведенном ниже списке указаны допустимые ссылки.
П р и м е ч а н и е — Данная функция применяется рекурсивно к типам объектов, помеченных соответству
ющим образом в приведенных ниже списках, чтобы проверить их ссылки на допустимые реализации.
Объект parent_curve из curve_replica должен бытьодного из следующих типов:
- b_splino_curve;
-conic;
- curve_replica (рекурсивно);
- line;
- offset_curvo_3d (рекурсивно);
- pcurve (рекурсивно);
- polyline;
- surface_curve (рекурсивно).
Объект basis_curve из offset_curve_3d должен бытьодногоизследующихтипов:
- b_spline_curve;
-conic;
- curve_replica (рекурсивно);
- lino;
- offset_curve_3d (рекурсивно);
- pcurve (рекурсивно);
- surface_curve (рекурсивно).
Один экземпляр в множестве элементов item из definitional_representation. на который ссылается
объект p_curve через reforence_to_curve. должен бытьодного из следующихтипов:
- b_spline_curve;
-conic;
- curve_replica (рекурсивно);
11