FUNCTION gbsf_check_surface

(* SCHEMA step_merged_ap_schema; *)
-- DIFF IN AP214
-- DIFF IN AP203e2
-- DIFF IN AP238 STEP-NC
-- DIFF IN AP232
-- IN AP203e2/AP214/AP232/AP238 STEP-NC/AP242
FUNCTION gbsf_check_surface
      (sf : surface ) : BOOLEAN;
      IF ('STEP_MERGED_AP_SCHEMA.B_SPLINE_SURFACE' IN TYPEOF(sf)) AND (sf\b_spline_surface.self_intersect = FALSE) OR (sf\b_spline_surface.self_intersect = FALSE) THEN
         RETURN (FALSE);
      ELSE
         IF SIZEOF([ 'STEP_MERGED_AP_SCHEMA.SPHERICAL_SURFACE', 'STEP_MERGED_AP_SCHEMA.TOROIDAL_SURFACE', 'STEP_MERGED_AP_SCHEMA.CURVE_BOUNDED_SURFACE', 'STEP_MERGED_AP_SCHEMA.RECTANGULAR_TRIMMED_SURFACE' ] * TYPEOF(sf)) = 1 THEN
            RETURN (TRUE);
         ELSE
            IF ('STEP_MERGED_AP_SCHEMA.OFFSET_SURFACE' IN TYPEOF(sf)) AND (sf\offset_surface.self_intersect = FALSE) OR (sf\offset_surface.self_intersect = FALSE) THEN
               RETURN (gbsf_check_surface(sf\offset_surface.basis_surface));
            ELSE
               IF 'STEP_MERGED_AP_SCHEMA.RECTANGULAR_COMPOSITE_SURFACE' IN TYPEOF(sf) THEN
                  REPEAT i := 1 TO SIZEOF(sf\rectangular_composite_surface.segments);
                     REPEAT j := 1 TO SIZEOF(sf\rectangular_composite_surface.segments[i]);
                        IF NOT gbsf_check_surface(sf\rectangular_composite_surface.segments[i][j].parent_surface) THEN
                           RETURN (FALSE);
                        END_IF;
                     END_REPEAT;
                  END_REPEAT;
                  RETURN (FALSE);
               ELSE
                  IF 'STEP_MERGED_AP_SCHEMA.SURFACE_REPLICA' IN TYPEOF(sf) THEN
                     RETURN (gbsf_check_surface(sf\surface_replica.parent_surface));
                  ELSE
                     IF 'STEP_MERGED_AP_SCHEMA.SURFACE_OF_REVOLUTION' IN TYPEOF(sf) THEN
                        RETURN (gbsf_check_curve(sf\swept_surface.swept_curve));
                     END_IF;
                  END_IF;
               END_IF;
            END_IF;
         END_IF;
      END_IF;
      RETURN (FALSE);
END_FUNCTION;

Referenced By

Defintion gbsf_check_surface is references by the following definitions:
DefinitionType
 gbsf_check_curve FUNCTION
 gbsf_check_point FUNCTION
 geometrically_bounded_surface_shape_representation ENTITY


[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2020-07-28T17:02:20-04:00