3.3.1.36. NXcg_half_edge_data_structure

Status:

base class, extends NXcg_primitive

Description:

Computational geometry description of a half-edge data structure. …

Computational geometry 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. The data structure is also known as a doubly connected edge list.

Indices can be used as identifier and thus names for individual instances.

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} ⤆

Dimensionality of the primitives described.

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

Number of vertices for each face. …

Number of vertices for each face.

Each entry represents the total number of vertices for that face, irrespectively whether vertices are shared among faces or not.

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

Number of edges for each face. …

Number of edges for each face.

Each entry represents the total number of edges for that face, irrespectively whether edges are shared across faces or not.

index_offset_vertex: (optional) NX_INT {units=NX_UNITLESS}

Integer offset whereby the identifier of the first member …

Integer offset whereby the identifier of the first member of the vertices differs from zero.

Identifier can be defined explicitly or implicitly. Inspect the definition of NXcg_primitive for further details.

index_offset_edge: (optional) NX_INT {units=NX_UNITLESS}

Integer offset whereby the identifier of the first member …

Integer offset whereby the identifier of the first member of the edges differs from zero.

Identifier can be defined explicitly or implicitly. Inspect the definition of NXcg_primitive for further details.

index_offset_face: (optional) NX_INT

Integer offset whereby the identifier of the first member …

Integer offset whereby the identifier of the first member of the faces differs from zero.

Identifier can be defined explicitly or implicitly. Inspect the definition of NXcg_primitive for further details.

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

The position of the vertices.

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

Identifier of the incident half-edge.

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

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

half_edge_vertex_origin: (optional) NX_INT (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_INT (Rank: 1, Dimensions: [n_he]) {units=NX_UNITLESS}

Identifier of the associated oppositely pointing half-edge.

half_edge_incident_face: (optional) NX_INT (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_INT (Rank: 1, Dimensions: [n_he]) {units=NX_UNITLESS}

Identifier of the next half-edge.

half_edge_prev: (optional) NX_INT (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, links, and symbols defined in this class.

NXDL Source:

https://github.com/nexusformat/definitions/blob/main/base_classes/NXcg_half_edge_data_structure.nxdl.xml