tri |
Prev | Current Data File Format | Next |
Name
tri — A triangulation packet
Synopsis
Content Model | |
tri ::= ( | |
Name | Type |
Attributes | |
dim | NUMBER (required) |
perm | CDATA (required) |
size | NUMBER (required) |
id | CDATA |
label | CDATA |
Added in Regina 7.0
Description
This represents a triangulation packet, one of the many types of packet that together form the packet tree that a user sees when they open a Regina data file.
A triangulation packet stores a d
-dimensional
triangulation (typically of a d
-manifold),
for any dimension
2 ≤ d
≤ 15.
The total number of top-dimensional simplices in the triangulation
(e.g., the total number of tetrahedra in the case
d
= 3) must be specified by the
size
attribute. The individual simplices are
numbered 0, 1, 2, etc., and the gluings between them are described by the
corresponding child simplex
elements. There must be precisely
size
child simplex
elements in total.
There are additional optional child elements
(e.g., fundgroup
, H1
, etc.) that can be used to store
known properties of this triangulation. Some of these are only used in
particular dimensions, as noted in the
Children section below.
There are several child XML elements that are common to all packet types.
The tag
elements represent an arbitrary set of string
“tags” that users can attach to a packet to help organise
their data.
The remaining child elements list all of Regina's packet types
(container
, textdata
, etc.), and these represent the
immediate children of this packet in the packet tree.
Parents
The following elements can contain any packet element (including this):
angles
, anon
, anonref
, attachment
, container
, filtercomb
, filterprop
, filtertrivial
, hypersurfaces
, link
, regina
, script
, snappeadata
, surfaces
, textdata
, tri
.
This list includes all packet types, as well as the top-level element
regina
.
Children
The following elements occur in tri
,
and are used for triangulations in all dimensions:
fundgroup
, H1
, simplex
.
For triangulations in dimensions 3 and 4,
the following child element may also occur:
H2
.
In addition, for triangulations in dimension 3,
there are many more optional child elements:
compressingdisc
, H1Bdry
, H1Rel
, haken
, handlebody
, irreducible
, splitsfce
, threesphere
, txi
, zeroeff
.
The following children can occur in all packet elements:
angles
, anon
, anonref
, attachment
, container
, filtercomb
, filterprop
, filtertrivial
, hypersurfaces
, link
, script
, snappeadata
, surfaces
, tag
, textdata
, tri
.
This list includes all packet types, as well as the tag
element
for tagging individual packets.
Attributes
The following attributes are specific to triangulation packets:
dim
Indicates the dimension of the triangulation. This must be an integer between 2 and 15 inclusive.
perm
Indicates how gluing permutations are encoded within each
simplex
element. Possible values areindex
(where permutations are denoted by indices into the symmetric group Sdim
+1) orimagepack
(where permutations are denoted by “image packs”). See thesimplex
element for more information on each of these encodings.size
Indicates the total number of top-dimensional simplices in the triangulation (e.g., the total number of tetrahedra in the case
dim
= 3). This must be a non-negative integer, and must be equal to the number of childsimplex
elements.
The following attributes are common to all packet types:
id
A unique identifier for this packet. Packets are not required to have IDs, but when they are present they must be distinct (i.e., no packets in the same file may share the same ID). IDs do not need to be human-readable, must not contain leading or trailing whitespace, and must not be empty strings. Currently, IDs are built from base 64 hashes of the underlying C++ pointers.
The purpose of these packet IDs is to allow other packets to reference this packet (for instance, so that a script packet can store references to its variables).
IDs are not required to stay the same across subsequent loads and saves of the same file. In other words, if you load a file and save it again, the packet IDs are allowed to change.
label
The name given by the user to this particular packet within the overall packet tree.
Example
The following XML snippet represents a three-tetrahedron triangulation of the 3-manifold RP2 × S1, along with some pre-computed homology groups.
<tri dim="3" size="3" perm="index" label="RP² x S¹"> <simplex> 1 0 1 0 2 11 2 2 </simplex> <simplex> 0 0 0 0 2 21 2 12 </simplex> <simplex> 0 13 0 4 1 21 1 8 </simplex> <H1><abeliangroup rank="1"> 2 </abeliangroup></H1> <H1Rel><abeliangroup rank="1"> 2 </abeliangroup></H1Rel> <H1Bdry><abeliangroup rank="0"> </abeliangroup></H1Bdry> <H2><abeliangroup rank="0"> 2 </abeliangroup></H2> </tri>
Prev | Contents | Next |
threesphere | Up | twosided |