(* 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
2025-09-04T17:14:54-04:00