FUNCTION validate_locations_of_extreme_value_type

(* SCHEMA step_merged_ap_schema; *)
-- IN AP242
FUNCTION validate_locations_of_extreme_value_type
      (ei : shape_data_quality_criterion;
       type_list : BAG OF STRING ) : LOGICAL;
   LOCAL
      sdqir : SET OF shape_data_quality_inspection_result := [];
      sdir : SET OF shape_data_quality_inspection_instance_report := [];
      sdei : SET OF instance_report_item_with_extreme_instances := [];
      t_type_list : BAG OF STRING := [];
   END_LOCAL;
      sdqir := QUERY (q <* bag_to_set(USEDIN(ei, 'STEP_MERGED_AP_SCHEMA.' + 'DATA_QUALITY_INSPECTION_RESULT.' + 'CRITERION_INSPECTED'))| 'STEP_MERGED_AP_SCHEMA.' + 'SHAPE_DATA_QUALITY_INSPECTION_RESULT' IN TYPEOF(q));
      IF SIZEOF(sdqir) = 0 THEN
         RETURN (TRUE);
      END_IF;
      REPEAT i := 1 TO SIZEOF(sdqir) BY 1;
         sdir := sdir + QUERY (q <* bag_to_set(USEDIN(sdqir[i], 'STEP_MERGED_AP_SCHEMA.' + 'DATA_QUALITY_INSPECTION_REPORT.' + 'INSPECTION_RESULT'))| ('STEP_MERGED_AP_SCHEMA.' + 'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT' IN TYPEOF(q)));
      END_REPEAT;
      REPEAT i := 1 TO SIZEOF(sdir) BY 1;
         sdei := sdei + QUERY (q <* sdir[i].inspected_instances| ('STEP_MERGED_AP_SCHEMA.' + 'INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES' IN TYPEOF(q)));
      END_REPEAT;
      IF SIZEOF(sdei) = 0 THEN
         RETURN (TRUE);
      END_IF;
      IF (SIZEOF(type_list) = 0) AND (SIZEOF(sdei) <> 0) THEN
         RETURN (FALSE);
      END_IF;
      REPEAT i := 1 TO SIZEOF(sdei) BY 1;
         REPEAT j := 1 TO SIZEOF(sdei[i].extreme_instances) BY 1;
            IF SIZEOF(sdei[i].extreme_instances[j].locations_of_extreme_value) <> SIZEOF(type_list) THEN
               RETURN (FALSE);
            END_IF;
            t_type_list := type_list;
            REPEAT k := 1 TO SIZEOF(sdei[i].extreme_instances[j].locations_of_extreme_value) BY 1;
               REPEAT l := 1 TO SIZEOF(t_type_list) BY 1;
                  IF t_type_list[l] IN TYPEOF(sdei[i].extreme_instances[j].locations_of_extreme_value[k]) THEN
                     t_type_list := t_type_list - t_type_list[l];
                     ESCAPE;
                  END_IF;
               END_REPEAT;
            END_REPEAT;
            IF SIZEOF(t_type_list) > 0 THEN
               RETURN (FALSE);
            END_IF;
         END_REPEAT;
      END_REPEAT;
      RETURN (TRUE);
END_FUNCTION;

Referenced By

Defintion validate_locations_of_extreme_value_type is references by the following definitions:
DefinitionType
 abrupt_change_of_surface_normal ENTITY
 curve_with_excessive_segments ENTITY
 curve_with_small_curvature_radius ENTITY
 disconnected_face_set ENTITY
 edge_with_excessive_segments ENTITY
 entirely_narrow_face ENTITY
 entirely_narrow_solid ENTITY
 entirely_narrow_surface ENTITY
 erroneous_b_spline_curve_definition ENTITY
 erroneous_b_spline_surface_definition ENTITY
 excessively_high_degree_curve ENTITY
 excessively_high_degree_surface ENTITY
 extreme_patch_width_variation ENTITY
 face_surface_with_excessive_patches_in_one_direction ENTITY
 free_edge ENTITY
 g1_discontinuity_between_adjacent_faces ENTITY
 g1_discontinuous_curve ENTITY
 g1_discontinuous_surface ENTITY
 g2_discontinuity_between_adjacent_faces ENTITY
 g2_discontinuous_curve ENTITY
 g2_discontinuous_surface ENTITY
 gap_between_adjacent_edges_in_loop ENTITY
 gap_between_edge_and_base_surface ENTITY
 gap_between_faces_related_to_an_edge ENTITY
 gap_between_pcurves_related_to_an_edge ENTITY
 gap_between_vertex_and_base_surface ENTITY
 gap_between_vertex_and_edge ENTITY
 high_degree_axi_symmetric_surface ENTITY
 high_degree_conic ENTITY
 high_degree_linear_curve ENTITY
 high_degree_planar_surface ENTITY
 inconsistent_adjacent_face_normals ENTITY
 inconsistent_curve_transition_code ENTITY
 inconsistent_edge_and_curve_directions ENTITY
 inconsistent_face_and_closed_shell_normals ENTITY
 inconsistent_face_and_surface_normals ENTITY
 inconsistent_surface_transition_code ENTITY
 indistinct_curve_knots ENTITY
 indistinct_surface_knots ENTITY
 intersecting_connected_face_sets ENTITY
 intersecting_loops_in_face ENTITY
 intersecting_shells_in_solid ENTITY
 multiply_defined_cartesian_points ENTITY
 multiply_defined_curves ENTITY
 multiply_defined_directions ENTITY
 multiply_defined_edges ENTITY
 multiply_defined_faces ENTITY
 multiply_defined_placements ENTITY
 multiply_defined_solids ENTITY
 multiply_defined_surfaces ENTITY
 multiply_defined_vertices ENTITY
 narrow_surface_patch ENTITY
 nearly_degenerate_surface_boundary ENTITY
 nearly_degenerate_surface_patch ENTITY
 non_manifold_at_edge ENTITY
 non_manifold_at_vertex ENTITY
 open_closed_shell ENTITY
 open_edge_loop ENTITY
 over_used_vertex ENTITY
 partly_overlapping_curves ENTITY
 partly_overlapping_edges ENTITY
 partly_overlapping_faces ENTITY
 partly_overlapping_solids ENTITY
 partly_overlapping_surfaces ENTITY
 self_intersecting_curve ENTITY
 self_intersecting_loop ENTITY
 self_intersecting_shell ENTITY
 self_intersecting_surface ENTITY
 short_length_curve ENTITY
 short_length_curve_segment ENTITY
 short_length_edge ENTITY
 small_area_face ENTITY
 small_area_surface ENTITY
 small_area_surface_patch ENTITY
 small_volume_solid ENTITY
 solid_with_excessive_number_of_voids ENTITY
 solid_with_wrong_number_of_voids ENTITY
 steep_angle_between_adjacent_edges ENTITY
 steep_angle_between_adjacent_faces ENTITY
 surface_with_excessive_patches_in_one_direction ENTITY
 surface_with_small_curvature_radius ENTITY
 unused_patches ENTITY
 wrongly_oriented_void ENTITY
 wrongly_placed_loop ENTITY
 wrongly_placed_void ENTITY
 zero_surface_normal ENTITY


[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2017-01-19T11:17:24-05:00