ГОСТ Р ИСО 10303-503—2006
’ AIC_GEOMETRICALLY_BOUNDED_2D_WIREFRAME.CIRCLE •]*
TYPEOF (crv)) = 1
THEN RETURN (TRUE);
ELSE
- если кривая имеет типtrimmed_curve
IF ((•AIC_GEOMETRICALLY_BOUNDED_2D_WIREFRAME.TRIMMED_CURVE ’)
IN TYPEOF (crv)) THEN
- если линия, парабола или гипербола является обрезанной, то допустима
IF SIZEOF ([ -AIC_GEOMETRICALLY_BOUNDED_2D_WIREFRAME.LINE\
’AIC_GEOMETRICALLY_BOUNDED_2D_WIREFRAME.PARABOLA’,
’AlC_GEOMETRICALLY_BOUNDED_2D_WIREFRAME.HYPERBOLA’]*
TYPEOF{crv\trimmed_curve.basis_curve)) = 1
THEN RETURN (TRUE)
- в противном случае рекурсивная проверкаобъекта basis_curve
ELSE RETURN (valid_basis_curve_in_2d_wireframe
(crv\ trimmed_curve.basis_curve));
END_IF;
ELSE
-- рекурсивная проверка базовой кривой объекта offset_curve
IF ((’AIC_GEOMETRICALLY_BOUNDED_2D_WIREFRAME.OFFSET CURVE_2D’)
INTYPEOF (crv))
THEN RETURN (valid_basis_curvejn_2d_wireframe
(crv\ offset_curve_2d.basis_curve)),
ELSE
- рекурсивная проверка порождающей кривой объекта curve_replica
IF ((’AIC_GEOMETRICALLY_BOUNDED_2D_WIREFRAME.CURVE_REPLICA’)
IN TYPEOF (crv))
THEN RETURN (valid_basis_curve_in_2d_wireframe
(crv\ curve_replica.parent_curve));
ELSE
- рекурсивная проверка сегментовобъекта composite_curve
IF ((’AIC_GEOMETRICALLY_BOUNDED_2D_WIREFRAME.COMPOSITE_CURVE’)
IN TYPEOF (crv)) THEN
RETURN (SIZEOF (QUERY (ccs <* crv \composite_curve.segments |
NOT(valid_basis_curve_in_2d_wireframe
(ccs.parent_curve))))= 0);
END IF;
END_IF;
END IF;
END IF;
END IF;
RETURN (FALSE);
END_FUNCTION.
Определения аргумента
crv — заданная кривая, котораядолжна быть проверена.
- aic_geometrically_bounded_2d_wireframe
#)
END_SCHEMA;
(*
6