|
FUNCTION valid_basis_curve_in_2d_wireframe (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' , 'aic_geometrically_bounded_2d_wireframe.circle' ] * TYPEOF ( crv ) ) = 1 THEN RETURN ( TRUE ) ; ELSE 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' , 'aic_geometrically_bounded_2d_wireframe.hyperbola' ] * TYPEOF ( crv \ trimmed_curve . basis_curve ) ) = 1 THEN RETURN ( TRUE ) ; ELSE RETURN ( valid_basis_curve_in_2d_wireframe ( crv \ trimmed_curve . basis_curve ) ) ; END_IF ; ELSE IF ( ( 'aic_geometrically_bounded_2d_wireframe.offset_curve_2d' ) IN TYPEOF ( crv ) ) THEN RETURN ( valid_basis_curve_in_2d_wireframe ( crv \ offset_curve_2d . basis_curve ) ) ; ELSE 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 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; -- valid_basis_curve_in_2d_wireframe |
|
public class FValid_basis_curve_in_2d_wireframe public static Value run(SdaiContext _context, Value crv) |