FUNCTION invalidate_vrep_item

(* SCHEMA step_merged_ap_schema; *)
-- IN AP242
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 'STEP_MERGED_AP_SCHEMA.BOUND_VARIATIONAL_PARAMETER' IN TYPEOF(item) THEN
         IF 'STEP_MERGED_AP_SCHEMA.INSTANCE_ATTRIBUTE_REFERENCE' IN TYPEOF(item\generic_variable.interpretation\environment.semantics) THEN
            BEGIN
               iar := item\generic_variable.interpretation\environment.semantics;
               IF reps <> using_representations(iar\instance_attribute_reference.owning_instance) THEN
                  RETURN (FALSE);
               END_IF;
            END;
         ELSE
            RETURN (FALSE);
         END_IF;
      END_IF;
      IF 'STEP_MERGED_AP_SCHEMA.UNBOUND_VARIATIONAL_PARAMETER' IN TYPEOF(item) THEN
         BEGIN
            REPEAT i := 1 TO n;
               svri := QUERY (q <* reps[i]\representation.items| 'STEP_MERGED_AP_SCHEMA.FREE_FORM_CONSTRAINT' IN TYPEOF(q));
               IF SIZEOF(QUERY (r <* svri| (item IN r\free_form_constraint.reference_elements + r\free_form_constraint.constrained_elements))) = 0 THEN
                  RETURN (FALSE);
               END_IF;
            END_REPEAT;
         END;
      END_IF;
      IF 'STEP_MERGED_AP_SCHEMA.FIXED_INSTANCE_ATTRIBUTE_SET' IN TYPEOF(item) THEN
         REPEAT i := 1 TO SIZEOF(item\fixed_instance_attribute_set.fixed_attributes);
            IF reps <> using_representations(item\fixed_instance_attribute_set.fixed_attributes[i]\instance_attribute_reference.owning_instance) THEN
               RETURN (FALSE);
            END_IF;
         END_REPEAT;
      END_IF;
      IF 'STEP_MERGED_AP_SCHEMA.EXPLICIT_CONSTRAINT' IN TYPEOF(item) THEN
         IF SIZEOF(QUERY (q <* item\explicit_constraint.reference_elements + item\explicit_constraint.constrained_elements| (reps <> using_representations(q)))) > 0 THEN
            RETURN (FALSE);
         END_IF;
      END_IF;
      IF 'STEP_MERGED_AP_SCHEMA.AUXILIARY_GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(item) THEN
         BEGIN
            REPEAT i := 1 TO n;
               svri := QUERY (q <* reps[i]\representation.items| 'STEP_MERGED_AP_SCHEMA.EXPLICIT_GEOMETRIC_CONSTRAINT' IN TYPEOF(q));
               IF SIZEOF(QUERY (r <* svri| (item IN r\explicit_geometric_constraint.reference_elements))) = 0 THEN
                  RETURN (FALSE);
               END_IF;
            END_REPEAT;
         END;
      END_IF;
      RETURN (FALSE);
END_FUNCTION;

Referenced By

Defintion invalidate_vrep_item is references by the following definitions:
DefinitionType
 variational_representation ENTITY


[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2020-07-28T17:02:20-04:00