FUNCTION a3ms_get_detected_difference_type

(* SCHEMA step_merged_ap_schema; *)
-- IN AP242
FUNCTION a3ms_get_detected_difference_type
      (ei : LIST [0:?] OF equivalence_detected_difference_select ) : a3ms_detected_difference_type_name;
   LOCAL
      type_out : SET OF STRING;
      sizeei : INTEGER;
   END_LOCAL;
      sizeei := SIZEOF(ei);
      IF sizeei = 0 THEN
         RETURN (ddns_no_element);
      ELSE
         type_out := TYPEOF(ei[1]);
         REPEAT i := 2 TO sizeei;
            IF TYPEOF(ei[i]) <> type_out THEN
               RETURN (ddns_others);
            END_IF;
         END_REPEAT;
         IF 'STEP_MERGED_AP_SCHEMA.AREA_MEASURE' IN type_out THEN
            IF sizeei = 1 THEN
               RETURN (ddns_area_measure);
            ELSE
               RETURN (ddns_others);
            END_IF;
         END_IF;
         IF 'STEP_MERGED_AP_SCHEMA.CARTESIAN_POINT' IN type_out THEN
            IF sizeei = 1 THEN
               RETURN (ddns_cartesian_point);
            ELSE
               IF sizeei = 2 THEN
                  RETURN (ddns_two_cartesian_points);
               ELSE
                  RETURN (ddns_others);
               END_IF;
            END_IF;
         END_IF;
         IF 'STEP_MERGED_AP_SCHEMA.CONNECTED_FACE_SET' IN type_out THEN
            IF sizeei = 1 THEN
               RETURN (ddns_connected_face_set);
            ELSE
               RETURN (ddns_others);
            END_IF;
         END_IF;
         IF 'STEP_MERGED_AP_SCHEMA.COUNT_MEASURE' IN type_out THEN
            IF sizeei = 1 THEN
               RETURN (ddns_count_measure);
            ELSE
               IF sizeei = 2 THEN
                  RETURN (ddns_two_count_measure);
               ELSE
                  IF sizeei = 3 THEN
                     RETURN (ddns_three_count_measure);
                  ELSE
                     IF sizeei = 4 THEN
                        RETURN (ddns_four_count_measure);
                     ELSE
                        IF sizeei = 5 THEN
                           RETURN (ddns_five_count_measure);
                        ELSE
                           RETURN (ddns_others);
                        END_IF;
                     END_IF;
                  END_IF;
               END_IF;
            END_IF;
         END_IF;
         IF 'STEP_MERGED_AP_SCHEMA.EDGE' IN type_out THEN
            IF sizeei = 1 THEN
               RETURN (ddns_edge);
            ELSE
               RETURN (ddns_several_edges);
            END_IF;
         END_IF;
         IF 'STEP_MERGED_AP_SCHEMA.FACE' IN type_out THEN
            IF sizeei = 1 THEN
               RETURN (ddns_face);
            ELSE
               RETURN (ddns_several_faces);
            END_IF;
         END_IF;
         IF 'STEP_MERGED_AP_SCHEMA.LENGTH_MEASURE' IN type_out THEN
            IF sizeei = 1 THEN
               RETURN (ddns_length_measure);
            ELSE
               RETURN (ddns_others);
            END_IF;
         END_IF;
         IF 'STEP_MERGED_AP_SCHEMA.POINT_ON_CURVE' IN type_out THEN
            IF sizeei = 1 THEN
               RETURN (ddns_point_on_curve);
            ELSE
               RETURN (ddns_others);
            END_IF;
         END_IF;
         IF 'STEP_MERGED_AP_SCHEMA.POINT_ON_SURFACE' IN type_out THEN
            IF sizeei = 1 THEN
               RETURN (ddns_point_on_surface);
            ELSE
               RETURN (ddns_others);
            END_IF;
         END_IF;
         IF 'STEP_MERGED_AP_SCHEMA.VOLUME_MEASURE' IN type_out THEN
            IF sizeei = 1 THEN
               RETURN (ddns_volume_measure);
            ELSE
               RETURN (ddns_others);
            END_IF;
         END_IF;
      END_IF;
      RETURN (ddns_others);
END_FUNCTION;

Referenced By

Defintion a3ms_get_detected_difference_type is references by the following definitions:
DefinitionType
 a3ms_validate_detected_difference_types FUNCTION


[Top Level Definitions] [Exit]

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