|
FUNCTION valid_geometrically_bounded_wf_curve (crv : curve) : BOOLEAN; IF SIZEOF ( [ 'aic_geometrically_bounded_wireframe.polyline' , 'aic_geometrically_bounded_wireframe.b_spline_curve' , 'aic_geometrically_bounded_wireframe.ellipse' , 'aic_geometrically_bounded_wireframe.circle' ] * TYPEOF ( crv ) ) = 1 THEN RETURN ( TRUE ) ; ELSE IF 'aic_geometrically_bounded_wireframe.trimmed_curve' IN TYPEOF ( crv ) THEN IF SIZEOF ( [ 'aic_geometrically_bounded_wireframe.line' , 'aic_geometrically_bounded_wireframe.parabola' , 'aic_geometrically_bounded_wireframe.hyperbola' ] * TYPEOF ( crv \ trimmed_curve . basis_curve ) ) = 1 THEN RETURN ( TRUE ) ; ELSE RETURN ( valid_geometrically_bounded_wf_curve ( crv \ trimmed_curve . basis_curve ) ) ; END_IF ; ELSE IF 'aic_geometrically_bounded_wireframe.offset_curve_3d' IN TYPEOF ( crv ) THEN RETURN ( valid_geometrically_bounded_wf_curve ( crv \ offset_curve_3d . basis_curve ) ) ; ELSE IF 'aic_geometrically_bounded_wireframe.curve_replica' IN TYPEOF ( crv ) THEN RETURN ( valid_geometrically_bounded_wf_curve ( crv \ curve_replica . parent_curve ) ) ; ELSE IF 'aic_geometrically_bounded_wireframe.composite_curve' IN TYPEOF ( crv ) THEN RETURN ( SIZEOF ( QUERY ( ccs <* crv \ composite_curve . segments | NOT valid_geometrically_bounded_wf_curve ( ccs . parent_curve ) ) ) = 0 ) ; END_IF ; END_IF ; END_IF ; END_IF ; END_IF ; RETURN ( FALSE ) ; END_FUNCTION; -- valid_geometrically_bounded_wf_curve |
|
public class FValid_geometrically_bounded_wf_curve public static Value run(SdaiContext _context, Value crv) |