|
FUNCTION invalidate_vrep_item (item : variational_representation_item) : BOOLEAN; LOCAL reps : SET [ 1 : ? ] OF representation := using_representations ( item ) ; svri : SET [ 1 : ? ] OF variational_representation_item ; iar : instance_attribute_reference ; i : INTEGER ; n : INTEGER := HIINDEX ( reps ) ; END_LOCAL ; IF ( 'parameterization_schema.bound_variational_parameter' IN TYPEOF ( item ) ) THEN IF 'parameterization_schema.instance_attribute_reference' IN TYPEOF ( item \ generic_variable . interpretation . semantics ) THEN BEGIN iar := item \ generic_variable . interpretation . semantics ; IF ( reps <> using_representations ( iar . owning_instance ) ) THEN RETURN ( TRUE ) ; END_IF ; END ; ELSE RETURN ( TRUE ) ; END_IF ; END_IF ; IF ( 'parameterization_schema.unbound_variational_parameter' IN TYPEOF ( item ) ) THEN BEGIN REPEAT i := 1 TO n ; svri := QUERY ( q <* reps [ i ] . items | 'explicit_constraint_schema.free_form_constraint' IN TYPEOF ( q ) ) ; IF SIZEOF ( QUERY ( r <* svri | item IN ( r . reference_elements + r . constrained_elements ) ) ) = 0 THEN RETURN ( TRUE ) ; END_IF ; END_REPEAT ; END ; END_IF ; IF ( 'parameterization_schema.fixed_instance_attribute_set' IN TYPEOF ( item ) ) THEN REPEAT i := 1 TO SIZEOF ( item . fixed_attributes ) ; IF ( reps <> using_representations ( item . fixed_attributes [ i ] ) ) THEN RETURN ( TRUE ) ; END_IF ; END_REPEAT ; END_IF ; IF ( 'explicit_constraint_schema.explicit_constraint' IN TYPEOF ( item ) ) THEN IF SIZEOF ( QUERY ( q <* ( item . reference_elements + item . constrained_elements ) | reps <> using_representations ( q ) ) ) > 0 THEN RETURN ( TRUE ) ; END_IF ; END_IF ; IF ( 'variational_representation_schema.auxiliary_geometric_representation_item' IN TYPEOF ( item ) ) THEN BEGIN REPEAT i := 1 TO n ; svri := QUERY ( q <* reps [ i ] . items | 'explicit_geometric_constraint_schema.explicit_geometric_constraint' IN TYPEOF ( q ) ) ; IF SIZEOF ( QUERY ( r <* svri | item IN r . reference_elements ) ) = 0 THEN RETURN ( TRUE ) ; END_IF ; END_REPEAT ; END ; END_IF ; RETURN ( FALSE ) ; END_FUNCTION; -- invalidate_vrep_item |
|
public class FInvalidate_vrep_item public static Value run(SdaiContext _context, Value item) |