FUNCTION a3ms_validate_detected_difference_types

(* SCHEMA step_merged_ap_schema; *)
-- IN AP242
FUNCTION a3ms_validate_detected_difference_types
      (ei : data_equivalence_inspection_report;
       cr : a3m_equivalence_criterion_for_shape ) : LOGICAL;
   LOCAL
      deiir : data_equivalence_inspection_instance_report;
      eiriwei : equivalence_instance_report_item_with_notable_instances;
      addtn : a3ms_detected_difference_type_name;
   END_LOCAL;
      IF 'STEP_MERGED_AP_SCHEMA.DATA_EQUIVALENCE_INSPECTION_INSTANCE_REPORT' IN TYPEOF(ei) THEN
         deiir := ei;
         REPEAT i := 1 TO SIZEOF(deiir.inspected_instances);
            IF 'STEP_MERGED_AP_SCHEMA.EQUIVALENCE_INSTANCE_REPORT_ITEM_WITH_NOTABLE_INSTANCES' IN TYPEOF(deiir.inspected_instances[i]) THEN
               eiriwei := deiir.inspected_instances[i];
               REPEAT j := 1 TO SIZEOF(eiriwei.notable_instances);
                  IF 'STEP_MERGED_AP_SCHEMA.MISMATCH_OF_POINT_CLOUD_AND_RELATED_GEOMETRY' IN TYPEOF(cr) THEN
                     addtn := a3ms_get_detected_difference_type(eiriwei.notable_instances[j].comparing_elements);
                     IF a3ms_get_element_type(eiriwei.inspected_element.comparing_elements) = etns_connected_edge_set THEN
                        IF addtn <> ddns_point_on_curve THEN
                           RETURN (FALSE);
                        END_IF;
                     ELSE
                        IF a3ms_get_element_type(eiriwei.inspected_element.comparing_elements) = etns_connected_face_set THEN
                           IF addtn <> ddns_point_on_surface THEN
                              RETURN (FALSE);
                           END_IF;
                        ELSE
                           IF a3ms_get_element_type(eiriwei.inspected_element.comparing_elements) <> etns_external_representation_item THEN
                              RETURN (FALSE);
                           END_IF;
                        END_IF;
                     END_IF;
                     IF NOT (a3ms_get_detected_difference_type(eiriwei.notable_instances[j].compared_elements) IN cr.detected_difference_types) THEN
                        RETURN (FALSE);
                     END_IF;
                  ELSE
                     IF NOT (a3ms_get_detected_difference_type(eiriwei.notable_instances[j].comparing_elements) IN cr.detected_difference_types) THEN
                        RETURN (FALSE);
                     END_IF;
                     IF NOT (a3ms_get_detected_difference_type(eiriwei.notable_instances[j].compared_elements) IN cr.detected_difference_types) THEN
                        RETURN (FALSE);
                     END_IF;
                  END_IF;
               END_REPEAT;
            END_IF;
         END_REPEAT;
      END_IF;
      RETURN (FALSE);
END_FUNCTION;

Referenced By

Defintion a3ms_validate_detected_difference_types is references by the following definitions:
DefinitionType
 a3ms_equivalence_inspection_result ENTITY


[Top Level Definitions] [Exit]

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