NXcg_polygon_set¶
Status:
base class, extends NXobject
Description:
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:
NXcg_face_list_data_structure, NXcg_hexahedron_set, NXcg_unit_normal_set
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 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_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:
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 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.