anon |
Prev | Current Data File Format | Next |
Name
anon — A collection of anonymous packets
Synopsis
Content Model | |
anon ::= (( |
Added in Regina 7.0
Description
This element holds anonymous packets. These are packets that can be included in a Regina data file, but will not appear in the packet tree when the user opens the file, and are not guaranteed to be saved if/when the user saves the file again.
Anonymous packets were introduced to support normal surface lists, normal hypersurface lists and angle structure lists whose underlying triangulations have changed or been deleted, and which therefore need to carry around private “snapshots” of these triangulations as they used to look at some earlier point in time.
When reading a data file, Regina will parse and construct any anonymous packets that it finds, and will give later packets the opportunity to use and/or make copies of this data if they choose. Once the XML parsing is complete, any anonymous packets that were read will be destroyed immediately, before the final packet tree is returned to the user.
More precisely, a packet P
will be given
the opportunity to use and/or copy an anonymous packet
A
if and only if
P
appears after A
in a pre-order depth-first traversal of the full packet tree.
Typically P
would refer to
A
using its id
attribute.
Inside an anon
element, the packet tree structure is irrelevant.
All parent/child relationships are ignored, and all anonymous packets
will be stored together in a central “anonymous pool”.
In particular, an anon
element that appears as a descendant of
some other anon
element has no additional effect.
Likewise, any tag
elements that appear inside an anon
element will simply be ignored.
An anonymous packet can be “de-anonymised” later in the
XML data file using an anonref
element, which has the effect of
moving an anonymous packet into the “real” packet tree.
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 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.
Prev | Contents | Next |
angles | Up | anonref |