(* $Id: presentation_resource_schema.exp,v 1.21 2017/08/11 15:18:45 kevletu Exp $ ISO 10303 TC184/SC4/WG12 N9794 EXPRESS Source: ISO 10303-46 ed3 Visual presentation - Presentation resource schema The following permission notice and disclaimer shall be included in all copies of this EXPRESS schema ("the Schema"), and derivations of the Schema: Copyright ISO 2017 All rights reserved Permission is hereby granted, free of charge in perpetuity, to any person obtaining a copy of the Schema, to use, copy, modify, merge and distribute free of charge, copies of the Schema for the purposes of developing, implementing, installing and using software based on the Schema, and to permit persons to whom the Schema is furnished to do so, subject to the following conditions: THE SCHEMA IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SCHEMA OR THE USE OR OTHER DEALINGS IN THE SCHEMA. In addition, any modified copy of the Schema shall include the following notice: THIS SCHEMA HAS BEEN MODIFIED FROM THE SCHEMA DEFINED IN ISO 10303-46 ed3 Visual presentation - Presentation resource schema AND SHOULD NOT BE INTERPRETED AS COMPLYING WITH THAT STANDARD *) SCHEMA presentation_resource_schema '{iso standard 10303 part(46) version(6) object(1) presentation_resource_schema(4)}'; 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); TYPE font_select = SELECT (pre_defined_text_font, externally_defined_text_font, text_font); END_TYPE; TYPE staircase_or_linear = ENUMERATION OF (staircase, linear); END_TYPE; ENTITY character_glyph_font_usage; character : generic_character_glyph_symbol; font : text_font; END_ENTITY; 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; 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; ENTITY character_glyph_symbol_stroke SUBTYPE OF (character_glyph_symbol); strokes : SET [1:?] OF curve; WHERE WR1: strokes <= SELF\representation.items; END_ENTITY; ENTITY colour; END_ENTITY; ENTITY colour_associated SUBTYPE OF (colour); name : label; variable_to_be_shown : SET [1:?] OF REAL; mapping : colour_association_table; END_ENTITY; ENTITY colour_association_table; discrete_states_with_colours : LIST [1:?] OF state_variable_with_colour; interpolation_type : staircase_or_linear; END_ENTITY; 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; ENTITY colour_specification SUBTYPE OF (colour); name : label; END_ENTITY; 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; 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; ENTITY externally_defined_text_font SUBTYPE OF (externally_defined_item); END_ENTITY; ENTITY generic_character_glyph_symbol ABSTRACT SUPERTYPE SUBTYPE OF (symbol_representation); END_ENTITY; ENTITY planar_box SUBTYPE OF (planar_extent); placement: axis2_placement; END_ENTITY; ENTITY planar_extent SUBTYPE OF (geometric_representation_item); size_in_x : length_measure; size_in_y : length_measure; END_ENTITY; ENTITY pre_defined_colour SUBTYPE OF (pre_defined_item, colour); END_ENTITY; ENTITY pre_defined_text_font SUBTYPE OF (pre_defined_item); END_ENTITY; ENTITY presentation_scaled_placement SUBTYPE OF (geometric_representation_item); placement : axis2_placement; scaling : positive_ratio_measure; END_ENTITY; ENTITY state_variable_with_colour; state_variable : REAL; associated_colour : colour_specification; END_ENTITY; ENTITY text_font; id : identifier; name : label; description : text; INVERSE glyphs : SET [1:?] OF character_glyph_font_usage FOR font; END_ENTITY; ENTITY text_font_family; id : identifier; name : label; description : text; INVERSE fonts : SET [1:?] OF text_font_in_family FOR family; END_ENTITY; ENTITY text_font_in_family; font : text_font; family : text_font_family; END_ENTITY; 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