Integrated generic resource: Visual presentation | ISO 10303-46:2021(E) © ISO |
The subject of the presentation_resource_schema is the specification of basic resources for presentation. There are three types of information specified in the presentation_resource_schema:
Each implementation of an AP that uses this schema and that encodes entity names shall use the encoding specified in Annex A. Each reference to this schema in an open system shall use the identifier encoding specified in Annex B. This schema is illustrated in Annex D using the EXPRESS-G notation.
EXPRESS specification:
*)
SCHEMA presentation_resource_schema;
REFERENCE FROM
external_reference_schema
--
ISO 10303-41
(externally_defined_item,
pre_defined_item);
REFERENCE FROM
geometry_schema
--
ISO 10303-42
(axis2_placement,
curve,
geometric_representation_item);
REFERENCE FROM
measure_schema
--
ISO 10303-41
(length_measure,
positive_length_measure,
positive_ratio_measure,
ratio_measure);
REFERENCE FROM
presentation_definition_schema
--
ISO 10303-46
(annotation_fill_area,
symbol_representation);
REFERENCE FROM
representation_schema
--
ISO 10303-43
(item_in_context,
representation);
REFERENCE FROM
support_resource_schema
--
ISO 10303-41
(identifier,
label,
text);
(*
NOTE 1 The schemas referenced above are specified in the following parts:
external_reference_schema ISO 10303-41 geometry_schema ISO 10303-42 measure_schema ISO 10303-41 presentation_definition_schema ISO 10303-46 representation_schema ISO 10303-43 support_resource_schema ISO 10303-41
NOTE 2 See Annex D for a graphical representation of this schema.
This schema specifies the resources necessary for construction of character fonts and annotation symbol fonts. The character fonts and annotation symbol fonts are defined within a local coordinate system. The characters and annotation symbols may be scaled and transformed depending on application usage.
There are two types of colour definition resources. The first is a direct colour specification based on the RGB colour model. The second makes use of a colour mapping table to associate a colour with a state variable along a continuous scale.
Geometric resources are geometric elements used in this part of ISO 10303 to support miscellaneous aspects of picture construction.
EXPRESS specification:
*)
TYPE
font_select
=
SELECT
(pre_defined_text_font,
externally_defined_text_font,
text_font);
END_TYPE;
(*
EXPRESS specification:
*)
TYPE
staircase_or_linear
=
ENUMERATION
OF
(staircase,
linear);
END_TYPE;
(*
Enumerated item definitions:
staircase: the colours are interpolated using a staircase function.
linear: the colours are interpolated linearly.
EXPRESS specification:
*)
ENTITY character_glyph_font_usage;
character : generic_character_glyph_symbol;
font : text_font;
END_ENTITY;
(*
Attribute definitions:
character: the generic_character_glyph_symbol that is part of the font.
font: the text_font to which the generic_character_glyph_symbol is assigned.
NOTE 1 Figure 28 illustrates the types and definition of character glyph symbols.
EXPRESS specification:
*)
ENTITY character_glyph_symbol
SUBTYPE OF (generic_character_glyph_symbol);
character_box : planar_extent;
baseline_ratio : ratio_measure;
DERIVE
box_height : length_measure := character_box.size_in_y;
WHERE
WR1: {0.0 <= baseline_ratio <= 1.0};
WR2: item_in_context(character_box,
SELF\representation.context_of_items);
WR3: 'MEASURE_SCHEMA.POSITIVE_LENGTH_MEASURE'
IN TYPEOF (box_height);
END_ENTITY;
(*
Attribute definitions:
character_box: a rectangular box defining the extent of a character glyph. The character_box can be slanted by the text_style to produce slanted character glyphs.
baseline_ratio: the location of the baseline of the character glyph relative to the character_box. When character glyphs are composed to form a text literal, the baselines of adjacent glyphs are aligned. The character baseline is parallel to the x axis of the character_box. The specified value indicates the distance between the x axis of the character_box and the baseline as ratio of box_height.
NOTE 2 x axis and extent of the character box are defined by planar_extent.
EXAMPLE A baseline_ratio of 0.0 specifies that the baseline of the character glyph and x axis are identical. A baseline_ratio of 0.5 specifies that the baseline of the character glyph divides the character_box in the middle of its height.
box_height: the height of the character_box.
Formal propositions:
WR1: The baseline_ratio ranges between 0.0 and 1.0.
WR2: The character_box shall be founded in the representation_context defined by context_of_items.
WR3: The box_height shall be a positive_length_measure.
EXPRESS specification:
*)
ENTITY character_glyph_symbol_outline
SUBTYPE OF (character_glyph_symbol);
outlines : SET[1:?] OF annotation_fill_area;
WHERE
WR1: outlines <= SELF\representation.items;
END_ENTITY;
(*
Attribute definitions:
outlines: the set of annotation_fill_areas that define the geometry of the character glyph.
Formal propositions:
WR1: All the fill areas making up the character glyph shall be contained in the set of items.
EXPRESS specification:
*)
ENTITY character_glyph_symbol_stroke
SUBTYPE OF (character_glyph_symbol);
strokes : SET[1:?] OF curve;
WHERE
WR1: strokes <= SELF\representation.items;
END_ENTITY;
(*
Attribute definitions:
strokes: the set of curves that define the geometry of the character glyph.
Formal propositions:
WR1: All the curves making up the character glyph shall be contained in the set of items.
EXPRESS specification:
*)
ENTITY colour;
END_ENTITY;
(*
NOTE 1 State variables are often used to specify physical quantities.
NOTE 2 The interpolation of colours across curves and surfaces is described in shading_curve_method and shading_surface_method.
EXPRESS specification:
*)
ENTITY colour_associated
SUBTYPE OF (colour);
name : label;
variable_to_be_shown : SET[1:?] OF REAL;
mapping : colour_association_table;
END_ENTITY;
(*
Attribute definitions:
name: the word, or group of words, by which the colour_associated is referred to.
variable_to_be_shown: the set of state variables are the one-dimensional values to be visualized by colours.
mapping: the colour_association_table used to derive the colour.
The colour_association_table contains state variable values that are associated with a colour. When the value of a state variable is between two fixed state variable values, the colour shall be calculated by either staircase or linear interpolation.
EXPRESS specification:
*)
ENTITY colour_association_table;
discrete_states_with_colours : LIST[1:?] OF state_variable_with_colour;
interpolation_type : staircase_or_linear;
END_ENTITY;
(*
Attribute definitions:
discrete_states_with_colours: a list of one-dimensional state variable values that are associated with colour.
interpolation_type: the method of interpolation to be used.
EXPRESS specification:
*)
ENTITY colour_rgb
SUBTYPE OF (colour_specification);
red : REAL;
green : REAL;
blue : REAL;
WHERE
WR1: {0.0 <= red <= 1.0};
WR2: {0.0 <= green <= 1.0};
WR3: {0.0 <= blue <= 1.0};
END_ENTITY;
(*
Attribute definitions:
red: the intensity of the red colour component.
green: the intensity of the green colour component.
blue: the intensity of the blue colour component.
Formal propositions:
WR1: The intensity of the red colour component shall be between 0.0 and 1.0.
WR2: The intensity of the green component shall be between 0.0 and 1.0.
WR3: The intensity of the blue component shall be between 0.0 and 1.0.
EXAMPLE Colour spaces are RGB, HLS, HSV, and CIE. More details about these colour spaces can be found in [13].
NOTE Only RGB colours are supported by this part of ISO-10303. This entity provides for later extension.
EXPRESS specification:
*)
ENTITY colour_specification
SUBTYPE OF (colour);
name : label;
END_ENTITY;
(*
Attribute definitions:
name: the word, or group of words, by which the colour_specification is referred to.
Table 1 states the RGB values corresponding to each of the predefined colours that are specified by this part of ISO 10303.
Table 1 — RGB colours for predefined colours
Colour name |
Red |
Green |
Blue |
---|---|---|---|
black | 0.0 | 0.0 | 0.0 |
red | 1.0 | 0.0 | 0.0 |
green | 0.0 | 1.0 | 0.0 |
blue | 0.0 | 0.0 | 1.0 |
yellow | 1.0 | 1.0 | 0.0 |
magenta | 1.0 | 0.0 | 1.0 |
cyan | 0.0 | 1.0 | 1.0 |
white | 1.0 | 1.0 | 1.0 |
EXPRESS specification:
*)
ENTITY draughting_pre_defined_colour
SUBTYPE OF (pre_defined_colour);
WHERE
WR1: SELF\pre_defined_item.name IN
['red',
'green',
'blue',
'yellow',
'magenta',
'cyan',
'black',
'white'];
END_ENTITY;
(*
Formal propositions:
WR1: The name of the draughting_pre_defined_colour shall be 'red', 'green', 'blue', 'yellow', 'magenta', 'cyan', 'black', or 'white'.
EXPRESS specification:
*)
ENTITY draughting_pre_defined_text_font
SUBTYPE OF (pre_defined_text_font);
WHERE
WR1: SELF\pre_defined_item.name[1:8] = 'ISO 3098';
END_ENTITY;
(*
Formal propositions:
WR1: The name of the draughting_pre_defined_text_font shall be defined by 'ISO 3098'.
EXPRESS specification:
*)
ENTITY externally_defined_text_font
SUBTYPE OF (externally_defined_item);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY generic_character_glyph_symbol
ABSTRACT SUPERTYPE
SUBTYPE OF (symbol_representation);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY planar_box
SUBTYPE OF (planar_extent);
placement : axis2_placement;
END_ENTITY;
(*
Attribute definitions:
placement: the position and orientation of the bottom-left corner of the box. The attributes of the supertype define the length of the sides of the box along the positive x and y axes.
EXPRESS specification:
*)
ENTITY planar_extent
SUBTYPE OF (geometric_representation_item);
size_in_x : length_measure;
size_in_y : length_measure;
END_ENTITY;
(*
Attribute definitions:
size_in_x: the extent in the x axis direction.
size_in_y: the extent in the y axis direction.
NOTE Application Resources or Application Protocols specify the use of this entity. The pre_defined_colour entity further enables Application Resources or Application Protocols to fix colour values or components of colour values for their particular uses.
EXPRESS specification:
*)
ENTITY pre_defined_colour
SUBTYPE OF (pre_defined_item, colour);
END_ENTITY;
(*
NOTE Application Resources or Application Protocols specify the use of this entity.
EXPRESS specification:
*)
ENTITY pre_defined_text_font
SUBTYPE OF (pre_defined_item);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY presentation_scaled_placement
SUBTYPE OF (geometric_representation_item);
placement : axis2_placement;
scaling : positive_ratio_measure;
END_ENTITY;
(*
Attribute definitions:
placement: a placement used to define rotation and translation.
scaling: the scaling that is part of the transformation.
EXPRESS specification:
*)
ENTITY state_variable_with_colour;
state_variable : REAL;
associated_colour : colour_specification;
END_ENTITY;
(*
Attribute definitions:
state_variable: the value of a one-dimensional state_variable.
EXAMPLE Physical state variables are temperature and stress components.
associated_colour: the colour_specification associated with the state_variable.
EXAMPLE Examples for character fonts are Courier 12, Times 10, Helvetica Bold 14, 0815, ABC.
EXPRESS specification:
*)
ENTITY text_font;
id : identifier;
name : label;
description : text;
INVERSE
glyphs : SET[1:?] OF character_glyph_font_usage FOR font;
END_ENTITY;
(*
Attribute definitions:
id: the identification of the text_font.
name: the word, or group of words, by which the text_font is referred to.
description: text that relates the nature of the text_font.
glyphs: the set of character_glyph_font_usages that identify the character_glyph_symbols that participate in the text_font.
EXPRESS specification:
*)
ENTITY text_font_family;
id : identifier;
name : label;
description : text;
INVERSE
fonts : SET[1:?] OF text_font_in_family FOR family;
END_ENTITY;
(*
Attribute definitions:
id: the identification of the text_font_family.
name: the word, or group of words, by which the text_font_family is referred to.
description: text that relates the nature of the text_font_family.
fonts: the set of text_font_in_familys that identify the text_fonts that participate in the text_font_family. There shall exist at least one text_font_in_family for the text_font_family.
EXAMPLE Some font families are Courier and Helvetica. Fonts in these families include Courier 12, Helvetica Bold 14, respectively.
EXPRESS specification:
*)
ENTITY text_font_in_family;
font : text_font;
family : text_font_family;
END_ENTITY;
(*
Attribute definitions:
font: the text_font that is part of the family.
family: the text_font_family to which the text_font is assigned.
EXPRESS specification:
*)
SUBTYPE_CONSTRAINT prs_geometric_representation_item_subtypes FOR geometric_representation_item;
ONEOF (curve,
planar_extent,
presentation_scaled_placement);
END_SUBTYPE_CONSTRAINT;
(*
*)
END_SCHEMA; -- presentation_resource_schema
(*
© ISO 2021 — All rights reserved