AP scope  |  AP module  |  AP contents  |  AP index
Application module: Extended basic geometry ISO/TS 10303-1667:2006(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviations

4 Information requirements
   4.1 Required AM ARMs
   4.2 ARM entity definitions
   4.3 ARM subtype constraint definitions
   4.4 ARM function definition
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing
     5.2.1 MIM entity definitions
     5.2.2 MIM function definition

A MIM short names
B Information object registration
C ARM EXPRESS-G   EXPRESS-G
D MIM EXPRESS-G   EXPRESS-G
E Computer interpretable listings
Bibliography
Index

(*
ISO TC184/SC4/WG12 N3949 - ISO/TS 10303-1667 Extended basic geometry - EXPRESS MIM
Supersedes ISO TC184/SC4/WG12 N3673
*)



SCHEMA Extended_basic_geometry_mim;

USE FROM Basic_geometry_mim;    -- ISO/TS 10303-1652

USE FROM Shape_property_assignment_mim;    -- ISO/TS 10303-1032

USE FROM representation_schema   -- ISO 10303-43
  (mapped_item,
   representation_item_relationship,
   representation_map,
   representation_relationship_with_transformation,
   transformation);

USE FROM geometry_schema   -- ISO 10303-42
  (vector);

REFERENCE FROM support_resource_schema   -- ISO 10303-41
  (bag_to_set);


ENTITY definitional_representation_relationship
  SUBTYPE OF (representation_relationship);
WHERE
  WR1: acyclic_representation_relationship(SELF, [SELF\representation_relationship.rep_2], 'REPRESENTATION_SCHEMA.'+ 'REPRESENTATION');
END_ENTITY;

ENTITY geometric_model_element_relationship
  SUBTYPE OF (geometric_representation_item, representation_item_relationship);
UNIQUE
  UR1: SELF\representation_item_relationship.relating_representation_item, SELF\representation_item_relationship.related_representation_item;
WHERE
  WR1: SELF\representation_item_relationship.relating_representation_item :<>: SELF\representation_item_relationship.related_representation_item;
END_ENTITY;

FUNCTION acyclic_representation_relationship
 (relation : representation_relationship; relatives : SET[1:?] OF representation; specific_relation : STRING) : BOOLEAN;
LOCAL
      x : SET OF representation_relationship;
    END_LOCAL;

    IF relation.rep_1 IN relatives THEN
      RETURN (FALSE);
    END_IF;
    x := QUERY(r <* bag_to_set(USEDIN(relation.rep_1, 'REPRESENTATION_SCHEMA.' + 'REPRESENTATION_RELATIONSHIP.' + 'REP_2')) | specific_relation IN TYPEOF(r));
    REPEAT i := 1 TO HIINDEX(x);
      IF NOT acyclic_representation_relationship(x[i], relatives + relation.rep_1, specific_relation) THEN
        RETURN (FALSE);
      END_IF;
    END_REPEAT;
    RETURN (TRUE);
END_FUNCTION;

END_SCHEMA;  -- Extended_basic_geometry_mim


© ISO 2006 — All rights reserved