FUNCTION consistent_geometric_reference
(aspect : GENERIC, item : geometric_representation_item) : BOOLEAN;
LOCAL srrs : STRING; feacr : STRING; aspect_type : SET [1:?] OF STRING; item_type : SET [1:?] OF STRING; END_LOCAL;
srrs := 'STRUCTURAL_RESPONSE_REPRESENTATION_SCHEMA.'; feacr := 'FINITE_ELEMENT_ANALYSIS_CONTROL_AND_RESULT_SCHEMA.'; aspect_type := TYPEOF (aspect); item_type := TYPEOF (item);
IF ('GEOMETRIC_MODEL_SCHEMA.SOLID_MODEL' IN item_type) THEN IF ((srrs + 'ELEMENT_VOLUME') IN aspect_type) THEN RETURN (TRUE); END_IF; END_IF;
IF (('GEOMETRY_SCHEMA.SURFACE' IN item_type) OR ('TOPOLOGY_SCHEMA.FACE_SURFACE' IN item_type)) THEN IF SIZEOF ([(feacr + 'VOLUME_3D_FACE'), (feacr + 'VOLUME_2D_FACE'), (feacr + 'SURFACE_3D_FACE'), (feacr + 'SURFACE_2D_FACE')] * aspect_type ) = 1 THEN RETURN (TRUE); END_IF; END_IF;
IF (('GEOMETRY_SCHEMA.CURVE' IN item_type) OR ('TOPOLOGY_SCHEMA.EDGE_CURVE' IN item_type)) THEN IF SIZEOF ([(feacr + 'VOLUME_3D_EDGE'), (feacr + 'VOLUME_2D_EDGE'), (feacr + 'SURFACE_3D_EDGE'), (feacr + 'SURFACE_2D_EDGE'), (srrs + 'CURVE_EDGE')] * aspect_type ) = 1 THEN RETURN (TRUE); END_IF; END_IF;
RETURN (FALSE); END_FUNCTION; -- consistent_geometric_reference
|