NXcg_half_edge_data_structure

Status:

base class, extends NXobject

Description:

Computational geeometry description of a half-edge data structure.

Such a data structure can be used to efficiently circulate around faces and iterate over vertices of a planar graph.

Symbols:

The symbols used in the schema to specify e.g. dimensions of arrays.

d: The dimensionality, which has to be at least 2.

n_v: The number of vertices.

n_f: The number of faces.

n_he: The number of half-edges.

Groups cited:

none

Structure:

dimensionality: (optional) NX_POSINT {units=NX_UNITLESS}

number_of_vertices: (optional) NX_POSINT {units=NX_UNITLESS}

number_of_faces: (optional) NX_POSINT {units=NX_UNITLESS}

number_of_half_edges: (optional) NX_POSINT {units=NX_UNITLESS}

vertex_identifier_offset: (optional) NX_INT {units=NX_UNITLESS}

In this half-edge data structure vertex identifiers start at 1. Vertices are identified with consecutive integers up to number_of_vertices. This field can be used to document which constant integer has to be added to another set of vertex_identifier to assure that these other identifiers also start at 1.

face_identifier_offset: (optional) NX_INT {units=NX_UNITLESS}

In this half-edge data structure face identifiers start at 1. Faces are identified with consecutive integers up to number_of_faces. This field can be used to document which constant integer has to be added to another set of face_identifier to assure that these other identifiers also start at 1.

The face identifier zero is reserved for the NULL face !

half_edge_identifier_offset: (optional) NX_INT {units=NX_UNITLESS}

In this half-edge data structure half-edge identifiers start at 1. Half-edges are identified with consecutive integers up to number_of_half_edges. This field can be used to document which constant integer has to be added to another set of half_edge_identifier to assure that these other identifiers also start at 1.

position: (optional) NX_NUMBER (Rank: 2, Dimensions: [n_v, d]) {units=NX_LENGTH}

The position of the vertices.

vertex_incident_half_edge: (optional) NX_UINT (Rank: 1, Dimensions: [n_v]) {units=NX_UNITLESS}

Identifier of the incident half-edge.

face_half_edge: (optional) NX_UINT (Rank: 1, Dimensions: [n_f]) {units=NX_UNITLESS}

Identifier of the (starting)/associated half-edge of the face.

half_edge_vertex_origin: (optional) NX_UINT (Rank: 1, Dimensions: [n_he]) {units=NX_UNITLESS}

The identifier of the vertex from which this half-edge is outwards pointing.

half_edge_twin: (optional) NX_UINT (Rank: 1, Dimensions: [n_he]) {units=NX_UNITLESS}

Identifier of the associated oppositely pointing half-edge.

half_edge_incident_face: (optional) NX_UINT (Rank: 1, Dimensions: [n_he]) {units=NX_UNITLESS}

If the half-edge is a boundary half-edge the incident face identifier is NULL, i.e. 0.

half_edge_next: (optional) NX_UINT (Rank: 1, Dimensions: [n_he]) {units=NX_UNITLESS}

Identifier of the next half-edge.

half_edge_prev: (optional) NX_UINT (Rank: 1, Dimensions: [n_he]) {units=NX_UNITLESS}

Identifier of the previous half-edge.

weinberg_vector: (optional) NX_CHAR

Users are referred to the literature for the background of L. Weinberg’s work about topological characterization of planar graphs:

and how this work can e.g. be applied in space-filling tessellations of microstructural objects like crystals/grains.

Hypertext Anchors

List of hypertext anchors for all groups, fields, attributes, and links defined in this class.

NXDL Source:

https://github.com/FAIRmat-Experimental/nexus_definitions/tree/fairmat/contributed_definitions/NXcg_half_edge_data_structure.nxdl.xml