# 3.3.3.46. NXcg_half_edge_data_structure¶

**Status**:

base class, extends NXobject

**Description**:

## Computational geeometry description of a half-edge data structure. ...

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. ...

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. ...

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. ...

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 ...

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 ...

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.

/NXcg_half_edge_data_structure/half_edge_identifier_offset-field

/NXcg_half_edge_data_structure/half_edge_incident_face-field

/NXcg_half_edge_data_structure/half_edge_vertex_origin-field

/NXcg_half_edge_data_structure/vertex_identifier_offset-field

/NXcg_half_edge_data_structure/vertex_incident_half_edge-field