Schema: General_surface_appearance_arm



SCHEMA General_surface_appearance_arm;

USE FROM Curve_appearance_arm;    -- ISO/TS 10303-1003


TYPE surface_side = ENUMERATION OF
   (positive,
    negative,
    both);
END_TYPE;

ENTITY Boundary_curve_appearance
  SUBTYPE OF (Surface_related_curve_appearance);
END_ENTITY;

ENTITY Control_grid_appearance
  SUBTYPE OF (Surface_related_curve_appearance);
END_ENTITY;

ENTITY Parameter_line_appearance
  SUBTYPE OF (Surface_related_curve_appearance);
  number_of_u_curves : INTEGER;
  number_of_v_curves : INTEGER;
END_ENTITY;

ENTITY Segmentation_curve_appearance
  SUBTYPE OF (Surface_related_curve_appearance);
END_ENTITY;

ENTITY Silhouette_curve_appearance
  SUBTYPE OF (Surface_related_curve_appearance);
END_ENTITY;

ENTITY Surface_appearance;
  side : surface_side;
  styles : SET[1:7] OF Surface_appearance_element;
END_ENTITY;

ENTITY Surface_appearance_element
  ABSTRACT SUPERTYPE OF (ONEOF (Surface_related_curve_appearance,
                                Surface_colour));
END_ENTITY;

ENTITY Surface_colour
  SUBTYPE OF (Surface_appearance_element);
  assigned_colour : Colour;
END_ENTITY;

ENTITY Surface_related_curve_appearance
  ABSTRACT SUPERTYPE OF (ONEOF (Boundary_curve_appearance,
                                Control_grid_appearance,
                                Parameter_line_appearance,
                                Segmentation_curve_appearance,
                                Silhouette_curve_appearance))
  SUBTYPE OF (Surface_appearance_element);
  style : Curve_appearance;
END_ENTITY;

END_SCHEMA;  -- General_surface_appearance_arm