(*
   $Id$
   ISO TC184/SC4/WG12 N3903 - ISO/TS 10303-1652 Basic geometry - EXPRESS ARM
   Supersedes ISO TC184/SC4/WG12 N3369
*)

SCHEMA Basic_geometry_arm;

	USE FROM Elemental_geometric_shape_arm;	-- ISO/TS 10303-1004

	SUBTYPE_CONSTRAINT alternate_geometry_items FOR Detailed_geometric_model_element;
	  ONEOF (Cartesian_point,
	         Direction,
	         Axis_placement,
	         Cartesian_transformation_2d,
	         Cartesian_transformation_3d,
	         Curve,
	         Point_on_curve,
	         Point_on_surface,
	         Surface);
	END_SUBTYPE_CONSTRAINT;

		TYPE constructive_element_select = EXTENSIBLE GENERIC_ENTITY SELECT 
		   (Axis_placement,  
		    Curve,  
		    point_select,  
		    Surface); 
		END_TYPE; 

     TYPE point_select = EXTENSIBLE GENERIC_ENTITY SELECT
        (Cartesian_point, 
         Point_on_curve, 
         Point_on_surface);
     END_TYPE; 
     
     ENTITY Curve
       SUBTYPE OF (Detailed_geometric_model_element);
--       WHERE
--         WR1: NOT EXISTS (SELF\Representation_item.name);
     END_ENTITY;
     
     ENTITY Line
       SUBTYPE OF (Curve);
     END_ENTITY;
     
     ENTITY Plane
       SUBTYPE OF (Surface);
     END_ENTITY;
     
     ENTITY Point_on_curve
       SUBTYPE OF (Detailed_geometric_model_element);
       supporting_curve : Curve;
--       WHERE
--         WR1: NOT EXISTS (SELF\Representation_item.name);
     END_ENTITY;
     
     ENTITY Point_on_surface
       SUBTYPE OF (Detailed_geometric_model_element);
       supporting_surface : Surface;
--       WHERE
--         WR1: NOT EXISTS (SELF\Representation_item.name);
     END_ENTITY;
     
     ENTITY Surface
       SUBTYPE OF (Detailed_geometric_model_element);
--     WHERE
--       WR1: NOT EXISTS (SELF\Representation_item.name);
     END_ENTITY;

END_SCHEMA;
