# surface

## Name

surface — A single normal surface in a 3-manifold triangulation

## Synopsis

Content Model

    surface ::= (#PCDATA,
                 compact (surface)?,
                 connected?, euler (surface)?,
                 orbl (surface)?, realbdry (surface)?,
                 twosided?)

Attributes
Name | Type
`len` | NUMBER (required)
`name` | CDATA

## Description

A `surface` element stores a single normal surface in a 3-manifold triangulation.

A normal surface in a `T`-tetrahedron triangulation is traditionally represented by a vector of integers, whose length depends upon the underlying coordinate system. For instance, under standard tri-quad coordinates the vector will have length 7`T`, and under quad coordinates it will have length 3`T`. The underlying coordinate system is specified in the `params` element of the parent `packet` (normal surface list).

The normal surface vector is stored as the character data of this XML element as follows. Since a normal surface vector will generally contain many zeroes, only the non-zero elements are listed. The character data should thus consist of a whitespace-separated sequence of integer pairs. Each integer pair represents a non-zero coordinate in the vector; the first element of the pair identifies which coordinate is being described (coordinates are numbered 0, 1, 2, ...) and the second element of the pair is the actual value at this coordinate.

### Parents

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

### Children

The following elements occur in `surface`: `compact` (surface), `connected`, `euler` (surface), `orbl` (surface), `realbdry` (surface), `twosided`.

## Attributes

`len`

  The length of the underlying normal surface vector. This depends upon the coordinate system in which the normal surface was originally generated.

`name`

  A human-readable name given to this surface. Surface names need not be distinct and exist merely for the convenience of the user.

## Example

The following XML snippet represents a normal surface in a 4-tetrahedron triangulation. The normal surface vector is:

    (0, 0, 0, 0, 0, 2, 0,
     0, 0, 1, 1, 1, 0, 0,
     1, 1, 0, 0, 1, 0, 0,
     0, 0, 0, 0, 0, 2, 0)

The child elements of this normal surface indicate that the surface has Euler characteristic -2 and real boundary, and is compact, connected, orientable and two-sided.

    <surface len="28"> 5 2 9 1 10 1 11 1 14 1 15 1 18 1 26 2
        <euler value="-2"/>
        <realbdry value="T"/>
        <compact value="T"/>
        <connected value="1"/>
        <orbl value="1"/>
        <twosided value="1"/> </surface>