The SEDRIS Data Representation Model
APPENDIX A - Classes
Mesh Face Table

Class Name: Mesh Face Table

Superclass - <Data Table>

Subclasses

This DRM class is concrete and has no subclasses.

Definition

An instance of this DRM class is a 2-dimensional <Data Table>, classified as ECC_MESH_FACE_SET, which defines the face elements of a < Finite Element Mesh> instance in terms of vertex numbers in the ordered <Vertex> component list of the <Finite Element Mesh>.

The two <Regular Axes> of a <Mesh Face Table> instance are constrained as follows.

  1. The first <Regular Axis> assigns an index value to each mesh face in the table.
    Field Value
    axis_type { SE_ELEM_CODE_TYP_INDEX, { SE_INDEX_CODE_MESH_FACE }}
    axis_value_count total number of Mesh Faces in the table.
    interpolation_type SE_INTERPOLATION_TYP_DISALLOWED
    first_value 1
    spacing 1
    spacing_type SE_SPACING_TYP_ARITHMETIC
    axis_alignment SE_AXIS_ALNMNT_NONE
    value_unit EUC_UNITLESS
    value_scale ESC_UNI
  2. The second <Regular Axis> assigns an index value to each mesh node in the table.
    Field Value
    axis_type { SE_ELEM_CODE_TYP_INDEX, { SE_INDEX_CODE_MESH_NODE }}
    axis_value_count M + R,
    where M = the maximum number of nodes for any one Mesh Face in the table, and
    R = is the maximum number of perimeter rings in any one mesh face.
    (If all the mesh faces have simply connected perimeters, then R=1)
    interpolation_type SE_INTERPOLATION_TYP_DISALLOWED
    first_value 1
    spacing 1
    spacing_type SE_SPACING_TYP_ARITHMETIC
    axis_alignment SE_AXIS_ALNMNT_NONE
    value_unit EUC_UNITLESS
    value_scale ESC_UNI

The <Table Property Descriptions> of a <Mesh Face Table> instance are constrained as follows.

  1. The first < Table Property Description> specifies, for cell i, j, the index in the ordered <Vertex> list of the <Vertex> representing the jth node of the ith mesh face.

    If the ith mesh face contains less than j nodes, so that j is greater than the number of the last listed node of mesh face i, then the cell data element contains zero (0).

    Field Value
    meaning { SE_ELEM_CODE_TYP_INDEX, { SE_INDEX_CODE_MESH_VERTEX}}
    value_type SE_PDV_INTEGER_UNSIGNED
    value_unit EUC_UNITLESS
    value_scale ESC_UNI
    Note that the edges of each mesh face i are implicitly defined by this < Table Property Description>, by pairing node j to node j + 1.

  2. The optional second < Table Property Description> defines surface topology by indicating, for each edge (j, j + 1) of mesh face i, the index of mesh face k (if any) that is adjacent to mesh face i along the edge.

    A value of 0 indicates an "outside" or "universal" adjacency. A value of i for mesh face i indicates that the edge is artificially connecting an inside perimeter ring to another perimeter ring.

    Field Value
    meaning { SE_ELEM_CODE_TYP_INDEX, { SE_INDEX_CODE_ADJACENT_MESH_FACE}}
    value_type SE_PDV_INTEGER_UNSIGNED
    value_unit EUC_UNITLESS
    value_scale ESC_UNI

For a given SE_INDEX_CODE_MESH_FACE i (>0) and SE_INDEX_CODE_MESH_NODE j, the (i, j)-th cell gives the vertex number that comprises the j-th node of the i-th mesh face. The mesh face vertices are listed (j index) in clockwise order around the outer perimeter of the mesh face, starting and ending with a first vertex. If inner perimeter rings are present, the vertex list along the SE_INDEX_CODE_MESH_NODE axis continues with inner perimeter vertices in counter-clockwise order starting and ending with a first vertex on each inner ring.

The mesh face node ordering implicitly defines the edges of each mesh face. The data provider has the option of defining Surface topology by adding a second <Table Property Description>, with meaning SE_INDEX_CODE_ADJACENT_MESH_FACE, to each cell. The SE_INDEX_CODE_ADJACENT_MESH_FACE in cell (i,j) is the mesh face adjacent to mesh face i at the edge between nodes j and j+1.

Primary Page in DRM Diagram:

Secondary Pages in DRM Diagram:

Example

  1. Consider 6 <Vertex> instances, used to define a <Mesh Face Table>, where the mesh would be diagrammed as follows.

        (k) =  k
    
        Mesh:
    
            (1)-----(2)-----(3)
             \  A  /  \  B   |
              \   /  C \     |
               (4)------(5)-(6)
    

    So in this example, we have 6 <Vertices> forming the nodes of the mesh, which has 3 mesh faces (A, B, C).

    The corresponding <Mesh Face Table>, without surface topology, would be organized as follows, where each individual cell contains a vertex number.

    ALIGN=CENTER>Node Number
    1 2 3 4 5
    1 (Mesh Face A) 1 2 4 1 0
    2 (Mesh Face B) 2 3 6 5 2
    3 (Mesh Face C) 4 2 5 4 0

  2. Consider the < Mesh Face Table> from the previous example, with the addition of surface topology. In this instance, each individual cell contains a {vertex number, adjacent mesh face number} pair.

    ALIGN=CENTER>Node Number
    1 2 3 4 5
    1 (Mesh Face A) 1, 0 2, 3 4, 0 1, 0 0, 0
    2 (Mesh Face B) 2, 0 3, 0 6, 0 5, 3 2, 0
    3 (Mesh Face C) 4, 1 2, 2 5, 0 4, 0 0, 0

FAQs

Isn't a <Mesh Face Table> just an instance of a <Property Table>?
No. A <Mesh Face Table> has very rigid constraints on the values of its <Axis> and <Table Property Description> components, cell data ordering, and classification. Furthermore, a <Mesh Face Table> can only be instantiated as a component of a < Finite Element Mesh>.

What is the ordering rule for the SE_INDEX_CODE_MESH_VERTEX <Table Property Description>?
The rule is:

For a given SE_INDEX_CODE_MESH_VERTEX i, the nodes j shall be listed starting from a vertex on the outside perimeter of the Mesh Face and continuing consecutively around the perimeter in clockwise direction until the first vertex is reached (and repeated). If "inside" perimeters exist, node numbering continues counter clockwise around each internal ring in similar fashion. Clockwise implies an "up" direction. If the < Finite Element Mesh> is a surface, then "up" should be chosen consistently across all Mesh Faces. However, if the mesh is a solid mesh, then "up" is arbitrary for each Mesh Face.

Constraints

Composed of (two-way)(inherited)

Composed of (two-way)

Composed of (two-way metadata)(inherited)

Component of (two-way)(inherited)

Component of (two-way)

Inherited Field Elements

This class has no inherited field elements.

Notes

Composed of Notes


Classification_Data

 Indicates the kind of information represented by the
 <Data Table>, such as terrain elevation or
 water characteristics.

Prev: Map Scale Level Of Detail Data. Next: Model. Up:Index.

Last updated: October 1, 2002 Copyright © 2002 SEDRIS™