Application module: Vertex colours for tessellated geometry ISO/TS 10303-1836:2019(E)
© ISO

Cover page
Table of contents
Copyright
Foreword
Introduction
1 Scope
2 Normative references
3 Terms, definitions and abbreviated terms
    3.1 Terms and definitions
    3.2 Abbreviated terms

4 Information requirements
   4.1 Required AM ARMs
   4.2 ARM type definitions
   4.3 ARM entity definition
   4.4 ARM function definition
5 Module interpreted model
   5.1 Mapping specification
   5.2 MIM EXPRESS short listing

A MIM short names
B Information object registration
C ARM EXPRESS-G   EXPRESS-G
D MIM EXPRESS-G   EXPRESS-G
E Computer interpretable listings
F Change history
Bibliography
Index

4 Information requirements

This clause specifies the information requirements for the Vertex colours for tessellated geometry application module. The information requirements are specified as the Application Reference Model (ARM) of this application module.

NOTE 1  A graphical representation of the information requirements is given in Annex C.

NOTE 2  The mapping specification is specified in 5.1. It shows how the information requirements are met by using common resources and constructs defined or imported in the MIM schema of this application module.

This clause defines the information requirements to which implementations shall conform using the EXPRESS language as defined in ISO 10303-11. The following begins the Vertex_colours_for_tessellated_geometry_arm schema and identifies the necessary external references.

EXPRESS specification:

*)
SCHEMA Vertex_colours_for_tessellated_geometry_arm;
(*

4.1 Required AM ARMs

The following EXPRESS interface statements specify the elements imported from the ARMs of other application modules.

EXPRESS specification:

*)
USE FROM Appearance_assignment_arm;    --  ISO/TS 10303-1001

USE FROM Tessellated_geometry_arm;    --  ISO/TS 10303-1819
(*

NOTE 1   The schemas referenced above are specified in the following part of ISO 10303:

Appearance_assignment_arm ISO/TS 10303-1001
Tessellated_geometry_arm ISO/TS 10303-1819

NOTE 2   See Annex C, Figures C.1and C.2 for a graphical representation of this schema.

4.2 ARM type definitions

This subclause specifies the ARM types for this application module. The ARM types and definitions are specified below.

4.2.1 colour_type_enum   EXPRESS-G

The colour_type_enum is an enumeration of colour formats to be associated with vertices of tessellated geometry.

EXPRESS specification:

*)
TYPE colour_type_enum = ENUMERATION OF
   (RGB8,
    RGBT8);
END_TYPE;
(*

Enumerated item definitions:

RGB8: Red Green Blue Eight-bit-integer storage colour-model format.

RGBT8: Red Green Blue Transparency Eight-bit-integer storage colour-model format.

4.2.2 tessellated_surface_item   EXPRESS-G

The tessellated_surface_item type allows for the designation of the data types Tessellated_face, Tessellated_shell, Tessellated_solid, and Tessellated_surface_set.

EXPRESS specification:

*)
TYPE tessellated_surface_item = SELECT
   (Tessellated_face,
    Tessellated_shell,
    Tessellated_solid,
    Tessellated_surface_set);
END_TYPE;
(*

4.2.3 unsigned_8_bit_integer   EXPRESS-G

The unsigned_8_bit_integer type is an unsigned integer with binary representation of eight bits.

EXPRESS specification:

*)
TYPE unsigned_8_bit_integer = INTEGER;
WHERE
  WR1: { 0 <= SELF <= 255 };
END_TYPE;
(*

Formal propositions:

WR1: The value of the integer shall be be in the range 0 to 255 inclusive.

4.3 ARM entity definition

This subclause specifies the ARM entity for this module. The ARM entity is an atomic element that embodies a unique application concept and contains attributes specifying the data elements of the entity. The ARM entity and definition is specified below.

4.3.1 Styled_tessellated_element_with_colours   EXPRESS-GMapping table

A Styled_tessellated_element_with_colours is a type of Styled_element that assigns colour values to the vertices of tessellated surfaces.

EXPRESS specification:

*)
ENTITY Styled_tessellated_element_with_colours
  SUBTYPE OF (Styled_element);
  SELF\Styled_element.element : tessellated_surface_item;
  colour_type : colour_type_enum;
  colour_values : LIST[1:?] OF LIST[3:4] OF unsigned_8_bit_integer;
DERIVE
  coloured_coordinate_values : Coordinates_list := get_coordinate_values(element);
WHERE
  WR1: NOT EXISTS(SELF\styled_element.appearance);
  WR2: ((colour_type = RGB8) AND (SIZEOF(QUERY(clist <* SELF.colour_values | NOT (SIZEOF(clist) = 3)))= 0)) OR ((colour_type = RGBT8) AND (SIZEOF(QUERY(clist <* SELF.colour_values | NOT (SIZEOF(clist) = 4)))= 0));
  WR3: SIZEOF(colour_values) = coloured_coordinate_values.npoints;
  WR4: SELF\styled_element.invisible = FALSE;
END_ENTITY;
(*

Attribute definitions:

element: the tessellated geometry to which the colours are assigned, this may be a Tessellated_face, a Tessellated_shell, a Tessellated_solid, or a Tessellated_surface_set.

colour_type: specifies the colour formats used by the colour_values attribute

colour_values: specifies an unlimited list of three or four integers representing a vertex colour.

coloured_coordinate_values: the Coordinates_list of the tessellated_surface_item specified by the element attribute; this Coordinates_list is populated by the get_coordinate_values function.

Formal propositions:

WR1: The inherited appearance attribute shall not exist.

WR2: If the colour_type is RGB8 then colour_values shall be a list of three unsigned eight-bit integers, or, if the colour_type is RGBT8 then colour_values shall be a list of four unsigned eight-bit integers.

WR3: The number of colour_values shall be equal to the number of points in the associated Coordinates_list.

WR4: The inherited invisible attribute shall have a value of FALSE.

4.4 ARM function definition

This subclause specifies the ARM function for this module. The ARM function and definition is specified below.

4.4.1 get_coordinate_values

The get_coordinate_values function returns the Coordinates_list for a Tessellated_face, a Tessellated_shell, a Tessellated_solid, or a Tessellated_surface_set.

NOTE    the fully elaborated function is provided in the the presentation_appearance_schema.

EXPRESS specification:

*)
FUNCTION get_coordinate_values (input : tessellated_surface_item) : Coordinates_list;
RETURN(?);
END_FUNCTION;
(*

Argument definitions:

input: the Tessellated_face, Tessellated_shell, Tessellated_solid, or Tessellated_surface_set, for which the Coordinates_list is required.



*)
END_SCHEMA;  -- Vertex_colours_for_tessellated_geometry_arm
(*


© ISO 2019 — All rights reserved