FUNCTION using_shape_aspect_of_shape_representation
(item : shape_representation) : SET [0:?] OF shape_aspect;
LOCAL local_s_d_r: SET OF shape_definition_representation := []; local_s_d_r2: BAG OF shape_definition_representation := []; local_s_a: SET OF shape_aspect := []; i : INTEGER; END_LOCAL; -- find shape_definition_representations local_s_d_r2 := local_s_d_r2 + QUERY(pdr <* USEDIN (item, 'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION') | 'PRODUCT_PROPERTY_REPRESENTATION_SCHEMA.SHAPE_DEFINITION_REPRESENTATION' IN TYPEOF(pdr)); local_s_d_r := bag_to_set (local_s_d_r2); -- find shape_aspects REPEAT i := 1 TO HIINDEX (local_s_d_r); IF ('PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT' IN TYPEOF (local_s_d_r[i].definition)) THEN local_s_a := local_s_a + local_s_d_r[i].definition; END_IF; END_REPEAT; RETURN (local_s_a); END_FUNCTION; -- using_shape_aspect_of_shape_representation
|