1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
4
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
<title>Ipelib: ipe::Linear Class Reference</title>
6
<link href="tabs.css" rel="stylesheet" type="text/css"/>
7
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
10
<!-- Generated by Doxygen 1.6.1 -->
11
<div class="navigation" id="top">
14
<li><a href="index.html"><span>Main Page</span></a></li>
15
<li><a href="modules.html"><span>Modules</span></a></li>
16
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
17
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
22
<li><a href="annotated.html"><span>Class List</span></a></li>
23
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
24
<li><a href="functions.html"><span>Class Members</span></a></li>
27
<div class="navpath"><a class="el" href="namespaceipe.html">ipe</a>::<a class="el" href="classipe_1_1_linear.html">Linear</a>
30
<div class="contents">
31
<h1>ipe::Linear Class Reference<br/>
33
[<a class="el" href="group__geo.html">Ipe Geometry</a>]</small>
34
</h1><!-- doxytag: class="ipe::Linear" -->
35
<p><a class="el" href="classipe_1_1_linear.html" title="Linear transformation in the plane (2x2 matrix).">Linear</a> transformation in the plane (2x2 matrix).
36
<a href="#_details">More...</a></p>
38
<p><code>#include <ipegeo.h></code></p>
40
<p><a href="classipe_1_1_linear-members.html">List of all members.</a></p>
41
<h2>Public Member Functions</h2>
43
<li><a class="el" href="classipe_1_1_linear.html#a7377914abbe51052d1f2bd0782585f7e">Linear</a> ()
44
<li><a class="el" href="classipe_1_1_linear.html#a41068afd39f74501ece931ca5232ef7e">Linear</a> (<a class="el" href="classipe_1_1_angle.html">Angle</a> angle)
45
<li><a class="el" href="classipe_1_1_linear.html#a413366ea8f44a83036ad399631118668">Linear</a> (double m11, double m21, double m12, double m22)
46
<li><a class="el" href="classipe_1_1_linear.html#ab64af22781b4dae2d871a82551fbb541">Linear</a> (<a class="el" href="classipe_1_1_string.html">String</a> str)
47
<li><a class="el" href="classipe_1_1_linear.html">Linear</a> <a class="el" href="classipe_1_1_linear.html#a929995173aa552e1ac1860a78edafa1f">inverse</a> () const
48
<li>bool <a class="el" href="classipe_1_1_linear.html#acea47fac3384185877f0abce77e6a92e">isIdentity</a> () const
49
<li><a class="el" href="classipe_1_1_vector.html">Vector</a> <a class="el" href="classipe_1_1_linear.html#a3dc155f3c57866b172c88d14dbfe4981">operator*</a> (const <a class="el" href="classipe_1_1_vector.html">Vector</a> &rhs) const
50
<li>bool <a class="el" href="classipe_1_1_linear.html#a07b316d6c26f0fcca786da82832a1138">operator==</a> (const <a class="el" href="classipe_1_1_linear.html">Linear</a> &rhs) const
51
<li>double <a class="el" href="classipe_1_1_linear.html#a6f4b6100ef97332e6c059017049da4b0">determinant</a> () const
53
<h2>Public Attributes</h2>
55
<li>double <a class="el" href="classipe_1_1_linear.html#a3a4b91f97420ae51e0962bca6594c9b9">a</a> [4]
57
<h2>Related Functions</h2>
58
<p>(Note that these are not member functions.) </p>
60
<li><a class="el" href="classipe_1_1_linear.html">Linear</a> <a class="el" href="classipe_1_1_linear.html#ab7e011178a51dac39829e26f58340d53">operator*</a> (const <a class="el" href="classipe_1_1_linear.html">Linear</a> &lhs, const <a class="el" href="classipe_1_1_linear.html">Linear</a> &rhs)
62
<hr/><a name="_details"></a><h2>Detailed Description</h2>
63
<p><a class="el" href="classipe_1_1_linear.html" title="Linear transformation in the plane (2x2 matrix).">Linear</a> transformation in the plane (2x2 matrix). </p>
64
<hr/><h2>Constructor & Destructor Documentation</h2>
65
<a class="anchor" id="a7377914abbe51052d1f2bd0782585f7e"></a><!-- doxytag: member="ipe::Linear::Linear" ref="a7377914abbe51052d1f2bd0782585f7e" args="()" -->
67
<div class="memproto">
68
<table class="memname">
70
<td class="memname">ipe::Linear::Linear </td>
72
<td class="paramname"></td>
73
<td> ) </td>
74
<td><code> [inline]</code></td>
80
<p>Create identity matrix. </p>
84
<a class="anchor" id="a41068afd39f74501ece931ca5232ef7e"></a><!-- doxytag: member="ipe::Linear::Linear" ref="a41068afd39f74501ece931ca5232ef7e" args="(Angle angle)" -->
86
<div class="memproto">
87
<table class="memname">
89
<td class="memname">Linear::Linear </td>
91
<td class="paramtype"><a class="el" href="classipe_1_1_angle.html">Angle</a> </td>
92
<td class="paramname"> <em>angle</em></td>
93
<td> ) </td>
94
<td><code> [explicit]</code></td>
100
<p>Create matrix representing a rotation by angle. </p>
104
<a class="anchor" id="a413366ea8f44a83036ad399631118668"></a><!-- doxytag: member="ipe::Linear::Linear" ref="a413366ea8f44a83036ad399631118668" args="(double m11, double m21, double m12, double m22)" -->
105
<div class="memitem">
106
<div class="memproto">
107
<table class="memname">
109
<td class="memname">ipe::Linear::Linear </td>
111
<td class="paramtype">double </td>
112
<td class="paramname"> <em>m11</em>, </td>
115
<td class="paramkey"></td>
117
<td class="paramtype">double </td>
118
<td class="paramname"> <em>m21</em>, </td>
121
<td class="paramkey"></td>
123
<td class="paramtype">double </td>
124
<td class="paramname"> <em>m12</em>, </td>
127
<td class="paramkey"></td>
129
<td class="paramtype">double </td>
130
<td class="paramname"> <em>m22</em></td><td> </td>
135
<td></td><td></td><td><code> [inline, explicit]</code></td>
141
<p>Create linear matrix with given coefficients. </p>
145
<a class="anchor" id="ab64af22781b4dae2d871a82551fbb541"></a><!-- doxytag: member="ipe::Linear::Linear" ref="ab64af22781b4dae2d871a82551fbb541" args="(String str)" -->
146
<div class="memitem">
147
<div class="memproto">
148
<table class="memname">
150
<td class="memname">Linear::Linear </td>
152
<td class="paramtype"><a class="el" href="classipe_1_1_string.html">String</a> </td>
153
<td class="paramname"> <em>str</em></td>
154
<td> ) </td>
155
<td><code> [explicit]</code></td>
161
<p>Parse string. </p>
165
<hr/><h2>Member Function Documentation</h2>
166
<a class="anchor" id="a929995173aa552e1ac1860a78edafa1f"></a><!-- doxytag: member="ipe::Linear::inverse" ref="a929995173aa552e1ac1860a78edafa1f" args="() const " -->
167
<div class="memitem">
168
<div class="memproto">
169
<table class="memname">
171
<td class="memname"><a class="el" href="classipe_1_1_linear.html">Linear</a> Linear::inverse </td>
173
<td class="paramname"></td>
174
<td> ) </td>
181
<p>Return inverse. </p>
185
<a class="anchor" id="acea47fac3384185877f0abce77e6a92e"></a><!-- doxytag: member="ipe::Linear::isIdentity" ref="acea47fac3384185877f0abce77e6a92e" args="() const " -->
186
<div class="memitem">
187
<div class="memproto">
188
<table class="memname">
190
<td class="memname">bool ipe::Linear::isIdentity </td>
192
<td class="paramname"></td>
193
<td> ) </td>
194
<td> const<code> [inline]</code></td>
200
<p>Is this the identity matrix? </p>
204
<a class="anchor" id="a3dc155f3c57866b172c88d14dbfe4981"></a><!-- doxytag: member="ipe::Linear::operator*" ref="a3dc155f3c57866b172c88d14dbfe4981" args="(const Vector &rhs) const " -->
205
<div class="memitem">
206
<div class="memproto">
207
<table class="memname">
209
<td class="memname"><a class="el" href="classipe_1_1_vector.html">Vector</a> operator* </td>
211
<td class="paramtype">const <a class="el" href="classipe_1_1_vector.html">Vector</a> & </td>
212
<td class="paramname"> <em>rhs</em></td>
213
<td> ) </td>
214
<td> const<code> [inline]</code></td>
220
<p><a class="el" href="classipe_1_1_linear.html" title="Linear transformation in the plane (2x2 matrix).">Linear</a> matrix times vector. </p>
221
<p><a class="el" href="classipe_1_1_matrix.html" title="Homogeneous transformation in the plane.">Matrix</a> times vector.</p>
225
<a class="anchor" id="a07b316d6c26f0fcca786da82832a1138"></a><!-- doxytag: member="ipe::Linear::operator==" ref="a07b316d6c26f0fcca786da82832a1138" args="(const Linear &rhs) const " -->
226
<div class="memitem">
227
<div class="memproto">
228
<table class="memname">
230
<td class="memname">bool ipe::Linear::operator== </td>
232
<td class="paramtype">const <a class="el" href="classipe_1_1_linear.html">Linear</a> & </td>
233
<td class="paramname"> <em>rhs</em></td>
234
<td> ) </td>
235
<td> const<code> [inline]</code></td>
241
<p>Check for equality of two linear matrices. </p>
245
<a class="anchor" id="a6f4b6100ef97332e6c059017049da4b0"></a><!-- doxytag: member="ipe::Linear::determinant" ref="a6f4b6100ef97332e6c059017049da4b0" args="() const " -->
246
<div class="memitem">
247
<div class="memproto">
248
<table class="memname">
250
<td class="memname">double ipe::Linear::determinant </td>
252
<td class="paramname"></td>
253
<td> ) </td>
254
<td> const<code> [inline]</code></td>
260
<p>Return determinant of a linear matrix. </p>
264
<hr/><h2>Friends And Related Function Documentation</h2>
265
<a class="anchor" id="ab7e011178a51dac39829e26f58340d53"></a><!-- doxytag: member="ipe::Linear::operator*" ref="ab7e011178a51dac39829e26f58340d53" args="(const Linear &lhs, const Linear &rhs)" -->
266
<div class="memitem">
267
<div class="memproto">
268
<table class="memname">
270
<td class="memname"><a class="el" href="classipe_1_1_matrix.html">Matrix</a> operator* </td>
272
<td class="paramtype">const <a class="el" href="classipe_1_1_linear.html">Linear</a> & </td>
273
<td class="paramname"> <em>lhs</em>, </td>
276
<td class="paramkey"></td>
278
<td class="paramtype">const <a class="el" href="classipe_1_1_linear.html">Linear</a> & </td>
279
<td class="paramname"> <em>rhs</em></td><td> </td>
284
<td></td><td></td><td><code> [related]</code></td>
290
<p><a class="el" href="classipe_1_1_linear.html" title="Linear transformation in the plane (2x2 matrix).">Linear</a> matrix multiplication. </p>
291
<p><a class="el" href="classipe_1_1_matrix.html" title="Homogeneous transformation in the plane.">Matrix</a> multiplication.</p>
295
<hr/><h2>Member Data Documentation</h2>
296
<a class="anchor" id="a3a4b91f97420ae51e0962bca6594c9b9"></a><!-- doxytag: member="ipe::Linear::a" ref="a3a4b91f97420ae51e0962bca6594c9b9" args="[4]" -->
297
<div class="memitem">
298
<div class="memproto">
299
<table class="memname">
301
<td class="memname">double <a class="el" href="classipe_1_1_linear.html#a3a4b91f97420ae51e0962bca6594c9b9">ipe::Linear::a</a>[4]</td>
309
<hr/>The documentation for this class was generated from the following files:<ul>