2.3.3.3.65. NXcg_polygon_set

Status:

base class, extends NXcg_primitive_set

Description:

Computational geometry description of a set of polygons in Euclidean space. ...

Computational geometry description of a set of polygons in Euclidean space.

Polygons are specialized polylines:

  • A polygon is a geometric primitive that is bounded by a closed polyline

  • All vertices of this polyline lay in the d-1 dimensional plane. whereas vertices of a polyline do not necessarily lay on a plane.

  • A polygon has at least three vertices.

Each polygon is built from a sequence of vertices (points with identifiers). The members of a set of polygons may have a different number of vertices. Sometimes a collection/set of polygons is referred to as a soup of polygons.

As three-dimensional objects, a set of polygons can be used to define the hull of what is effectively a polyhedron; however users are advised to use the specific NXcg_polyhedron_set base class if they wish to describe closed polyhedra. Even more general complexes can be thought of. An example are the so-called piecewise-linear complexes used in the TetGen library.

As these complexes can have holes though, polyhedra without holes are one subclass of such complexes, users should rather design an own base class e.g. NXcg_polytope_set to describe such even more complex primitives instead of abusing this base class for such purposes.

Symbols:

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

d: The dimensionality, which has to be either 2 or 3.

c: The cardinality of the set, i.e. the number of polygons.

n_total: The total number of vertices when visiting every polygon.

Groups cited:

NXcg_face_list_data_structure, NXcg_half_edge_data_structure

Structure:

number_of_total_vertices: (optional) NX_INT {units=NX_UNITLESS}

The total number of vertices in the set.

edge_length: (optional) NX_NUMBER (Rank: 1, Dimensions: [c]) {units=NX_LENGTH}

For each polygon its accumulated length along its edges.

interior_angle: (optional) NX_NUMBER (Rank: 1, Dimensions: [n_total]) {units=NX_ANGLE}

Interior angles for each polygon. There are as many values per polygon ...

Interior angles for each polygon. There are as many values per polygon as the are number_of_vertices. The angle is the angle at the specific vertex, i.e. between the adjoining edges of the vertex according to the sequence in the polygons array. Usually, the winding_order field is required to interpret the value.

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

Curvature type: ...

Curvature type:

  • 0 - unspecified,

  • 1 - convex,

  • 2 - concave

polygons: (optional) NXcg_face_list_data_structure

Combined storage of all primitives of all polygons.

polygonID: (optional) NXcg_face_list_data_structure

Individual storage of the mesh of each polygon.

polygon_half_edgeID: (optional) NXcg_half_edge_data_structure

Individual storage of each polygon as a graph.

Hypertext Anchors

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

NXDL Source:

https://github.com/FAIRmat-NFDI/nexus_definitions/tree/fairmat/contributed_definitions/NXcg_polygon_set.nxdl.xml