Application interpreted construct: Draughting annotation | ISO 10303-504:2011(E) © ISO |
*)
SCHEMA aic_draughting_annotation;
USE FROM
draughting_element_schema
--
ISO 10303-101
(draughting_callout,
terminator_symbol);
USE FROM
geometry_schema
--
ISO 10303-42
(axis2_placement_2d,
geometric_representation_context);
USE FROM
measure_schema
--
ISO 10303-41
(conversion_based_unit,
derived_unit,
global_unit_assigned_context,
length_measure_with_unit,
length_unit,
measure_with_unit,
named_unit,
plane_angle_unit,
plane_angle_measure_with_unit,
si_unit);
USE FROM
presentation_appearance_schema
--
ISO 10303-46
(box_height,
box_rotate_angle,
box_slant_angle,
box_width,
context_dependent_invisibility,
curve_style,
curve_style_font,
externally_defined_curve_font,
externally_defined_hatch_style,
externally_defined_tile_style,
fill_area_style,
fill_area_style_colour,
fill_area_style_hatching,
fill_area_style_tile_symbol_with_style,
fill_area_style_tiles,
null_style,
pre_defined_curve_font,
presentation_style_by_context,
symbol_colour,
symbol_style,
text_style,
text_style_for_defined_font,
text_style_with_box_characteristics,
text_style_with_mirror,
text_style_with_spacing);
USE FROM
presentation_definition_schema
--
ISO 10303-46
(annotation_curve_occurrence,
annotation_fill_area,
annotation_fill_area_occurrence,
annotation_occurrence,
annotation_symbol,
annotation_symbol_occurrence,
annotation_text_occurrence,
composite_text,
composite_text_with_associated_curves,
composite_text_with_blanking_box,
composite_text_with_extent,
defined_symbol,
externally_defined_symbol,
pre_defined_symbol,
symbol_representation,
symbol_representation_map,
text_alignment,
text_literal,
text_literal_with_associated_curves,
text_literal_with_blanking_box,
text_literal_with_delineation,
text_literal_with_extent);
USE FROM
presentation_resource_schema
--
ISO 10303-46
(colour_rgb,
externally_defined_text_font,
font_select,
pre_defined_colour,
pre_defined_text_font);
USE FROM
representation_schema
--
ISO 10303-43
(mapped_item,
representation,
representation_item);
REFERENCE FROM
geometry_schema
--
ISO 10303-42
(axis2_placement);
(*
NOTE 1 The schemas referenced above are specified in the following parts:
draughting_element_schema ISO 10303-101 geometry_schema ISO 10303-42 measure_schema ISO 10303-41 presentation_appearance_schema ISO 10303-46 presentation_definition_schema ISO 10303-46 presentation_resource_schema ISO 10303-46 representation_schema ISO 10303-43
NOTE 2 See Annex D for a graphical representation of this schema.
NOTE 3 There may be subtypes and items of select lists that appear in the integrated resources that are not imported into the AIC. Constructs are eliminated from the subtype tree or select list through the use of the implicit interface rules of ISO 10303-11. References to eliminated constructs are outside the scope of the AIC. In some cases, all items of the select list are eliminated. Because AICs are intended to be implemented in the context of an application protocol, the items of the select list will be defined by the scope of the application protocol
The following entities are intended to be independently instantiated in the application protocol schema that use this AIC:
EXPRESS specification:
*)
TYPE
draughting_subfigure_representation_item
=
SELECT
(annotation_occurrence,
axis2_placement,
draughting_callout);
END_TYPE;
(*
EXPRESS specification:
*)
TYPE
draughting_symbol_representation_item
=
SELECT
(annotation_curve_occurrence,
annotation_fill_area_occurrence,
annotation_symbol_occurrence,
annotation_text_occurrence,
axis2_placement);
END_TYPE;
(*
EXPRESS specification:
*)
ENTITY annotation_subfigure_occurrence
SUBTYPE OF (annotation_symbol_occurrence);
WHERE
WR1: SIZEOF (QUERY (sty <* SELF.styles |
NOT (SIZEOF (sty.styles) = 1)
)) = 0;
WR2: SIZEOF (QUERY (sty <* SELF.styles |
NOT ('AIC_DRAUGHTING_ANNOTATION.NULL_STYLE'
IN TYPEOF (sty.styles[1])) ))=0;
WR3: ('AIC_DRAUGHTING_ANNOTATION.ANNOTATION_SYMBOL'
IN TYPEOF (SELF.item));
WR4: ('AIC_DRAUGHTING_ANNOTATION.DRAUGHTING_SUBFIGURE_REPRESENTATION'
IN TYPEOF
(SELF.item\mapped_item.mapping_source.mapped_representation));
END_ENTITY;
(*
Formal propositions:
WR1: The annotation_subfigure_occurrence shall have exactly one style.
WR2: The type of style shall be null_style.
WR3: The item of the annotation_subfigure_occurrence shall be an annotation_symbol.
WR4: The source of the annotation_subfigure_occurrence shall be a draughting_subfigure_representation.
NOTE An application protocol that uses this AIC may ensure that the annotation_occurrence entity is instantiated as an draughting_annotation_occurrence.
EXPRESS specification:
*)
ENTITY draughting_annotation_occurrence
SUBTYPE OF (annotation_occurrence);
WHERE
WR1: (NOT ('AIC_DRAUGHTING_ANNOTATION.ANNOTATION_CURVE_OCCURRENCE'
IN TYPEOF (SELF))) OR
(SIZEOF (QUERY (sty <* SELF.styles |
NOT ((SIZEOF (sty.styles) = 1)
AND ('AIC_DRAUGHTING_ANNOTATION.CURVE_STYLE'
IN TYPEOF (sty.styles[1]))) )) = 0);
WR2: (NOT ('AIC_DRAUGHTING_ANNOTATION.ANNOTATION_FILL_AREA_OCCURRENCE'
IN TYPEOF (SELF))) OR (SIZEOF (QUERY (sty <* SELF.styles |
NOT ((SIZEOF (sty.styles) = 1)
AND ('AIC_DRAUGHTING_ANNOTATION.FILL_AREA_STYLE'
IN TYPEOF (sty.styles[1]))) )) = 0);
WR3: (NOT ('AIC_DRAUGHTING_ANNOTATION.ANNOTATION_FILL_AREA_OCCURRENCE'
IN TYPEOF (SELF))) OR (SIZEOF (QUERY (bound <*
SELF.item\annotation_fill_area.boundaries |
NOT (SIZEOF (QUERY (si <*
USEDIN (bound, 'PRESENTATION_APPEARANCE_SCHEMA.' +
'STYLED_ITEM.ITEM') |
('AIC_DRAUGHTING_ANNOTATION.' +
'ANNOTATION_CURVE_OCCURRENCE' IN TYPEOF (si)))) > 0))) = 0);
WR4: (NOT ('AIC_DRAUGHTING_ANNOTATION.ANNOTATION_SYMBOL_OCCURRENCE'
IN TYPEOF (SELF))) OR (SIZEOF (QUERY (sty <* SELF.styles |
NOT ((SIZEOF (sty.styles) = 1) AND
(SIZEOF (TYPEOF (sty.styles[1]) *
['AIC_DRAUGHTING_ANNOTATION.SYMBOL_STYLE',
'AIC_DRAUGHTING_ANNOTATION.NULL_STYLE']) = 1)) )) = 0);
WR5: (NOT (('AIC_DRAUGHTING_ANNOTATION.ANNOTATION_SYMBOL_OCCURRENCE'
IN TYPEOF (SELF)) AND
('AIC_DRAUGHTING_ANNOTATION.ANNOTATION_SYMBOL'
IN TYPEOF(SELF.item)))) OR
(SIZEOF (['AIC_DRAUGHTING_ANNOTATION.' +
'DRAUGHTING_SYMBOL_REPRESENTATION',
'AIC_DRAUGHTING_ANNOTATION.' +
'DRAUGHTING_SUBFIGURE_REPRESENTATION'] *
TYPEOF (SELF.item\mapped_item.mapping_source.
mapped_representation)) = 1);
WR6: (NOT ('AIC_DRAUGHTING_ANNOTATION.ANNOTATION_TEXT_OCCURRENCE'
IN TYPEOF (SELF))) OR
(SIZEOF (QUERY (sty <* SELF.styles |
NOT ((SIZEOF (sty.styles) = 1)
AND ('AIC_DRAUGHTING_ANNOTATION.TEXT_STYLE'
IN TYPEOF (sty.styles[1]))) )) = 0);
WR7: (NOT('AIC_DRAUGHTING_ANNOTATION.ANNOTATION_TEXT_OCCURRENCE'
IN TYPEOF (SELF))) OR
(SIZEOF (TYPEOF(SELF.item) *
['AIC_DRAUGHTING_ANNOTATION.COMPOSITE_TEXT',
'AIC_DRAUGHTING_ANNOTATION.TEXT_LITERAL']) = 1);
WR8: (NOT (('AIC_DRAUGHTING_ANNOTATION.ANNOTATION_TEXT_OCCURRENCE'
IN TYPEOF (SELF)) AND
('AIC_DRAUGHTING_ANNOTATION.COMPOSITE_TEXT'
IN TYPEOF (SELF.item)))) OR (SIZEOF (QUERY (tl <*
SELF.item\composite_text.collected_text |
NOT ('AIC_DRAUGHTING_ANNOTATION.TEXT_LITERAL'
IN TYPEOF (tl)) )) = 0);
WR9: (NOT (('AIC_DRAUGHTING_ANNOTATION.ANNOTATION_TEXT_OCCURRENCE'
IN TYPEOF (SELF)) AND
('AIC_DRAUGHTING_ANNOTATION.TEXT_LITERAL'
IN TYPEOF (SELF.item)))) OR (SELF.item\text_literal.alignment
IN ['baseline left', 'baseline centre', 'baseline right']);
WR10: (NOT (('AIC_DRAUGHTING_ANNOTATION.ANNOTATION_TEXT_OCCURRENCE'
IN TYPEOF (SELF)) AND
('AIC_DRAUGHTING_ANNOTATION.COMPOSITE_TEXT'
IN TYPEOF (SELF.item)))) OR
(SIZEOF (QUERY (tl <* QUERY (text <* SELF.
item\composite_text.collected_text
|('AIC_DRAUGHTING_ANNOTATION.TEXT_LITERAL' IN TYPEOF(text))) |
NOT (tl\text_literal.alignment IN
['baseline left', 'baseline centre', 'baseline right']) )) = 0);
WR11: NOT (('AIC_DRAUGHTING_ANNOTATION.ANNOTATION_TEXT_OCCURRENCE'
IN TYPEOF(SELF)) AND
('AIC_DRAUGHTING_ANNOTATION.COMPOSITE_TEXT'
IN TYPEOF (SELF.item))) OR check_text_alignment(SELF.item);
WR12: NOT (('AIC_DRAUGHTING_ANNOTATION.ANNOTATION_TEXT_OCCURRENCE'
IN TYPEOF(SELF)) AND
('AIC_DRAUGHTING_ANNOTATION.COMPOSITE_TEXT'
IN TYPEOF (SELF.item))) OR check_text_font(SELF.item);
WR13: (NOT (('AIC_DRAUGHTING_ANNOTATION.ANNOTATION_TEXT_OCCURRENCE'
IN TYPEOF(SELF)) AND
('AIC_DRAUGHTING_ANNOTATION.COMPOSITE_TEXT'
IN TYPEOF (SELF.item)))) OR
(SIZEOF (QUERY (tl <* QUERY (text <*
SELF.item\composite_text.collected_text |
('AIC_DRAUGHTING_ANNOTATION.TEXT_LITERAL' IN TYPEOF (text))) |
NOT (SIZEOF (TYPEOF(tl) *
['AIC_DRAUGHTING_ANNOTATION.' +
'TEXT_LITERAL_WITH_BLANKING_BOX',
'AIC_DRAUGHTING_ANNOTATION.' +
'TEXT_LITERAL_WITH_ASSOCIATED_CURVES']) = 0) )) = 0);
WR14: (NOT (('AIC_DRAUGHTING_ANNOTATION.ANNOTATION_TEXT_OCCURRENCE'
IN TYPEOF (SELF)) AND
('AIC_DRAUGHTING_ANNOTATION.TEXT_LITERAL_WITH_ASSOCIATED_CURVES'
IN TYPEOF (SELF.item)))) OR
(SIZEOF (QUERY (crv <*
SELF.item\text_literal_with_associated_curves.
associated_curves |
NOT (SIZEOF (QUERY (si <* USEDIN (crv,
'PRESENTATION_APPEARANCE_SCHEMA.STYLED_ITEM.ITEM') |
('AIC_DRAUGHTING_ANNOTATION.ANNOTATION_CURVE_OCCURRENCE'
IN TYPEOF (si)) )) > 0) )) = 0);
WR15: (NOT (('AIC_DRAUGHTING_ANNOTATION.ANNOTATION_TEXT_OCCURRENCE'
IN TYPEOF (SELF)) AND
('AIC_DRAUGHTING_ANNOTATION.COMPOSITE_TEXT_WITH_ASSOCIATED_CURVES'
IN TYPEOF (SELF.item)))) OR
(SIZEOF (QUERY (crv <*
SELF.item\composite_text_with_associated_curves.
associated_curves |
NOT (SIZEOF (QUERY (si <* USEDIN (crv,
'PRESENTATION_APPEARANCE_SCHEMA.STYLED_ITEM.ITEM') |
('AIC_DRAUGHTING_ANNOTATION.ANNOTATION_CURVE_OCCURRENCE'
IN TYPEOF (si)) )) > 0) )) = 0);
WR16: SIZEOF (QUERY (cs <* QUERY (sty <* SELF.styles |
('AIC_DRAUGHTING_ANNOTATION.CURVE_STYLE' IN TYPEOF (sty.styles[1])))
| NOT (('AIC_DRAUGHTING_ANNOTATION.LENGTH_MEASURE_WITH_UNIT'
IN TYPEOF (cs.styles[1]\curve_style.curve_width)) AND
('MEASURE_SCHEMA.POSITIVE_LENGTH_MEASURE'
IN TYPEOF (cs.styles[1]\curve_style.
curve_width\measure_with_unit.value_component))))) = 0;
WR17: SIZEOF (QUERY (fas <* QUERY (sty <* SELF.styles |
('AIC_DRAUGHTING_ANNOTATION.FILL_AREA_STYLE'
IN TYPEOF (sty.styles[1]))) |
NOT ((SIZEOF (QUERY (fs <* fas.styles[1]\fill_area_style.fill_styles
| ('AIC_DRAUGHTING_ANNOTATION.FILL_AREA_STYLE_TILES'
IN TYPEOF (fs)))) <= 1)
AND (SIZEOF (QUERY (fst <* QUERY (fs <*
fas.styles[1]\fill_area_style.fill_styles |
('AIC_DRAUGHTING_ANNOTATION.FILL_AREA_STYLE_TILES'
IN TYPEOF (fs))) |
NOT (SIZEOF (fst\fill_area_style_tiles.tiles) = 1)
)) = 0))
)) = 0;
WR18: SIZEOF (QUERY (fas <* QUERY (sty <* SELF.styles |
('AIC_DRAUGHTING_ANNOTATION.FILL_AREA_STYLE'
IN TYPEOF (sty.styles[1]))) |
NOT (SIZEOF (QUERY (fsh <* QUERY (fs <*
fas.styles[1]\fill_area_style.fill_styles |
('AIC_DRAUGHTING_ANNOTATION.FILL_AREA_STYLE_HATCHING'
IN TYPEOF (fs))) |
NOT (fsh\fill_area_style_hatching.point_of_reference_hatch_line :=:
fsh\fill_area_style_hatching.pattern_start) )) = 0) )) = 0;
WR19: SIZEOF (QUERY (ts <* QUERY (sty <* SELF.styles |
('AIC_DRAUGHTING_ANNOTATION.TEXT_STYLE'
IN TYPEOF(sty.styles[1]))) |
NOT ('AIC_DRAUGHTING_ANNOTATION.' +
'TEXT_STYLE_WITH_BOX_CHARACTERISTICS'
IN TYPEOF (ts.styles[1])))) = 0;
WR20: SIZEOF (QUERY (ts <* QUERY (sty <* SELF.styles |
('AIC_DRAUGHTING_ANNOTATION.TEXT_STYLE_WITH_BOX_CHARACTERISTICS'
IN TYPEOF (sty.styles[1]))) |
NOT (SIZEOF (ts.styles[1]\text_style_with_box_characteristics.
characteristics) = 4) )) = 0;
END_ENTITY;
(*
Formal propositions:
WR1: Each draughting_annotation_occurrence that is an annotation_curve_occurrence shall have exactly one style that is a curve_style.
WR2: Each draughting_annotation_occurrence that is an annotation_fill_area_occurrence shall have exactly one style that is a fill_area_style.
WR3: If the draughting_annotation_occurrence is an annotation_fill_area_occurrence, each boundary of the annotation_fill_area shall be the item for an annotation_curve_occurrence.
WR4: Each draughting_annotation_occurrence that is an annotation_symbol_occurrence shall have exactly one style that is either a symbol_style or null_style.
WR5: If the draughting_annotation_occurrence is an annotation_symbol_occurrence whose item is an annotation_symbol, the symbol_representation shall be a draughting_symbol_representation or draughting_subfigure_representation.
WR6: Each draughting_annotation_occurrence that is an annotation_text_occurrence shall have exactly one style that is a text_style.
WR7: If the draughting_annotation_occurrence is an annotation_text_occurrence, the item shall be either composite_text or a text_literal.
WR8: If the draughting_annotation_occurrence is an annotation_text_occurrence, each composite_text shall only collect text_literal.
WR9: If the draughting_annotation_occurrence is an annotation_text_occurrence whose item is a text_literal, the text_literal shall have the value of ‘baseline left’, ‘baseline centre’, or ‘baseline right’ for the alignment.
WR10: If the draughting_annotation_occurrence is an annotation_text_occurrence whose item is a composite_text, each text_literal included in the composite_text shall have the value of ‘baseline left’, ‘baseline centre’, or ‘baseline right’ for the alignment.
WR11: If the draughting_annotation_occurrence is an annotation_text_occurrence, each text_literal shall have the same alignment.
WR12: If the draughting_annotation_occurrence is an annotation_text_occurrence, each text_literal shall have the same font.
WR13: If the draughting_annotation_occurrence is an annotation_text_occurrence, each composite_text shall not contain text_literal_with_blanking_box nor text_literal_with_associated_curves.
WR14: If the draughting_annotation_occurrence is an annotation_text_occurrence whose item is a text_literal_with_associated_curves, each curve associated with the text shall be the item for an annotation_curve_occurrence.
WR15: If the draughting_annotation_occurrence is an annotation_text_occurrence whose item is a composite_text_with_associated_curves, each curve associated with the text shall be the item for an annotation_curve_occurrence.
WR16: If the style of the draughting_annotation_occurrence is a curve_style, this style shall specify the units of measure associated with its curve_width.
WR17: If the style of the draughting_annotation_occurrence is a fill_area_style, this style shall contain, in the set of fill_styles, no more than one fill_area_style_tiles and that fill_area_style_tiles shall contain exactly one tile.
WR18: If the style of the draughting_annotation_occurrence is a fill_area_style, for each fill_area_style_hatching in the set of fill_styles, the point_of_reference_hatch_line shall be the same as the pattern_start.
WR19: If the style of the draughting_annotation_occurrence is a text_style, this style shall be a text_style_with_box_characteristics.
WR20: If the style of the draughting_annotation_occurrence is a text_style_with_box_characteristics, this style shall have exactly four elements in the set of characteristics.
EXPRESS specification:
*)
ENTITY draughting_subfigure_representation
SUBTYPE OF (symbol_representation);
SELF\representation.items : SET[1:?] OF draughting_subfigure_representation_item;
WHERE
WR1: SIZEOF (QUERY (item <* SELF\representation.items |
SIZEOF (['AIC_DRAUGHTING_ANNOTATION.ANNOTATION_OCCURRENCE',
'AIC_DRAUGHTING_ANNOTATION.DRAUGHTING_CALLOUT'] *
TYPEOF (item)) = 1)) >= 1;
WR2: SIZEOF (QUERY (srm <* QUERY (rm <*
USEDIN (SELF, 'REPRESENTATION_SCHEMA.' +
'REPRESENTATION_MAP.MAPPED_REPRESENTATION') |
('AIC_DRAUGHTING_ANNOTATION.SYMBOL_REPRESENTATION_MAP'
IN TYPEOF(rm))) |
NOT (SIZEOF (QUERY (a_s <* QUERY (mi <* srm.map_usage |
('AIC_DRAUGHTING_ANNOTATION.ANNOTATION_SYMBOL' IN TYPEOF(mi)))
| NOT (SIZEOF (QUERY (aso <*
USEDIN (a_s, 'PRESENTATION_APPEARANCE_SCHEMA.' +
'STYLED_ITEM.ITEM') |
NOT ('AIC_DRAUGHTING_ANNOTATION.ANNOTATION_SUBFIGURE_OCCURRENCE'
IN TYPEOF(aso)))) = 0))) = 0))) > 0;
WR3: SIZEOF (SELF.context_of_items.representations_in_context) = 1;
END_ENTITY;
(*
Attribute definitions:
items: the representation_items in a draughting_subfigure_representation shall be annotation_occurrence, draughting_callout, or axis2_placement.
Formal propositions:
WR1: At least one of the items in a draughting_subfigure_representation shall be an annotation_occurrence or a draughting_callout.
WR2: A draughting_subfigure_representation shall be the definition of at least one annotation_subfigure_occurrence.
WR3: The representation_context of a draughting_subfigure_representation shall not be the context of any other representation.
EXPRESS specification:
*)
ENTITY draughting_symbol_representation
SUBTYPE OF (symbol_representation);
SELF\representation.items : SET[1:?] OF draughting_symbol_representation_item;
UNIQUE
UR1: name;
WHERE
WR1: SIZEOF (QUERY (item <* SELF\representation.items |
(SIZEOF (TYPEOF (item) *
['AIC_DRAUGHTING_ANNOTATION.ANNOTATION_CURVE_OCCURRENCE',
'AIC_DRAUGHTING_ANNOTATION.ANNOTATION_SYMBOL_OCCURRENCE',
'AIC_DRAUGHTING_ANNOTATION.ANNOTATION_FILL_AREA_OCCURRENCE',
'AIC_DRAUGHTING_ANNOTATION.ANNOTATION_TEXT_OCCURRENCE']) = 1)
)) >= 1;
WR2: SIZEOF (QUERY (item <* SELF\representation.items |
'AIC_DRAUGHTING_ANNOTATION.ANNOTATION_SUBFIGURE_OCCURRENCE'
IN TYPEOF (item))) = 0;
WR3: SIZEOF ( QUERY (rm <*
USEDIN (SELF, 'REPRESENTATION_SCHEMA.' +
'REPRESENTATION_MAP.MAPPED_REPRESENTATION') |
NOT ('REPRESENTATION_SCHEMA.SYMBOL_REPRESENTATION_MAP'
IN TYPEOF(rm)))) = 0;
WR4: SIZEOF (SELF.context_of_items.representations_in_context) = 1;
END_ENTITY;
(*
Attribute definitions:
items: the representation_items in a draughting_symbol_representation shall be annotation_curve_occurrence, annotation_text_occurrence, annotation_symbol_occurrence, annotation_fill_area_occurrence, or axis2_placement.
Formal propositions:
UR1: The name of a draughting_symbol_representation shall be unique.
WR1: At least one of the items in a draughting_symbol_representation shall be annotation_curve_occurrence, annotation_text_occurrence, annotation_symbol_occurrence, or annotation_fill_area_occurrence.
WR2: The items in a draughting_symbol_representation shall not be annotation_subfigure_occurrence.
WR3: A draughting_symbol_representation shall only be referenced by representation_maps that are of type symbol_representation_map.
WR4: The representation_context of a draughting_symbol_representation shall not be the context of any other representation.
EXPRESS specification:
*)
ENTITY draughting_text_literal_with_delineation
SUBTYPE OF (text_literal_with_delineation);
WHERE
WR1: SELF.delineation IN ['underline', 'overline'];
END_ENTITY;
(*
Formal propositions:
WR1: Every draughting_text_literal_with_delineation shall have either an “underline” or an “overline” delineation.
The check_text_alignment boolean function returns true if the given composite_text has a common alignment value for each text_literal contained in the set of collected_text.
NOTE Although there is no group reference, the attribute reference ct.collected_text in function check_text_alignment is correct, since parameter ct is of type composite_text and collected_text is an attribute of this type.
EXPRESS specification:
*)
FUNCTION check_text_alignment (ct : composite_text) :BOOLEAN;
LOCAL a : SET OF text_alignment := []; END_LOCAL; -- create a set of all the alignments REPEAT i := 1 TO HIINDEX (ct.collected_text); a := a + [ct.collected_text[i]\text_literal.alignment]; END_REPEAT; -- if there is more than one element in the set -- then not all alignments were the same RETURN (SIZEOF(a) = 1);
END_FUNCTION;
(*
Argument definitions:
ct: the input composite_text to be checked.
The check_text_font boolean function returns true if the given composite_text has a common font value for each text_literal contained in the set of collected_text.
NOTE Although there is no group reference, the attribute reference ct.collected_text in function check_text_font is correct, since parameter ct is of type composite_text and collected_text is an attribute of this type.
EXPRESS specification:
*)
FUNCTION check_text_font (ct : composite_text) :BOOLEAN;
LOCAL f : SET OF font_select := []; END_LOCAL; -- build a set of all the fonts REPEAT i := 1 TO HIINDEX (ct.collected_text); f := f + [ct.collected_text[i]\text_literal.font]; END_REPEAT; -- if there is more than one element in the set -- then not all fonts were the same RETURN (SIZEOF(f) <= 1);
END_FUNCTION;
(*
Argument definitions:
ct: the input composite_text to be checked.
*)
END_SCHEMA; -- aic_draughting_annotation
(*
© ISO 2011 — All rights reserved