~ubuntu-branches/ubuntu/vivid/regina-normal/vivid-proposed

« back to all changes in this revision

Viewing changes to kdeui/doc/en/data-struct.docbook

  • Committer: Package Import Robot
  • Author(s): Ben Burton
  • Date: 2011-09-10 07:17:25 UTC
  • mfrom: (1.2.4 upstream)
  • Revision ID: package-import@ubuntu.com-20110910071725-97n90tywdq60w2cr
Tags: 4.90-1
* New upstream release!
* The user interface has been ported from KDE3 to KDE4 (closes: #556318).
  Re-enabled the GUI as a result.
* The build system has been ported from autotools to cmake.
* The new upstream release builds fine on amd64 (closes: #624882).
* Moved the users' handbook into regina-normal-doc.
* Upgraded several suggests/recommends.  Upgraded regina-normal-mpi to
  depend on mpi-default-bin, and regina-normal to depend on both graphviz
  and regina-normal-doc (which the GUI expends to be present).  Upgraded
  regina-normal to recommend gap.
* Bumped standards-version to 3.9.2.0 (no changes required).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
 
2
 
<!-- Regina data file format documentation.
3
 
     See ../regina.sgml for further details. -->
4
 
 
5
 
<refentry id="data-struct">
6
 
 <refmeta>
7
 
  <refentrytitle>struct</refentrytitle>
8
 
  <manvolnum>5reg</manvolnum>
9
 
 </refmeta>
10
 
 
11
 
 <refnamediv>
12
 
  <refname>struct</refname>
13
 
  <refpurpose>A single angle structure</refpurpose>
14
 
 </refnamediv>
15
 
 
16
 
 <refsynopsisdiv>
17
 
  <informaltable frame="all">
18
 
   <tgroup cols="2">
19
 
    <colspec colname="c1"/>
20
 
    <colspec colname="c2"/>
21
 
    <tbody>
22
 
     <row><entry namest="c1" nameend="c2">
23
 
      <emphasis role="bold">Content Model</emphasis>
24
 
     </entry></row>
25
 
     <row><entry namest="c1" nameend="c2">
26
 
<synopsis>
27
 
struct ::= (#PCDATA, &xml-flags;?)</synopsis>
28
 
     </entry></row>
29
 
     <row><entry namest="c1" nameend="c2">
30
 
      <emphasis role="bold">Attributes</emphasis>
31
 
     </entry></row>
32
 
     <row>
33
 
      <entry><emphasis role="bold">Name</emphasis></entry>
34
 
      <entry><emphasis role="bold">Type</emphasis></entry>
35
 
     </row>
36
 
     <row>
37
 
      <entry><sgmltag>len</sgmltag></entry>
38
 
      <entry><type>NUMBER</type> (required)</entry>
39
 
     </row>
40
 
    </tbody>
41
 
   </tgroup>
42
 
  </informaltable>
43
 
 </refsynopsisdiv>
44
 
 
45
 
 <refsect1>
46
 
  <title>Description</title>
47
 
  <para>
48
 
   A &xml-struct; element stores a single angle structure on a
49
 
   3-manifold triangulation.
50
 
  </para>
51
 
  <para>
52
 
   An angle structure on a <replaceable>T</replaceable>-tetrahedron
53
 
   triangulation is represented by a vector of
54
 
   3<replaceable>T</replaceable>+1 integers.  This vector is stored as
55
 
   the character data of this &xml; element as follows.
56
 
  </para>
57
 
  <para>
58
 
   Since an angle structure vector will generally contain many zeroes,
59
 
   only the non-zero elements are listed.  The character data should
60
 
   thus consist of a whitespace-separated sequence of integer pairs.
61
 
   Each integer pair represents a non-zero coordinate in the vector; the
62
 
   first element of the pair identifies which coordinate is being
63
 
   described (coordinates are numbered 0, 1, 2, ...) and the second element
64
 
   of the pair is the actual value at this coordinate.
65
 
  </para>
66
 
  <para>
67
 
   There are 3<replaceable>T</replaceable> actual angles stored in an
68
 
   angle structure; these are
69
 
   <literal>0:01/23</literal>, <literal>0:02/13</literal>,
70
 
   <literal>0:03/12</literal>, <literal>1:01/23</literal>,
71
 
   <literal>1:02/13</literal>, <literal>1:03/12</literal>,
72
 
   <literal>2:01/23</literal>, etc, where
73
 
   <literal><replaceable>t</replaceable>:<replaceable>ab</replaceable>/<replaceable>cd</replaceable></literal>
74
 
   represents the angle assigned to the edge in tetrahedron
75
 
   <replaceable>t</replaceable> that joins tetrahedron vertices
76
 
   <replaceable>a</replaceable> and <replaceable>b</replaceable>, as
77
 
   well as the (opposite) edge that joins tetrahedron vertices
78
 
   <replaceable>c</replaceable> and <replaceable>d</replaceable>
79
 
   (<replaceable>a</replaceable>, <replaceable>b</replaceable>,
80
 
   <replaceable>c</replaceable> and <replaceable>d</replaceable>
81
 
   will always be 0, 1, 2 and 3 in some order).
82
 
  </para>
83
 
  <para>
84
 
   To determine the <replaceable>k</replaceable>th of these angles, take
85
 
   the <replaceable>k</replaceable>th integer in the angle structure
86
 
   vector, divide by the final element of the vector and multiply by &pi;.
87
 
  </para>
88
 
 
89
 
  <refsect2>
90
 
   <title>Flags</title>
91
 
   <para>
92
 
    The child &xml-flags; element can be used to store properties of the
93
 
    angle structure.  The flags should be a bitwise combination of the
94
 
    following values:
95
 
   </para>
96
 
   <informaltable frame="all">
97
 
    <tgroup cols="2">
98
 
     <colspec colname="c1" colwidth="1*"/>
99
 
     <colspec colname="c2" colwidth="8*"/>
100
 
     <tbody>
101
 
      <row>
102
 
       <entry><emphasis role="bold">Value</emphasis></entry>
103
 
       <entry><emphasis role="bold">Meaning</emphasis></entry>
104
 
      </row>
105
 
      <row>
106
 
       <entry>1</entry>
107
 
       <entry>The angle structure is strict (all angles are strictly
108
 
        between 0 and &pi;).  This flag is only meaningful if the angle
109
 
        structure type has been calculated; see below.</entry>
110
 
      </row>
111
 
      <row>
112
 
       <entry>2</entry>
113
 
       <entry>The angle structure is taut (all angles are either 0 or
114
 
        &pi;).  This flag is only meaningful if the angle structure type
115
 
        has been calculated; see below.</entry>
116
 
      </row>
117
 
      <row>
118
 
       <entry>4</entry>
119
 
       <entry>The angle structure type (strict/taut) has been
120
 
        calculated.</entry>
121
 
      </row>
122
 
     </tbody>
123
 
    </tgroup>
124
 
   </informaltable>
125
 
  </refsect2>
126
 
 
127
 
  <refsect2>
128
 
   <title>Parents</title>
129
 
   <para>
130
 
    The following elements contain <sgmltag>struct</sgmltag>:
131
 
    <simplelist type="inline">
132
 
     <member>&xml-packet-anglestructurelist;</member>
133
 
    </simplelist>.
134
 
   </para>
135
 
  </refsect2>
136
 
 
137
 
  <refsect2>
138
 
   <title>Children</title>
139
 
   <para>
140
 
    The following elements occur in <sgmltag>struct</sgmltag>:
141
 
    <simplelist type="inline">
142
 
     <member>&xml-flags;</member>
143
 
    </simplelist>.
144
 
   </para>
145
 
  </refsect2>
146
 
 </refsect1>
147
 
 
148
 
 <refsect1>
149
 
  <title>Attributes</title>
150
 
  <variablelist>
151
 
   <varlistentry>
152
 
    <term><sgmltag>len</sgmltag></term>
153
 
    <listitem>
154
 
     <para>
155
 
      The length of the angle structure vector.
156
 
      This will always be 3<replaceable>T</replaceable>+1, where
157
 
      <replaceable>T</replaceable> is the number of tetrahedra in the
158
 
      underlying 3-manifold triangulation.
159
 
     </para>
160
 
    </listitem>
161
 
   </varlistentry>
162
 
  </variablelist>
163
 
 </refsect1>
164
 
 
165
 
 <refsect1>
166
 
  <title>Example</title>
167
 
  <para>
168
 
   The following &xml; snippet represents an angle structure on a
169
 
   2-tetrahedron triangulation.  The angle structure vector is
170
 
   (0, 0, 2, 1, 1, 0, 2).  The corresponding six angles are
171
 
   (0, 0, &pi;, &pi;/2, &pi;/2, 0).
172
 
  </para>
173
 
  <para>
174
 
   The flags indicate that the angle structure type has been calculated
175
 
   but the angle structure was found to be neither strict nor taut.
176
 
  </para>
177
 
  <programlisting>
178
 
&lt;struct len=&quot;7&quot;&gt; 2 2 3 1 4 1 6 2 &lt;flags value=&quot;4&quot;/&gt;&lt;/struct&gt;
179
 
  </programlisting>
180
 
 </refsect1>
181
 
</refentry>