ГОСТ Р ИСО 10303-503—2006
IN TYPEOF (elem))) |
NOT (SIZEOF (pi \ polyline.points)>2)
))=0)
))=0;
END_ENTITY;
r
Формальные утверждения
WR1 — знамение параметра coordinate_space_dlmonsion объекта geometricallyJ)ounded_2d_-
wireframe_representation должно быть равнодвум.
WR2 — элементами в объекте geomotrically_bounded_2d_wireframe_representation должны
быть geometric_curve_sot. axis2_placemont_2d или mappedJtem.
WR3 — среди элементов объекта geometrically_bounded_2d_wireframe_reprosentation должен
быть, по крайней мере, один объект mappedJtem или один объект geometrlc_curve_sot.
WR4 — если в объекте geometricallyJ>ounded_2d_wireframe_ropresentation имеется объект
mappedJtem. то источником объекта mappedJtem должен бытьобъект geometricallyJ)ounded_2d_-
wireframe_represontation.
WR5 — каждый элемент в объекте geometric_curve_set должен иметь тип либо b_spline_curve,
либо circle, либо composite_curve. либо ellipse, либо offset_curve_2d. либо point, либо polyline, либо
trimmed_curve.
WR6 — каждый объект offset_curve в объекте geometric_curve_set. принадлежащем объекту
geometrically_bounded_2d_wireframe_representation. должен иметьбазовую кривую, относящуюся к
типу polyline. b_spline_curve. ellipse или circle. Каждый объект curve_replica в объекте
geometric_curve_set. принадлежащем объекту geometricallyJjoundedJ2d_wireframe_representatlon,
должен иметь порождающую кривую, относящуюся к типу polyline. b_spline_curve. ellipse или circle.
Каждый объект composite_curve в объекте geometric_curvo_set. принадлежащем объекту
geometrically_bounded_2d_wireframe_representation. должен иметь сегменты, относящиеся к типу
polyline.b_spline_curve.ellipseили circle.Каждый объектtrimmed_curveв объекте
geometric_curve_set. принадлежащем объекту geometricallyJ>oundodJ2d_wireframe_representation.
должен иметь базовую кривую, относящуюся к типу polyline. b_spline_curve. ellipse, circle,
line, parabola или hyperbola.
WR7 — каждая точка в элементах объекта geometric_curve_set. принадлежащего объекту
geometrically_boundod_2d_wireframe_representation. должна быть либо cartesian_point. либо
point_on_curve.
WR8 — каждая полилиния в элементах объекта geometric_curve_set. принадлежащего объекту
geometrically_boundod_2d_wireframe_representation. должна содержать более двух различных
точек.
4.4Определение функции valid_basis_curvejn_2d_wireframe схемы aic_goometrically_boun-
ded_2d _wireframo
Функция validJ)asis_curveJn_2d_wireframe проверяет, действительно ли заданная аргументом
кривая является допустимой для использования в качестве базы для другой кривой в представлении
формы, определенной двумерным геометрически ограниченным каркасом. Это связано с корректным
использованием ограниченных кривых в качестве базовых кривых для объектов offset_curve,
curve_repllca иcomposite_curve. Если используетсянеограниченная кривая типа параболы или гипер
болы. тоонадолжна бытьобрезана. Посвоей структуреэтафункция рекурсивнадлятого, чтобы обеспе
чить проверку на нужное количество уровней.
EXPRESS спецификация
*)
FUNCTION valid_basis_curve_in_2d_wirefгаme
(crv: curve): BOOLEAN;
- проверка надопустимостьтиповбазовой кривой
IF SIZEOF ((’AIC_GEOMETRICALLY_BOUNDED_2D_WIREFRAME.POLYLINE’,
•AIC_GEOMETRICALLY_BOUNDED_2D_WIREFRAME.B SPLINE_CURVE’,
•AIC_GEOMETRICALLY_BOUNDED 2D WIREFRAME.ELLIPSE
5