# 3.3.3.123. NXms_feature_set¶

**Status**:

base class, extends NXobject

**Description**:

Set of topological/spatial features in materials build from other features.

**Symbols**:

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

d: Dimensionality

c: Cardinality/number of members/features in the feature set.

n_type_dict: Number of types in the dictionary of human-readable types of features.

n_parent_ids: Total number of parent identifier.

**Groups cited**:NXcg_point_set, NXcg_polyhedron_set, NXcg_polyline_set, NXcg_triangle_set, NXprocess

**Structure**:

@depends_on: (optional) NX_CHAR## Name (or link?) to another NXms_feature_set which defines features what are ...

Name (or link?) to another NXms_feature_set which defines features what are assumed as the parents/super_features of all members in this feature set. If depends_on is set to “.” or this attribute is not defined in an instance of this application definition, assume that this feature_set instance represents the root feature_set of the feature tree/graph.

dimensionality: (optional) NX_UINT## What is the best matching description how dimensional the feature is. ...

What is the best matching description how dimensional the feature is.

Any of these values:

`0`

|`1`

|`2`

|`3`

cardinality: (optional) NX_UINT {units=NX_UNITLESS}How many features/members are in this set?

type_dict_keyword: (optional) NX_CHAR (Rank: 1, Dimensions: [n_type_dict])## The keywords of the dictionary of human-readable types of features. ...

The keywords of the dictionary of human-readable types of features. Using terms from a community-agreed upon controlled vocabulary, e.g. atom, solute, vacancy, monomer, molecule, anti-site, crowd_ion, quadruple junction, triple line, disconnection, dislocation, kink, jog, stacking_fault, homo_phase_boundary, hetero_phase_boundary, surface, thermal_groove_root, precipitate, dispersoid, pore, crack is recommended.

type_dict_value: (optional) NX_UINT (Rank: 1, Dimensions: [n_type_dict]) {units=NX_UNITLESS}## The integer identifier used to resolve of which type each feature is, ...

The integer identifier used to resolve of which type each feature is, i.e. the values of the dictionary of human-readable types of features.

number_of_parent_identifier: (optional) NX_UINT (Rank: 1, Dimensions: [c]) {units=NX_UNITLESS}## For each feature in the set specify the associated number of identifier ...

For each feature in the set specify the associated number of identifier to parent features as are resolvable via depends_on. This array enables to compute the array interval from which details for specific features can be extracted as if they would be stored in an own group.

parent_identifier: (optional) NX_UINT (Rank: 1, Dimensions: [n_parent_ids]) {units=NX_UNITLESS}## Concatenated array of parent identifier for each feature (in the sequence) ...

Concatenated array of parent identifier for each feature (in the sequence) according to identifier and how the identifier of features in the here described feature set are defined (implicitly from 0, to c-1 or via explicit identifier.

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 features. 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 features for explicit indexing.

points: (optional) NXprocess## Assumptions and parameter to arrive at geometric primitives ...

Assumptions and parameter to arrive at geometric primitives to locate zero-dimensional/point-(like) features which are discretized/represented by points.

geometry: (optional) NXcg_point_set

uncertainty: (optional) NXprocess## Assumptions, parameters, and details how positional uncertainty ...

Assumptions, parameters, and details how positional uncertainty of the geometry is quantified.

lines: (optional) NXprocess## Assumptions and parameters to arrive at geometric primitives ...

Assumptions and parameters to arrive at geometric primitives to locate one-dimensional/line-like features which are discretized by polylines.

geometry: (optional) NXcg_polyline_set

uncertainty: (optional) NXprocess## Assumptions, parameters, and details how positional uncertainty ...

Assumptions, parameters, and details how positional uncertainty of the geometry is quantified.

interfaces: (optional) NXprocess## Assumptions and parameters to arrive at geometric primitives ...

Assumptions and parameters to arrive at geometric primitives to locate two-dimensional/interface features which are discretized by triangulated surface meshes.

geometry: (optional) NXcg_triangle_set

uncertainty: (optional) NXprocess## Assumptions, parameters, and details how positional uncertainty ...

Assumptions, parameters, and details how positional uncertainty of the geometry is quantified.

volumes: (optional) NXprocess## Assumptions and parameters to arrive at geometric primitives ...

Assumptions and parameters to arrive at geometric primitives to locate three-dimensional/volumetric features which are discretized by triangulated surface meshes of polyhedra.

geometry: (optional) NXcg_polyhedron_set

uncertainty: (optional) NXprocess## Assumptions, parameters, and details how positional uncertainty ...

Assumptions, parameters, and details how positional uncertainty of the geometry is quantified.

## Hypertext Anchors¶

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