struct

5reg

struct

A single angle structure

Content Model
    struct ::= (#PCDATA)
Attributes
Name | Type
`len` | `NUMBER` (required)

## Description

A &xml-struct; element stores a single angle structure on a 3-manifold triangulation.

An angle structure on a `T`-tetrahedron triangulation is represented by a vector of 3`T`+1 integers. This vector is stored as the character data of this &xml; element as follows.

Since an angle structure 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.

There are 3`T` actual angles stored in an angle structure; these are `0:01/23`, `0:02/13`, `0:03/12`, `1:01/23`, `1:02/13`, `1:03/12`, `2:01/23`, etc, where ``t`:`ab`/`cd`` represents the angle assigned to the edge in tetrahedron `t` that joins tetrahedron vertices `a` and `b`, as well as the (opposite) edge that joins tetrahedron vertices `c` and `d` (`a`, `b`, `c` and `d` will always be 0, 1, 2 and 3 in some order).

To determine the `k`th of these angles, take the `k`th integer in the angle structure vector, divide by the final element of the vector and multiply by π.

### Parents

The following elements contain `struct`:

- &xml-angles;

.

### Children

Element `struct` has no children.

## Attributes

`len`

- The length of the angle structure vector. This will always be 3`T`+1, where `T` is the number of tetrahedra in the underlying 3-manifold triangulation.

## Example

The following &xml; snippet represents an angle structure on a 2-tetrahedron triangulation. The angle structure vector is (0, 0, 2, 1, 1, 0, 2). The corresponding six angles are (0, 0, π, π/2, π/2, 0).

    <struct len="7"> 2 2 3 1 4 1 6 2 </struct>