ГОСТ Р ИС0 10303-507—2009
Перечисленные ниже типы точек иих подтипы принадлежат кобласти определения объекта geomet-
rically_bounded_surfaco_shape_representation и являются допустимыми входными аргументами для
данной функции:
- cartesian_polnt;
- degenerate_p_curve:
- point_on_curve;
- point_on_surface.
Последние три объекта из этого списка ссылаются наобъекты curve, surface или на те и надругие.
Объектbasis_surfaceобъекта dogenerate_p_curve можетбыть любымиздопустимых объектов surface
в объекте goomotrically_bounded_surface_shape_represontation. Объект reforence_to_curve объекта
degenerate_p_curve должен быть одного из следующих типов:
- b_spline_curve:
- composite_curve (рекурсивно);
- conic;
- curve_replica (рекурсивно);
* line;
- polyline;
- trimmodcurve (рекурсивно).
П р и м е ч а н и е — Данная функция применяется рекурсивно к помеченным типам обьектов из данного
списка, чтобы проверить их ссылки на обьекты на допустимость реализации.
Объект basis_curve объекта point_on_curve может быть любым из допустимых объектов curve в
объекте geometrically_bounded_surface_shape_representation.
Объектbasis_surface объекта point_on_surface может быть любым издопустимых объектов surface
в объекте geometrically_bounded_surface_shape_representation.
Данная функция возвращает результат TRUE, если типы всех ссылочных геометрических объектов
принадлежат к области определения объекта geometrically_bounded_surface_shape_representation, в
противном случае функция возвращает результат FALSE.
П р и м е ч а н и е — Данная функция не проверяет корректность ссылок относительно ИСО 10303-42.
Проверяются только дополнительные требования, обусловленные областью определения объекта geometri-
cally_bounded_surface_shape_representation.
EXPRESS-слецификация:
*)
FUNCTION gbsf_check_point (pnt: point): BOOLEAN;
(* Данная функция проверяет допустимостьточки в контексте модели геометрически ограниченной по
верхности.
*)
(*объект cartesian_point является допустимым
*)
IF ’AIC_GEOMETRICALLY_BOUNDED_SURFACE.CARTESIAN_POINT’
IN TYPEOF (pnt) THEN RETURN (TRUE);
ELSE
(*объект point_on_curve должен ссылаться надопустимую кривую
‘)
IF ’AIC_GEOMETRICALLY_BOUNDED_SURFACE.POINT_ON_CURVE’
INTYPEOF (pnt) THEN RETURN
(gbsf_cbeck_curve(pnt\point_on_curve.basis_curve));
ELSE
(*объект point_on_surface долженссылаться на допустимую поверхность
*)
IF ’AJC_GEOMETRICALLY_BOUNDED_SURFACE.POINT_ON_SURFACE’
IN TYPEOF (pnt) THEN RETURN (gbsf_check_surface
(pnt\point_on surface.basis_surface));
ELSE
8