FUNCTION get_shape_aspects
(c_def_instance : characterized_definition) : SET [0:?] OF shape_aspect;
LOCAL pd_set : SET OF product_definition_shape := []; pdr_set : SET OF shape_aspect := []; END_LOCAL;
pd_set := bag_to_set(QUERY(pd <* USEDIN(c_def_instance, 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PROPERTY_DEFINITION.DEFINITION') | 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.PRODUCT_DEFINITION_SHAPE' IN TYPEOF(pd))); IF (SIZEOF(pd_set) < 1) THEN RETURN (pdr_set); END_IF; REPEAT i := 1 TO HIINDEX(pd_set); pdr_set := pdr_set + bag_to_set(USEDIN(pd_set[i], 'PRODUCT_PROPERTY_DEFINITION_SCHEMA.SHAPE_ASPECT.OF_SHAPE')); END_REPEAT; RETURN (pdr_set); END_FUNCTION; -- get_shape_aspects
|