# 3.3.3.51. NXcg_polygon_set¶

Status:

base class, extends NXobject

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 related 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, for instance piecewise-linear complexes, as these 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.

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:

Structure:

dimensionality: (optional) NX_POSINT {units=NX_UNITLESS}

Any of these values: `2` | `3`

cardinality: (optional) NX_POSINT {units=NX_UNITLESS}

number_of_total_vertices: (optional) NX_POSINT {units=NX_UNITLESS}

identifier_offset: (optional) NX_INT {units=NX_UNITLESS}

Integer which specifies the first index to be used for distinguishing ...

Integer which specifies the first index to be used for distinguishing polygons. Identifiers are defined either implicitly or explicitly. For implicit indexing the identifiers are defined on the interval [identifier_offset, identifier_offset+c-1]. For explicit indexing the identifier array has to be defined.

The identifier_offset field can for example be used to communicate if the identifiers are expected to start from 1 (referred to as Fortran-/Matlab-) or from 0 (referred to as C-, Python-style index notation) respectively.

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

Integer used to distinguish polygons for explicit indexing.

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

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

The accumulated length of the polygon edge.

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

Array of interior angles. There are many values per polygon as number_of_verti ...

Array of interior angles. There are many values per polygon as 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

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

The center of mass of each polygon.

polygons: (optional) NXcg_face_list_data_structure

A simple approach to describe the entire set of polygons when the ...

A simple approach to describe the entire set of polygons when the main intention is to store the shape of the polygons for visualization.

vertex_normal: (optional) NXcg_unit_normal_set

edge_normal: (optional) NXcg_unit_normal_set

face_normal: (optional) NXcg_unit_normal_set

bounding_box: (optional) NXcg_hexahedron_set

Axis-aligned or (approximate) (optimal) bounding boxes to each polygon.

## Hypertext Anchors¶

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

NXDL Source:

https://github.com/nexusformat/definitions/blob/main/contributed_definitions/NXcg_polygon_set.nxdl.xml