FUNCTION acyclic_mapped_representation
(* SCHEMA Ship_arrangement_schema; *)
FUNCTION acyclic_mapped_representation
(parent_set : SET OF representation;
children_set : SET OF representation_item ) : BOOLEAN;
LOCAL
x : SET OF representation_item;
y : SET OF representation_item;
END_LOCAL;
x := QUERY (z <* children_set| 'SHIP_ARRANGEMENT_SCHEMA.MAPPED_ITEM' IN TYPEOF(z));
IF SIZEOF(x) > 0 THEN
REPEAT i := 1 TO HIINDEX(x);
IF x[i]\mapped_item.mapping_source.mapped_representation IN parent_set THEN
RETURN (FALSE);
END_IF;
IF NOT acyclic_mapped_representation((parent_set + x[i]\mapped_item.mapping_source.mapped_representation), x[i]\mapped_item.mapping_source.mapped_representation.items) THEN
RETURN (FALSE);
END_IF;
END_REPEAT;
END_IF;
x := children_set - x;
IF SIZEOF(x) > 0 THEN
REPEAT i := 1 TO HIINDEX(x);
y := QUERY (z <* bag_to_set(USEDIN(x[i], ''))| 'SHIP_ARRANGEMENT_SCHEMA.REPRESENTATION_ITEM' IN TYPEOF(z));
IF NOT acyclic_mapped_representation(parent_set, y) THEN
RETURN (FALSE);
END_IF;
END_REPEAT;
END_IF;
RETURN (TRUE);
END_FUNCTION;
Referenced By
Defintion acyclic_mapped_representation is references by the following definitions:
[Top Level Definitions] [Exit]Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:16:37-04:00