(* SCHEMA step_merged_ap_schema; *)
-- IN AP214 FUNCTION frame_associated_to_background (frame : rigid_placement; background : kinematic_frame_background ) : BOOLEAN; LOCAL rep_bag : BAG OF kinematic_frame_background_representation; trf_bag : BAG OF kinematic_frame_based_transformation; trm_bag : BAG OF kinematic_frame_based_transformation; ass_bag : BAG OF kinematic_frame_background_representation_association; rep : kinematic_frame_background_representation; ass : kinematic_frame_background_representation_association; END_LOCAL; rep_bag := QUERY (bg <* USEDIN(background, 'STEP_MERGED_AP_SCHEMA.REPRESENTATION.ITEMS')| 'STEP_MERGED_AP_SCHEMA.' + 'KINEMATIC_FRAME_BACKGROUND_REPRESENTATION' IN TYPEOF(bg)); IF SIZEOF(rep_bag) = 0 THEN RETURN (FALSE); END_IF; trf_bag := USEDIN(frame, 'STEP_MERGED_AP_SCHEMA.KINEMATIC_FRAME_BASED_TRANSFORMATION.TRANSFORMATOR'); IF SIZEOF(trf_bag) = 0 THEN RETURN (FALSE); END_IF; REPEAT i := 1 TO HIINDEX(rep_bag); rep := rep_bag[i]; ass_bag := QUERY (kfbra <* USEDIN(rep, 'STEP_MERGED_AP_SCHEMA.REPRESENTATION_RELATIONSHIP.REP_2')| 'STEP_MERGED_AP_SCHEMA.' + 'KINEMATIC_FRAME_BACKGROUND_REPRESENTATION_ASSOCIATION' IN TYPEOF(kfbra)); IF SIZEOF(ass_bag) > 0 THEN REPEAT j := 1 TO HIINDEX(ass_bag); ass := ass_bag[j]; trm_bag := QUERY (trm <* trf_bag| trm :=: ass\representation_relationship_with_transformation.transformation_operator); IF SIZEOF(trm_bag) > 0 THEN RETURN (TRUE); END_IF; END_REPEAT; END_IF; END_REPEAT; RETURN (FALSE); END_FUNCTION;
[Top Level Definitions] [Exit]
Generated by STEP Tools® EXPRESS to HTML Converter
2024-09-06T14:00:33-04:00