3
3
<title>Ipelib: Ipe Geometry</title>
4
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
6
<!-- Generated by Doxygen 1.3.6 -->
7
<div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="functions.html">Class Members</a></div>
6
<!-- Generated by Doxygen 1.4.4 -->
7
<div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="annotated.html">Class List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="functions.html">Class Members</a></div>
8
8
<h1>Ipe Geometry</h1>Geometric primitives for Ipe.
9
9
<a href="#_details">More...</a><h2>Classes</h2>
11
11
<li>class <a class="el" href="class_ipe_angle.html">IpeAngle</a>
12
<dl class="el"><dd class="mdescRight">A double that's an angle. </em> <a href="class_ipe_angle.html#_details">More...</a><em><br><br></dl><li>class <a class="el" href="class_ipe_vector.html">IpeVector</a>
13
<dl class="el"><dd class="mdescRight">Two-dimensional vector. </em> <a href="class_ipe_vector.html#_details">More...</a><em><br><br></dl><li>class <a class="el" href="class_ipe_rect.html">IpeRect</a>
14
<dl class="el"><dd class="mdescRight">Axis-parallel rectangle (which can be empty). </em> <a href="class_ipe_rect.html#_details">More...</a><em><br><br></dl><li>class <a class="el" href="class_ipe_line.html">IpeLine</a>
15
<dl class="el"><dd class="mdescRight">A directed line. </em> <a href="class_ipe_line.html#_details">More...</a><em><br><br></dl><li>class <a class="el" href="class_ipe_segment.html">IpeSegment</a>
16
<dl class="el"><dd class="mdescRight">A directed line segment. </em> <a href="class_ipe_segment.html#_details">More...</a><em><br><br></dl><li>class <a class="el" href="class_ipe_linear.html">IpeLinear</a>
17
<dl class="el"><dd class="mdescRight">Linear transformation in the plane (2x2 matrix). </em> <a href="class_ipe_linear.html#_details">More...</a><em><br><br></dl><li>class <a class="el" href="class_ipe_matrix.html">IpeMatrix</a>
18
<dl class="el"><dd class="mdescRight">Homogeneous transformation in the plane. </em> <a href="class_ipe_matrix.html#_details">More...</a><em><br><br></dl><li>class <a class="el" href="class_ipe_bezier.html">IpeBezier</a>
19
<dl class="el"><dd class="mdescRight">A cubic Bezier spline. </em> <a href="class_ipe_bezier.html#_details">More...</a><em><br><br></dl><li>class <a class="el" href="class_ipe_arc.html">IpeArc</a>
20
<dl class="el"><dd class="mdescRight">An arc of an ellipse. </em> <a href="class_ipe_arc.html#_details">More...</a><em><br><br></dl></ul>
12
<dl class="el"><dd class="mdescRight">A double that's an angle. <a href="class_ipe_angle.html#_details">More...</a><br></dl><li>class <a class="el" href="class_ipe_vector.html">IpeVector</a>
13
<dl class="el"><dd class="mdescRight">Two-dimensional vector. <a href="class_ipe_vector.html#_details">More...</a><br></dl><li>class <a class="el" href="class_ipe_rect.html">IpeRect</a>
14
<dl class="el"><dd class="mdescRight">Axis-parallel rectangle (which can be empty). <a href="class_ipe_rect.html#_details">More...</a><br></dl><li>class <a class="el" href="class_ipe_line.html">IpeLine</a>
15
<dl class="el"><dd class="mdescRight">A directed line. <a href="class_ipe_line.html#_details">More...</a><br></dl><li>class <a class="el" href="class_ipe_segment.html">IpeSegment</a>
16
<dl class="el"><dd class="mdescRight">A directed line segment. <a href="class_ipe_segment.html#_details">More...</a><br></dl><li>class <a class="el" href="class_ipe_linear.html">IpeLinear</a>
17
<dl class="el"><dd class="mdescRight">Linear transformation in the plane (2x2 matrix). <a href="class_ipe_linear.html#_details">More...</a><br></dl><li>class <a class="el" href="class_ipe_matrix.html">IpeMatrix</a>
18
<dl class="el"><dd class="mdescRight">Homogeneous transformation in the plane. <a href="class_ipe_matrix.html#_details">More...</a><br></dl><li>class <a class="el" href="class_ipe_bezier.html">IpeBezier</a>
19
<dl class="el"><dd class="mdescRight">A cubic Bezier spline. <a href="class_ipe_bezier.html#_details">More...</a><br></dl><li>class <a class="el" href="class_ipe_arc.html">IpeArc</a>
20
<dl class="el"><dd class="mdescRight">An arc of an ellipse. <a href="class_ipe_arc.html#_details">More...</a><br></dl></ul>
23
23
<li>#define <a class="el" href="group__geo.html#ga4">IpePi</a> 3.1415926535897932385
37
37
<hr><a name="_details"></a><h2>Detailed Description</h2>
38
38
Geometric primitives for Ipe.
40
The IpeGeo module provides a few classes for constant-size geometric primitives, such as vector, axis-aligned rectangles, lines, rays, line segments, etc. <hr><h2>Define Documentation</h2>
41
<a class="anchor" name="ga4" doxytag="ipegeo.h::IpePi" ></a><p>
42
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
45
<table cellpadding="0" cellspacing="0" border="0">
47
<td class="md" nowrap valign="top"> double IpePi 3.1415926535897932385
52
<table cellspacing=5 cellpadding=0 border=0>
60
The constant pi. </td>
63
<a class="anchor" name="ga5" doxytag="ipegeo.h::IpeTwoPi" ></a><p>
64
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
67
<table cellpadding="0" cellspacing="0" border="0">
69
<td class="md" nowrap valign="top"> double IpeTwoPi 6.2831853071795862
74
<table cellspacing=5 cellpadding=0 border=0>
82
The constant 2 * pi. </td>
85
<a class="anchor" name="ga6" doxytag="ipegeo.h::IpeHalfPi" ></a><p>
86
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
89
<table cellpadding="0" cellspacing="0" border="0">
91
<td class="md" nowrap valign="top"> double IpeHalfPi 1.5707963267948966
96
<table cellspacing=5 cellpadding=0 border=0>
104
The constant pi / 2. </td>
40
The IpeGeo module provides a few classes for constant-size geometric primitives, such as vector, axis-aligned rectangles, lines, rays, line segments, etc.<hr><h2>Define Documentation</h2>
41
<a class="anchor" name="ga4"></a><!-- doxytag: member="ipegeo.h::IpePi" ref="ga4" args="" --><p>
42
<table class="mdTable" cellpadding="2" cellspacing="0">
45
<table cellpadding="0" cellspacing="0" border="0">
47
<td class="md" nowrap valign="top">double IpePi 3.1415926535897932385 </td>
53
<table cellspacing="5" cellpadding="0" border="0">
61
The constant pi. </td>
64
<a class="anchor" name="ga5"></a><!-- doxytag: member="ipegeo.h::IpeTwoPi" ref="ga5" args="" --><p>
65
<table class="mdTable" cellpadding="2" cellspacing="0">
68
<table cellpadding="0" cellspacing="0" border="0">
70
<td class="md" nowrap valign="top">double IpeTwoPi 6.2831853071795862 </td>
76
<table cellspacing="5" cellpadding="0" border="0">
84
The constant 2 * pi. </td>
87
<a class="anchor" name="ga6"></a><!-- doxytag: member="ipegeo.h::IpeHalfPi" ref="ga6" args="" --><p>
88
<table class="mdTable" cellpadding="2" cellspacing="0">
91
<table cellpadding="0" cellspacing="0" border="0">
93
<td class="md" nowrap valign="top">double IpeHalfPi 1.5707963267948966 </td>
99
<table cellspacing="5" cellpadding="0" border="0">
107
The constant pi / 2. </td>
107
110
<hr><h2>Typedef Documentation</h2>
108
<a class="anchor" name="ga3" doxytag="ipegeo.h::IpeScalar" ></a><p>
109
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
111
<a class="anchor" name="ga3"></a><!-- doxytag: member="ipegeo.h::IpeScalar" ref="ga3" args="" --><p>
112
<table class="mdTable" cellpadding="2" cellspacing="0">
111
114
<td class="mdRow">
112
115
<table cellpadding="0" cellspacing="0" border="0">
114
<td class="md" nowrap valign="top"> typedef double <a class="el" href="group__geo.html#ga3">IpeScalar</a>
117
<td class="md" nowrap valign="top">typedef double <a class="el" href="group__geo.html#ga3">IpeScalar</a> </td>
119
<table cellspacing=5 cellpadding=0 border=0>
123
<table cellspacing="5" cellpadding="0" border="0">
127
Type of coordinates in IpeVectors. </td>
131
Type of coordinates in IpeVectors. </td>
130
134
<hr><h2>Function Documentation</h2>
131
<a class="anchor" name="ga0" doxytag="ipegeo.h::IpeMax" ></a><p>
132
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
135
<table cellpadding="0" cellspacing="0" border="0">
137
<td class="md" colspan="4">
138
template<class T> </td>
141
<td class="md" nowrap valign="top"> T IpeMax </td>
142
<td class="md" valign="top">( </td>
143
<td class="md" nowrap valign="top">const T & </td>
144
<td class="mdname" nowrap> <em>lhs</em>, </td>
147
<td class="md" nowrap align="right"></td>
149
<td class="md" nowrap>const T & </td>
150
<td class="mdname" nowrap> <em>rhs</em></td>
154
<td class="md">) </td>
155
<td class="md" colspan="2"><code> [inline]</code></td>
162
<table cellspacing=5 cellpadding=0 border=0>
170
Maximum of two values. </td>
173
<a class="anchor" name="ga1" doxytag="ipegeo.h::IpeMin" ></a><p>
174
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
177
<table cellpadding="0" cellspacing="0" border="0">
179
<td class="md" colspan="4">
180
template<class T> </td>
183
<td class="md" nowrap valign="top"> T IpeMin </td>
184
<td class="md" valign="top">( </td>
185
<td class="md" nowrap valign="top">const T & </td>
186
<td class="mdname" nowrap> <em>lhs</em>, </td>
189
<td class="md" nowrap align="right"></td>
191
<td class="md" nowrap>const T & </td>
192
<td class="mdname" nowrap> <em>rhs</em></td>
196
<td class="md">) </td>
197
<td class="md" colspan="2"><code> [inline]</code></td>
204
<table cellspacing=5 cellpadding=0 border=0>
212
Minimum of two values. </td>
215
<a class="anchor" name="ga2" doxytag="ipegeo.h::IpeAbs" ></a><p>
216
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
219
<table cellpadding="0" cellspacing="0" border="0">
221
<td class="md" nowrap valign="top"> double IpeAbs </td>
135
<a class="anchor" name="ga0"></a><!-- doxytag: member="ipegeo.h::IpeMax" ref="ga0" args="(const T &lhs, const T &rhs)" --><p>
136
<table class="mdTable" cellpadding="2" cellspacing="0">
139
<table cellpadding="0" cellspacing="0" border="0">
141
<td class="mdPrefix" colspan="4">
142
template<class T> </td>
145
<td class="md" nowrap valign="top">T IpeMax </td>
146
<td class="md" valign="top">( </td>
147
<td class="md" nowrap valign="top">const T & </td>
148
<td class="mdname" nowrap> <em>lhs</em>, </td>
151
<td class="md" nowrap align="right"></td>
153
<td class="md" nowrap>const T & </td>
154
<td class="mdname" nowrap> <em>rhs</em></td>
158
<td class="md">) </td>
159
<td class="md" colspan="2"><code> [inline]</code></td>
165
<table cellspacing="5" cellpadding="0" border="0">
173
Maximum of two values. </td>
176
<a class="anchor" name="ga1"></a><!-- doxytag: member="ipegeo.h::IpeMin" ref="ga1" args="(const T &lhs, const T &rhs)" --><p>
177
<table class="mdTable" cellpadding="2" cellspacing="0">
180
<table cellpadding="0" cellspacing="0" border="0">
182
<td class="mdPrefix" colspan="4">
183
template<class T> </td>
186
<td class="md" nowrap valign="top">T IpeMin </td>
187
<td class="md" valign="top">( </td>
188
<td class="md" nowrap valign="top">const T & </td>
189
<td class="mdname" nowrap> <em>lhs</em>, </td>
192
<td class="md" nowrap align="right"></td>
194
<td class="md" nowrap>const T & </td>
195
<td class="mdname" nowrap> <em>rhs</em></td>
199
<td class="md">) </td>
200
<td class="md" colspan="2"><code> [inline]</code></td>
206
<table cellspacing="5" cellpadding="0" border="0">
214
Minimum of two values. </td>
217
<a class="anchor" name="ga2"></a><!-- doxytag: member="ipegeo.h::IpeAbs" ref="ga2" args="(double val)" --><p>
218
<table class="mdTable" cellpadding="2" cellspacing="0">
221
<table cellpadding="0" cellspacing="0" border="0">
223
<td class="md" nowrap valign="top">double IpeAbs </td>
222
224
<td class="md" valign="top">( </td>
223
225
<td class="md" nowrap valign="top">double </td>
224
226
<td class="mdname1" valign="top" nowrap> <em>val</em> </td>
225
227
<td class="md" valign="top"> ) </td>
226
228
<td class="md" nowrap><code> [inline]</code></td>
233
<table cellspacing=5 cellpadding=0 border=0>
234
<table cellspacing="5" cellpadding="0" border="0">