FUNCTION acyclic_product_definition_relationship
(* SCHEMA building_design_schema; *)
FUNCTION acyclic_product_definition_relationship(
relation: product_definition_relationship;
relatives: SET OF product_definition;
specific_relation: STRING
): LOGICAL;
LOCAL
i : INTEGER;
x : SET OF product_definition_relationship;
local_relatives : SET OF product_definition;
END_LOCAL;
REPEAT i := 1 TO HIINDEX(relatives) BY 1;
IF relation.relating_product_definition :=: relatives[i] THEN
RETURN(FALSE);
END_IF;
END_REPEAT;
x := bag_to_set(USEDIN(relation.relating_product_definition,
specific_relation));
local_relatives := relatives + relation.relating_product_definition;
IF SIZEOF(x) > 0 THEN
REPEAT i := 1 TO HIINDEX(x) BY 1;
IF NOT acyclic_product_definition_relationship(x[i],
local_relatives,specific_relation) THEN
RETURN(FALSE);
END_IF;
END_REPEAT;
END_IF;
RETURN(TRUE);
END_FUNCTION; -- acyclic_product_definition_relationship
Referenced By
Defintion acyclic_product_definition_relationship is references by the following definitions:
[Top Level Definitions] [Exit]Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:18:14-04:00