FUNCTION valid_2d_wireframe_edge_curve
(crv : curve, schma : STRING) : BOOLEAN;
IF SIZEOF ([schma + '.LINE', schma + '.B_SPLINE_CURVE', schma + '.CIRCLE', schma + '.HYPERBOLA', schma + '.ELLIPSE', schma + '.PARABOLA', schma + '.POLYLINE'] * TYPEOF (crv)) = 1 THEN RETURN (TRUE); ELSE -- recursively check FOR valid basic curves FOR curve_replicas IF (schma + '.CURVE_REPLICA') IN TYPEOF (crv) THEN RETURN (valid_2d_wireframe_edge_curve (crv\curve_replica.parent_curve, schma)); -- recursively check FOR valid basis curves FOR offset_curves ELSE IF (schma + '.OFFSET_CURVE_2D') IN TYPEOF (crv) THEN RETURN (valid_2d_wireframe_edge_curve (crv\offset_curve_2d.basis_curve, schma)); END_IF; END_IF; END_IF; RETURN (FALSE); END_FUNCTION; -- valid_2d_wireframe_edge_curve
|