1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3
<title>Ipelib: IpeMatrix Class Reference</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
<link href="tabs.css" rel="stylesheet" type="text/css">
7
<!-- Generated by Doxygen 1.5.1 -->
10
<li><a href="index.html"><span>Main Page</span></a></li>
11
<li><a href="modules.html"><span>Modules</span></a></li>
12
<li id="current"><a href="annotated.html"><span>Classes</span></a></li>
16
<li><a href="annotated.html"><span>Class List</span></a></li>
17
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
18
<li><a href="functions.html"><span>Class Members</span></a></li>
20
<h1>IpeMatrix Class Reference<br>
22
[<a class="el" href="group__geo.html">Ipe Geometry</a>]</small>
23
</h1><!-- doxytag: class="IpeMatrix" -->Homogeneous transformation in the plane.
24
<a href="#_details">More...</a>
26
<a href="class_ipe_matrix-members.html">List of all members.</a><h2>Public Member Functions</h2>
28
<li><a class="el" href="class_ipe_matrix.html#86d1831cd53381a71173857c38d3de23">IpeMatrix</a> ()
29
<li><a class="el" href="class_ipe_matrix.html#6bc5182457f2efa000870d74ee3099a3">IpeMatrix</a> (const <a class="el" href="class_ipe_linear.html">IpeLinear</a> &linear)
30
<li><a class="anchor" name="8428da0d15db4e7c76ca69e4369d858c"></a><!-- doxytag: member="IpeMatrix::IpeMatrix" ref="8428da0d15db4e7c76ca69e4369d858c" args="(const IpeLinear &linear, const IpeVector &t)" -->
31
<b>IpeMatrix</b> (const <a class="el" href="class_ipe_linear.html">IpeLinear</a> &linear, const <a class="el" href="class_ipe_vector.html">IpeVector</a> &t)
32
<li><a class="el" href="class_ipe_matrix.html#79a8e9a44bc8265c4efb2b744cebc663">IpeMatrix</a> (double m11, double m21, double m12, double m22, double t1, double t2)
33
<li><a class="el" href="class_ipe_matrix.html#97fa2f208574a2ff8b8f452a76b0b9f6">IpeMatrix</a> (const <a class="el" href="class_ipe_vector.html">IpeVector</a> &v)
34
<li><a class="el" href="class_ipe_matrix.html#1bb1294635470a17ae4930ac75200348">IpeMatrix</a> (<a class="el" href="class_ipe_string.html">IpeString</a> str)
35
<li><a class="el" href="class_ipe_matrix.html">IpeMatrix</a> <a class="el" href="class_ipe_matrix.html#e75c017e17a7bdfc6363a13db2d7a67a">Inverse</a> () const
36
<li><a class="el" href="class_ipe_vector.html">IpeVector</a> <a class="el" href="class_ipe_matrix.html#eeaddea918701dd95baf697ffaae2409">operator *</a> (const <a class="el" href="class_ipe_vector.html">IpeVector</a> &rhs) const
37
<li><a class="el" href="class_ipe_bezier.html">IpeBezier</a> <a class="el" href="class_ipe_matrix.html#1043637bc4d7a53aa73d660a2d73c2ab">operator *</a> (const <a class="el" href="class_ipe_bezier.html">IpeBezier</a> &rhs) const
38
<li><a class="el" href="class_ipe_vector.html">IpeVector</a> <a class="el" href="class_ipe_matrix.html#79a4e8f8ea83d1e7acbe1e8b7e4fd9f4">Translation</a> () const
39
<li><a class="el" href="class_ipe_linear.html">IpeLinear</a> <a class="el" href="class_ipe_matrix.html#e41ecac24514141d8029bbf159bf1505">Linear</a> () const
40
<li>bool <a class="el" href="class_ipe_matrix.html#be0c95a14f4ed8c430eeccc4cb2cf371">IsIdentity</a> () const
41
<li>bool <a class="el" href="class_ipe_matrix.html#0857952e7ef0de83fa5250b6617b4ea3">operator==</a> (const <a class="el" href="class_ipe_matrix.html">IpeMatrix</a> &rhs) const
43
<h2>Public Attributes</h2>
45
<li><a class="anchor" name="f1de7cdf08ef40d9b4f5db8d172a7dfc"></a><!-- doxytag: member="IpeMatrix::iA" ref="f1de7cdf08ef40d9b4f5db8d172a7dfc" args="[6]" -->
48
<hr><a name="_details"></a><h2>Detailed Description</h2>
49
Homogeneous transformation in the plane.
51
<hr><h2>Constructor & Destructor Documentation</h2>
52
<a class="anchor" name="86d1831cd53381a71173857c38d3de23"></a><!-- doxytag: member="IpeMatrix::IpeMatrix" ref="86d1831cd53381a71173857c38d3de23" args="()" -->
54
<div class="memproto">
55
<table class="memname">
57
<td class="memname">IpeMatrix::IpeMatrix </td>
59
<td class="paramname"> </td>
60
<td> ) </td>
61
<td width="100%"><code> [inline]</code></td>
68
Create identity matrix.
73
<a class="anchor" name="6bc5182457f2efa000870d74ee3099a3"></a><!-- doxytag: member="IpeMatrix::IpeMatrix" ref="6bc5182457f2efa000870d74ee3099a3" args="(const IpeLinear &linear)" -->
75
<div class="memproto">
76
<table class="memname">
78
<td class="memname">IpeMatrix::IpeMatrix </td>
80
<td class="paramtype">const <a class="el" href="class_ipe_linear.html">IpeLinear</a> & </td>
81
<td class="paramname"> <em>linear</em> </td>
82
<td> ) </td>
83
<td width="100%"><code> [inline]</code></td>
95
<a class="anchor" name="79a8e9a44bc8265c4efb2b744cebc663"></a><!-- doxytag: member="IpeMatrix::IpeMatrix" ref="79a8e9a44bc8265c4efb2b744cebc663" args="(double m11, double m21, double m12, double m22, double t1, double t2)" -->
97
<div class="memproto">
98
<table class="memname">
100
<td class="memname">IpeMatrix::IpeMatrix </td>
102
<td class="paramtype">double </td>
103
<td class="paramname"> <em>m11</em>, </td>
106
<td class="paramkey"></td>
108
<td class="paramtype">double </td>
109
<td class="paramname"> <em>m21</em>, </td>
112
<td class="paramkey"></td>
114
<td class="paramtype">double </td>
115
<td class="paramname"> <em>m12</em>, </td>
118
<td class="paramkey"></td>
120
<td class="paramtype">double </td>
121
<td class="paramname"> <em>m22</em>, </td>
124
<td class="paramkey"></td>
126
<td class="paramtype">double </td>
127
<td class="paramname"> <em>t1</em>, </td>
130
<td class="paramkey"></td>
132
<td class="paramtype">double </td>
133
<td class="paramname"> <em>t2</em></td><td> </td>
138
<td></td><td></td><td width="100%"><code> [inline, explicit]</code></td>
145
Create matrix with given coefficients.
150
<a class="anchor" name="97fa2f208574a2ff8b8f452a76b0b9f6"></a><!-- doxytag: member="IpeMatrix::IpeMatrix" ref="97fa2f208574a2ff8b8f452a76b0b9f6" args="(const IpeVector &v)" -->
151
<div class="memitem">
152
<div class="memproto">
153
<table class="memname">
155
<td class="memname">IpeMatrix::IpeMatrix </td>
157
<td class="paramtype">const <a class="el" href="class_ipe_vector.html">IpeVector</a> & </td>
158
<td class="paramname"> <em>v</em> </td>
159
<td> ) </td>
160
<td width="100%"><code> [inline, explicit]</code></td>
167
Create translation matrix.
172
<a class="anchor" name="1bb1294635470a17ae4930ac75200348"></a><!-- doxytag: member="IpeMatrix::IpeMatrix" ref="1bb1294635470a17ae4930ac75200348" args="(IpeString str)" -->
173
<div class="memitem">
174
<div class="memproto">
175
<table class="memname">
177
<td class="memname">IpeMatrix::IpeMatrix </td>
179
<td class="paramtype"><a class="el" href="class_ipe_string.html">IpeString</a> </td>
180
<td class="paramname"> <em>str</em> </td>
181
<td> ) </td>
182
<td width="100%"><code> [explicit]</code></td>
194
<hr><h2>Member Function Documentation</h2>
195
<a class="anchor" name="e75c017e17a7bdfc6363a13db2d7a67a"></a><!-- doxytag: member="IpeMatrix::Inverse" ref="e75c017e17a7bdfc6363a13db2d7a67a" args="() const" -->
196
<div class="memitem">
197
<div class="memproto">
198
<table class="memname">
200
<td class="memname"><a class="el" href="class_ipe_matrix.html">IpeMatrix</a> IpeMatrix::Inverse </td>
202
<td class="paramname"> </td>
203
<td> ) </td>
204
<td width="100%"> const</td>
216
<a class="anchor" name="eeaddea918701dd95baf697ffaae2409"></a><!-- doxytag: member="IpeMatrix::operator *" ref="eeaddea918701dd95baf697ffaae2409" args="(const IpeVector &rhs) const " -->
217
<div class="memitem">
218
<div class="memproto">
219
<table class="memname">
221
<td class="memname"><a class="el" href="class_ipe_vector.html">IpeVector</a> IpeMatrix::operator * </td>
223
<td class="paramtype">const <a class="el" href="class_ipe_vector.html">IpeVector</a> & </td>
224
<td class="paramname"> <em>rhs</em> </td>
225
<td> ) </td>
226
<td width="100%"> const<code> [inline]</code></td>
238
<a class="anchor" name="1043637bc4d7a53aa73d660a2d73c2ab"></a><!-- doxytag: member="IpeMatrix::operator *" ref="1043637bc4d7a53aa73d660a2d73c2ab" args="(const IpeBezier &rhs) const " -->
239
<div class="memitem">
240
<div class="memproto">
241
<table class="memname">
243
<td class="memname"><a class="el" href="class_ipe_bezier.html">IpeBezier</a> IpeMatrix::operator * </td>
245
<td class="paramtype">const <a class="el" href="class_ipe_bezier.html">IpeBezier</a> & </td>
246
<td class="paramname"> <em>rhs</em> </td>
247
<td> ) </td>
248
<td width="100%"> const<code> [inline]</code></td>
255
Transform Bezier spline.
260
<a class="anchor" name="79a4e8f8ea83d1e7acbe1e8b7e4fd9f4"></a><!-- doxytag: member="IpeMatrix::Translation" ref="79a4e8f8ea83d1e7acbe1e8b7e4fd9f4" args="() const" -->
261
<div class="memitem">
262
<div class="memproto">
263
<table class="memname">
265
<td class="memname"><a class="el" href="class_ipe_vector.html">IpeVector</a> IpeMatrix::Translation </td>
267
<td class="paramname"> </td>
268
<td> ) </td>
269
<td width="100%"> const<code> [inline]</code></td>
276
Return translation component.
281
<a class="anchor" name="e41ecac24514141d8029bbf159bf1505"></a><!-- doxytag: member="IpeMatrix::Linear" ref="e41ecac24514141d8029bbf159bf1505" args="() const" -->
282
<div class="memitem">
283
<div class="memproto">
284
<table class="memname">
286
<td class="memname"><a class="el" href="class_ipe_linear.html">IpeLinear</a> IpeMatrix::Linear </td>
288
<td class="paramname"> </td>
289
<td> ) </td>
290
<td width="100%"> const<code> [inline]</code></td>
297
Return linear transformation component of this affine transformation.
302
<a class="anchor" name="be0c95a14f4ed8c430eeccc4cb2cf371"></a><!-- doxytag: member="IpeMatrix::IsIdentity" ref="be0c95a14f4ed8c430eeccc4cb2cf371" args="() const" -->
303
<div class="memitem">
304
<div class="memproto">
305
<table class="memname">
307
<td class="memname">bool IpeMatrix::IsIdentity </td>
309
<td class="paramname"> </td>
310
<td> ) </td>
311
<td width="100%"> const<code> [inline]</code></td>
318
Is this the identity matrix?
323
<a class="anchor" name="0857952e7ef0de83fa5250b6617b4ea3"></a><!-- doxytag: member="IpeMatrix::operator==" ref="0857952e7ef0de83fa5250b6617b4ea3" args="(const IpeMatrix &rhs) const " -->
324
<div class="memitem">
325
<div class="memproto">
326
<table class="memname">
328
<td class="memname">bool IpeMatrix::operator== </td>
330
<td class="paramtype">const <a class="el" href="class_ipe_matrix.html">IpeMatrix</a> & </td>
331
<td class="paramname"> <em>rhs</em> </td>
332
<td> ) </td>
333
<td width="100%"> const<code> [inline]</code></td>
340
Check for equality of two matrices.
345
<hr>The documentation for this class was generated from the following files:<ul>
346
<li>ipegeo.h<li>ipegeo.cpp</ul>