FUNCTION gbsf_check_surface

(* SCHEMA process_planning_schema; *)
  FUNCTION gbsf_check_surface(
               sf: surface
      ): BOOLEAN;
    IF (('PROCESS_PLANNING_SCHEMA.B_SPLINE_SURFACE' IN TYPEOF(sf)) AND (sf
        \b_spline_surface.self_intersect = FALSE)) OR (sf\b_spline_surface.
        self_intersect = UNKNOWN) THEN
      RETURN(TRUE);
    ELSE
      IF SIZEOF(['PROCESS_PLANNING_SCHEMA.SPHERICAL_SURFACE',
          'PROCESS_PLANNING_SCHEMA.TOROIDAL_SURFACE',
          'PROCESS_PLANNING_SCHEMA.CURVE_BOUNDED_SURFACE',
          'PROCESS_PLANNING_SCHEMA.RECTANGULAR_TRIMMED_SURFACE'] * TYPEOF(
          sf)) = 1 THEN
        RETURN(TRUE);
      ELSE
        IF (('PROCESS_PLANNING_SCHEMA.OFFSET_SURFACE' IN TYPEOF(sf)) AND (
            sf\offset_surface.self_intersect = FALSE)) OR (sf\
            offset_surface.self_intersect = UNKNOWN) THEN
          RETURN(gbsf_check_surface(sf\offset_surface.basis_surface));
        ELSE
          IF 'PROCESS_PLANNING_SCHEMA.RECTANGULAR_COMPOSITE_SURFACE' IN 
              TYPEOF(sf) THEN
            REPEAT i := 1 TO SIZEOF(sf\rectangular_composite_surface.
                segments) BY 1;
              REPEAT j := 1 TO SIZEOF(sf\rectangular_composite_surface.
                  segments[i]) BY 1;
                IF NOT gbsf_check_surface(sf\rectangular_composite_surface
                    .segments[i][j].parent_surface) THEN
                  RETURN(FALSE);
                END_IF;
              END_REPEAT;
            END_REPEAT;
            RETURN(TRUE);
          ELSE
            IF 'PROCESS_PLANNING_SCHEMA.SURFACE_REPLICA' IN TYPEOF(sf)
                 THEN
              RETURN(gbsf_check_surface(sf\surface_replica.parent_surface));
            ELSE
              IF 'PROCESS_PLANNING_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; -- gbsf_check_surface

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
2012-03-27T17:19:47-04:00