FUNCTION item_in_context
(* SCHEMA STRUCTURAL_FRAME_SCHEMA; *)
FUNCTION item_in_context
(item : representation_item; cntxt : representation_context) : BOOLEAN;
LOCAL
i : INTEGER;
y : BAG OF representation_item;
END_LOCAL;
(* If there is one or more representation using both the item and cntxt return true. *)
IF SIZEOF(USEDIN(item,'STRUCTURAL_FRAME_SCHEMA.REPRESENTATION.ITEMS')
* cntxt.representations_in_context) > 0 THEN
RETURN (TRUE);
(* Determine the bag of representation_items that reference item. *)
ELSE
y := QUERY(z <* USEDIN (item , '') |
'STRUCTURAL_FRAME_SCHEMA.REPRESENTATION_ITEM' IN TYPEOF(z));
(* Ensure that the bag is not empty. *)
IF SIZEOF(y) > 0 THEN
(* For each element in the bag *)
REPEAT i := 1 TO HIINDEX(y);
(* Check to see it is an item in the input cntxt. *)
IF item_in_context(y[i], cntxt) THEN
RETURN (TRUE);
END_IF;
END_REPEAT;
END_IF;
END_IF;
(* Return false when all possible branches have been checked with no success. *)
RETURN (FALSE);
END_FUNCTION; (* STEP Part 43 (unchanged in 2nd edition) *)
Referenced By
Defintion item_in_context is references by the following definitions:
[Top Level Definitions] [Exit]Generated by STEP Tools® EXPRESS to HTML Converter
2023-03-25T00:11:39-04:00