SCHEMA Draughting_element_arm;

USE FROM Associative_text_arm;

USE FROM Curve_appearance_arm;

TYPE draughting_styled_model_element_select = SELECT BASED_ON styled_model_element_select WITH 
   (Draughting_callout);
END_TYPE; 

TYPE draughting_callout_content_select = EXTENSIBLE GENERIC_ENTITY SELECT
   (Annotation_curve, 
    Text);
END_TYPE; 

ENTITY Leader -- maps to leader_curve from 101
  SUBTYPE OF (Annotation_curve);
  curve : Curve;
END_ENTITY;

ENTITY Draughting_callout -- 101 it maps to draughting_elements in Annotated_presentation/ CHANGED - maps to Draughitng_callout
    SUBTYPE OF (Representation_item);
    contents : LIST [1:?] OF draughting_callout_content_select;
END_ENTITY;

ENTITY Dimension_curve -- maps to dimension_curve from 101
  SUBTYPE OF (Annotation_curve);
  terminator : SET[0:2] OF Terminator;
END_ENTITY;

ENTITY Projection_curve -- maps to projection_curve from 101
  SUBTYPE OF (Annotation_curve);
END_ENTITY;

-- The only entity from outside of 101, maybe need to move it
ENTITY Fill_area -- maps to annotation_fill_area_occurrence from p46/Taken from annotated_presentation_arm
  SUBTYPE OF (Annotation_element);
  boundary : SET[1:?] OF Annotation_curve;
  reference_point : point_select;
END_ENTITY;

SUBTYPE_CONSTRAINT annotation_curve_subtypes FOR Annotation_curve;
  ONEOF(Leader, Projection_curve, Dimension_curve);
END_SUBTYPE_CONSTRAINT;

END_SCHEMA;
