|
FUNCTION relatives_of_shape_representations (shape_representation_set : SET [0:?] OF shape_representation) : SET [0:?] OF shape_representation; FUNCTION local_relatives_of_shape_representations ( shape_representation_set : SET OF shape_representation ; total_reps : SET OF shape_representation ) : SET OF shape_representation ; LOCAL local_shape_rep : SET OF shape_representation := [ ] ; local_srr : SET OF shape_representation_relationship := [ ] ; local_total : SET OF shape_representation := [ ] ; END_LOCAL ; REPEAT i := 1 TO HIINDEX ( shape_representation_set ) ; local_srr := local_srr + QUERY ( rr <* bag_to_set ( USEDIN ( shape_representation_set [ i ] , 'representation_schema.representation_relationship.rep_1' ) ) | 'product_property_representation_schema.shape_representation_relationship' IN TYPEOF ( rr ) ) ; END_REPEAT ; REPEAT i := 1 TO HIINDEX ( local_srr ) ; IF 'product_property_representation_schema.' + 'shape_representation_relationship' IN TYPEOF ( local_srr [ i ] ) THEN local_shape_rep := local_shape_rep + local_srr [ i ] . rep_2 ; END_IF ; END_REPEAT ; IF SIZEOF ( local_shape_rep - total_reps ) = 0 THEN RETURN ( shape_representation_set ) ; ELSE local_total := total_reps + local_shape_rep ; RETURN ( local_shape_rep + ( local_relatives_of_shape_representations ( local_shape_rep - total_reps , local_total ) ) ) ; END_IF ; END_FUNCTION ; RETURN ( local_relatives_of_shape_representations ( shape_representation_set , shape_representation_set ) ) ; END_FUNCTION; -- relatives_of_shape_representations |
|
public class FRelatives_of_shape_representations public static Value run(SdaiContext _context, Value shape_representation_set) |