(*
   $Id$
   ISO TC184/SC4/WG12 N5006 - ISO/CD-TS 10303-1749 Styled curve - EXPRESS ARM
   Supersedes ISO TC184/SC4/WG12 N4194
*)

SCHEMA Styled_curve_arm;

USE FROM Colour_arm;    -- ISO/TS 10303-1002

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

  ENTITY Curve_appearance;
    colour : Colour;
    font   : Curve_font;
    width  : REAL;
  END_ENTITY;

  ENTITY Curve_font
    SUPERTYPE OF (ONEOF (Externally_defined_curve_font,
                         Predefined_curve_font,
                         User_defined_curve_font));
      curve_font_name : STRING;
  END_ENTITY;

  ENTITY Curve_font_pattern;
    on_segment : REAL;
    off_segment : REAL;
  END_ENTITY;

  ENTITY Externally_defined_curve_font
    SUBTYPE OF (Curve_font);
      curve_font_reference : STRING;
  END_ENTITY;

  ENTITY Predefined_curve_font
    SUBTYPE OF (Curve_font);
    WHERE
      WR1: SELF.curve_font_name IN ['continuous', 'chain', 'chain double dash', 'dashed', 'dotted'];
  END_ENTITY;

  ENTITY Solid_curve_font
    SUBTYPE OF (Predefined_curve_font);
    WHERE
      WR1: SELF.curve_font_name IN ['continuous'];
  END_ENTITY;

  ENTITY User_defined_curve_font
    SUBTYPE OF (Curve_font);
      pattern        : SET[1:?] OF Curve_font_pattern;
      segment_symbol : Geometric_model;
  END_ENTITY;

END_SCHEMA;
