# params

## Name

params — Parameters for a normal surface/hypersurface enumeration

## Synopsis

Content Model

    params ::=

Attributes
Name | Type
`algorithm` | CDATA (required)
`embedded` | CDATA (deprecated)
`flavour` | CDATA
`flavourid` | NUMBER (required)
`type` | NUMBER (required)

## Description

A `params` element stores the parameters used in an enumeration of vertex normal surfaces or hypersurfaces. Typically these parameters are supplied by the user when a new normal surface/hypersurface list is created.

### Parents

The following elements contain `param`: `packet` (normal hypersurface list), `packet` (normal surface list).

### Children

Element `params` has no children.

## Attributes

`algorithm`

  Specifies the algorithm that was used to enumerate these normal surfaces/hypersurfaces.

  This must be an integer, formed as a bitwise OR combination of constants from Regina's calculation engine. For normal surfaces in a 3-manifold triangulation, these constants are taken from the `NormalAlgFlags` enumeration; for normal hypersurfaces in a 4-manifold triangulation, they are taken from the `HyperAlgFlags` enumeration.

  An example of such an integer might be 17, which combines the 3-dimensional `NormalAlgFlags` constants `NS_VERTEX_VIA_REDUCED` (1) and `NS_TREE` (16).

`embedded`

  Deprecated. This should be `T` if only embedded normal surfaces were enumerated to form this list, or `F` if all (embedded, immersed and singular) normal surfaces were enumerated.

  You should write this tag if you want your file to be read by Regina 4.93 or earlier. Later versions of Regina can also read it; however, they prefer the new `type` and `algorithm` tags, which contain richer information. If both `type` and `algorithm` are present then this `embedded` tag will be ignored.

`flavour`

  The flavour of coordinate system used in the normal surface/hypersurface enumeration, expressed as a human-readable string. Example flavours are `Quad normal` and `Standard almost normal (tri-quad-oct)`.

`flavourid`

  The flavour of coordinate system used in the normal surface/hypersurface enumeration, expressed as an internal identification code. This must be a non-negative integer that matches one of the coordinate system constants in Regina's calculation engine. For normal surfaces in a 3-manifold triangulation, this constant is taken from the `NormalCoords` enumeration; for normal hypersurfaces in a 4-manifold triangulation, it is taken from the `HyperCoords` enumeration.

  An example of such an integer might be 102, which is the 3-dimensional constant `NS_AN_QUAD_OCT` that represents standard coordinates for octagonal almost normal surfaces.

`type`

  Specifies exactly which normal surfaces/hypersurfaces this list contains. In particular, this flag indicates whether the list contains all vertex surfaces, all fundamental surfaces, or some other customised list. It also indicates whether the list is restricted to properly embedded surfaces (thereby replacing the obsolete `embedded` tag described above).

  This must be an integer, formed as a bitwise OR combination of constants from Regina's calculation engine. For normal surfaces in a 3-manifold triangulation, these constants are taken from the `NormalListFlags` enumeration; for normal hypersurfaces in a 4-manifold triangulation, they are taken from the `HyperListFlags` enumeration.

  An example of such an integer might be 5, which combines the 3-dimensional `NormalListFlags` constants `NS_EMBEDDED_ONLY` (1) and `NS_VERTEX` (4).