FUNCTION frame_associated_to_background

(* 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;

Referenced By

    Not referenced by any other definition


[Top Level Definitions] [Exit]

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