(* SCHEMA step_merged_ap_schema; *)
-- IN AP242
FUNCTION validate_accuracy_types
(ei : shape_data_quality_criterion;
type_list : BAG OF STRING ) : LOGICAL;
LOCAL
sdqca : BAG OF shape_data_quality_criterion_and_accuracy_association := [];
sma : BAG OF shape_measurement_accuracy := [];
sdqir : SET OF shape_data_quality_inspection_result := [];
scraa : BAG OF shape_inspection_result_accuracy_association := [];
t_logic : BOOLEAN;
END_LOCAL;
sdqca := USEDIN(ei, 'STEP_MERGED_AP_SCHEMA.SHAPE_DATA_QUALITY_CRITERION_AND_ACCURACY_ASSOCIATION.SHAPE_DATA_QUALITY_CRITERION');
IF SIZEOF(sdqca) <> 0 THEN
REPEAT i := 1 TO SIZEOF(sdqca);
sma := sma + sdqca[i].required_specific_accuracy;
END_REPEAT;
IF SIZEOF(type_list) < SIZEOF(sma) THEN
RETURN (FALSE);
END_IF;
REPEAT i := 1 TO SIZEOF(sma);
t_logic := FALSE;
REPEAT j := 1 TO SIZEOF(type_list);
IF type_list[j] IN value_limit_type(sma[i].range) THEN
t_logic := TRUE;
ESCAPE;
END_IF;
END_REPEAT;
IF NOT t_logic THEN
RETURN (FALSE);
END_IF;
END_REPEAT;
END_IF;
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);
scraa := USEDIN(sdqir[i], 'STEP_MERGED_AP_SCHEMA.SHAPE_INSPECTION_RESULT_ACCURACY_ASSOCIATION.SHAPE_DATA_QUALITY_RESULT');
IF SIZEOF(scraa) <> 0 THEN
sma := [];
REPEAT j := 1 TO SIZEOF(scraa);
sma := sma + scraa[j].applied_specific_accuracy;
END_REPEAT;
IF SIZEOF(type_list) < SIZEOF(sma) THEN
RETURN (FALSE);
END_IF;
REPEAT j := 1 TO SIZEOF(sma);
t_logic := FALSE;
REPEAT k := 1 TO SIZEOF(type_list);
IF type_list[k] IN value_limit_type(sma[j].range) THEN
t_logic := TRUE;
ESCAPE;
END_IF;
END_REPEAT;
IF NOT t_logic THEN
RETURN (FALSE);
END_IF;
END_REPEAT;
END_IF;
END_REPEAT;
RETURN (TRUE);
END_FUNCTION;
Generated by STEP Tools® EXPRESS to HTML Converter
2025-09-04T17:14:54-04:00