Schema: Basic_geometry_arm



SCHEMA Basic_geometry_arm;

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


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);
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;
END_ENTITY;

ENTITY Point_on_surface
  SUBTYPE OF (Detailed_geometric_model_element);
  supporting_surface : Surface;
END_ENTITY;

ENTITY Surface
  SUBTYPE OF (Detailed_geometric_model_element);
END_ENTITY;

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;

END_SCHEMA;  -- Basic_geometry_arm