|
FUNCTION msf_surface_check (surf : surface) : BOOLEAN; IF 'aic_manifold_surface.elementary_surface' IN TYPEOF ( surf ) THEN RETURN ( TRUE ) ; ELSE IF 'aic_manifold_surface.swept_surface' IN TYPEOF ( surf ) THEN RETURN ( msf_curve_check ( surf \ swept_surface . swept_curve ) ) ; ELSE IF ( ( 'aic_manifold_surface.offset_surface' IN TYPEOF ( surf ) ) AND ( surf \ offset_surface . self_intersect = FALSE ) OR ( surf \ offset_surface . self_intersect = UNKNOWN ) ) THEN RETURN ( msf_surface_check ( surf \ offset_surface . basis_surface ) ) ; ELSE IF 'aic_manifold_surface.surface_replica' IN TYPEOF ( surf ) THEN RETURN ( msf_surface_check ( surf \ surface_replica . parent_surface ) ) ; ELSE IF ( ( 'aic_manifold_surface.b_spline_surface' IN TYPEOF ( surf ) ) AND ( surf \ b_spline_surface . self_intersect = FALSE ) OR ( surf \ b_spline_surface . self_intersect = UNKNOWN ) ) THEN RETURN ( TRUE ) ; END_IF ; END_IF ; END_IF ; END_IF ; END_IF ; RETURN ( FALSE ) ; END_FUNCTION; -- msf_surface_check |
|
public class FMsf_surface_check public static Value run(SdaiContext _context, Value surf) |