FUNCTION invalidate_vrep_item
(* SCHEMA Ap242_managed_model_based_3d_engineering_mim_LF; *)
FUNCTION invalidate_vrep_item(item : representation_item)
: BOOLEAN;
LOCAL
reps : SET[1:?] OF representation := using_representations(item);
ri : SET[1:?] OF variational_representation_item;
iar : instance_attribute_reference;
i : INTEGER;
n : INTEGER := HIINDEX(reps);
END_LOCAL;
IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.BOUND_VARIATIONAL_PARAMETER' IN TYPEOF(item))
THEN
IF 'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.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(TRUE);
END_IF;
END;
ELSE RETURN(TRUE); -- parameter not attached to an instance attribute
END_IF;
END_IF;
IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.UNBOUND_VARIATIONAL_PARAMETER' IN TYPEOF(item))
THEN
BEGIN
REPEAT i := 1 TO n;
ri := QUERY(q <* reps[i]\representation.items |
'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FREE_FORM_CONSTRAINT' IN TYPEOF(q));
IF SIZEOF(QUERY(r <* ri |
item IN (r\free_form_constraint.reference_elements + r\free_form_constraint.constrained_elements))) = 0
THEN
RETURN(TRUE);
END_IF;
END_REPEAT;
END;
END_IF;
IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.FIXED_INSTANCE_ATTRIBUTE_SET'
IN TYPEOF(item))
THEN
REPEAT i := 1 TO SIZEOF(item\fixed_instance_attribute_set.fixed_attributes);
--next line is previous
-- IF (reps <> using_representations(item\fixed_instance_attribute_set.fixed_attributes[i]))
--is this intent?
IF (reps <> using_representations(item\fixed_instance_attribute_set.fixed_attributes[i]\instance_attribute_reference.owning_instance))
THEN
RETURN(TRUE);
END_IF;
END_REPEAT;
END_IF;
IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.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(TRUE);
END_IF;
END_IF;
IF ('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.AUXILIARY_GEOMETRIC_REPRESENTATION_ITEM' IN TYPEOF(item))
THEN
BEGIN
REPEAT i := 1 TO n;
ri := QUERY(q <* reps[i]\representation.items |
'AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF.EXPLICIT_GEOMETRIC_CONSTRAINT' IN TYPEOF(q));
IF SIZEOF(QUERY(r <* ri |
item IN r\explicit_geometric_constraint.reference_elements)) = 0
THEN
RETURN(TRUE);
END_IF;
END_REPEAT;
END;
END_IF;
RETURN(FALSE); -- no invalid cases have been found
END_FUNCTION;
Referenced By
Defintion invalidate_vrep_item is references by the following definitions:
[Top Level Definitions] [Exit]Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:20:10-04:00