FUNCTION gbsf_check_point
(pnt : point) : BOOLEAN;
IF 'AIC_GEOMETRICALLY_BOUNDED_SURFACE.CARTESIAN_POINT' IN TYPEOF(pnt) THEN RETURN (TRUE); ELSE IF 'AIC_GEOMETRICALLY_BOUNDED_SURFACE.POINT_ON_CURVE' IN TYPEOF(pnt) THEN RETURN (gbsf_check_curve(pnt\point_on_curve.basis_curve)); ELSE IF 'AIC_GEOMETRICALLY_BOUNDED_SURFACE.POINT_ON_SURFACE' IN TYPEOF(pnt) THEN RETURN (gbsf_check_surface(pnt\point_on_surface.basis_surface)); ELSE IF 'AIC_GEOMETRICALLY_BOUNDED_SURFACE.DEGENERATE_PCURVE' IN TYPEOF(pnt) THEN RETURN ((gbsf_check_curve(pnt\degenerate_pcurve.reference_to_curve\representation.items[1])) AND (gbsf_check_surface(pnt\degenerate_pcurve.basis_surface))); END_IF; END_IF; END_IF; END_IF; RETURN (FALSE); END_FUNCTION; -- gbsf_check_point
|