2.3.3.3.63. NXcg_parallelogram_set

Status:

base class, extends NXcg_primitive_set

Description:

Computational geometry description of a set of parallelograms. ...

Computational geometry description of a set of parallelograms.

This class can also be used to describe rectangles or squares, irrespective whether these are axis-aligned or not. The class represents different access and description levels to embrace applied scientists and computational geometry experts with their different views:

  • The simplest case is the communication of dimensions aka the size of a region of interest in the 2D plane. In this case, communicating the alignment with axes is maybe not as relevant as it is to report the area of the ROI.

  • In other cases the extent of the parallelogram is relevant though.

  • Finally, in CAD models it should be possible to specify the polygons which the parallelograms represent with exact numerical details.

Parallelograms are important geometrical primitives as their usage for describing many scanning experiments shows where typically parallelogram-shaped ROIs are scanned across the surface of a sample.

The term parallelogram will be used throughout this base class thus including the important special cases rectangle, square, 2D box, axis-aligned bounding box (AABB), or optimal bounding box (OBB) as analogous 2D variants to their 3D counterparts. See NXcg_hexahedron_set for the generalization in 3D.

An axis-aligned bounding box is a common data object in computational science and simulation codes to represent a rectangle whose edges are aligned with the axes of a coordinate system. As a part of binary trees AABBs are important data objects for executing time- as well as space-efficient queries of geometric primitives in techniques like kd-trees.

An optimal bounding box is a common data object which provides the best, i.e. most tightly fitting box about an arbitrary object. In general such boxes are rotated. Other than in 3D dimensions, the rotation calipher method offers a rigorous approach to compute an optimal bounding box to a point set in 2D.

Symbols:

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

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

Groups cited:

NXcg_face_list_data_structure

Structure:

is_rectangle: (optional) NX_BOOLEAN (Rank: 1, Dimensions: [c])

To specify which parallelogram is a rectangle.

is_axis_aligned: (optional) NX_BOOLEAN (Rank: 1, Dimensions: [c])

Only to be used if is_rectangle is present. In this case, this field ...

Only to be used if is_rectangle is present. In this case, this field describes whether parallelograms are rectangles whose primary edges are parallel to the axes of the coordinate system.

parallelograms: (optional) NXcg_face_list_data_structure

Combined storage of all primitives of all parallelograms.

parallelogramID: (optional) NXcg_face_list_data_structure

Individual storage of each parallelogram.

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_parallelogram_set.nxdl.xml