source: OGRE/trunk/ogrenew/Docs/api/html/classOgre_1_1Plane.html @ 692

Revision 692, 25.7 KB checked in by mattausch, 18 years ago (diff)

adding ogre 1.2 and dependencies

Line 
1<html>
2<head>
3<title>Ogre::Plane class Reference - OGRE Documentation</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
4<link type="text/css" rel="stylesheet" href="style.css">
5</head>
6
7<body>
8<!-- Generated by Doxygen 1.3.6 -->
9<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
10<h1>Ogre::Plane Class Reference</h1>Defines a plane in 3D space. 
11<a href="#_details">More...</a>
12<p>
13<code>#include &lt;<a class="el" href="OgrePlane_8h-source.html">OgrePlane.h</a>&gt;</code>
14<p>
15<p>Inheritance diagram for Ogre::Plane:
16<p><center><img src="classOgre_1_1Plane.png" usemap="#Ogre::Plane_map" border="0" alt=""></center>
17<map name="Ogre::Plane_map">
18<area href="classOgre_1_1MovablePlane.html" alt="Ogre::MovablePlane" shape="rect" coords="0,56,128,80">
19</map>
20<a href="classOgre_1_1Plane-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
21<tr><td></td></tr>
22<tr><td colspan=2><br><h2>Public Types</h2></td></tr>
23<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Plane.html#Ogre_1_1Planew3">Side</a> { <a class="el" href="classOgre_1_1Plane.html#Ogre_1_1Planew3Ogre_1_1Planew0">NO_SIDE</a>,
24<a class="el" href="classOgre_1_1Plane.html#Ogre_1_1Planew3Ogre_1_1Planew1">POSITIVE_SIDE</a>,
25<a class="el" href="classOgre_1_1Plane.html#Ogre_1_1Planew3Ogre_1_1Planew2">NEGATIVE_SIDE</a>
26 }</td></tr>
27
28<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The "positive side" of the plane is the half space to which the plane normal points.  <a href="#Ogre_1_1Planew3">More...</a><br><br></td></tr>
29<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
30<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Plane.html#Ogre_1_1Planea0">Plane</a> ()</td></tr>
31
32<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor - sets everything to 0.  <a href="#Ogre_1_1Planea0"></a><br><br></td></tr>
33<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Plane.html#Ogre_1_1Planea1">Plane</a> (const <a class="el" href="classOgre_1_1Plane.html">Plane</a> &amp;rhs)</td></tr>
34
35<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Plane.html#Ogre_1_1Planea2">Plane</a> (const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;rkNormal, <a class="el" href="namespaceOgre.html#a465">Real</a> fConstant)</td></tr>
36
37<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a plane through a normal, and a distance to move the plane along the normal.  <a href="#Ogre_1_1Planea2"></a><br><br></td></tr>
38<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Plane.html#Ogre_1_1Planea3">Plane</a> (const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;rkNormal, const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;rkPoint)</td></tr>
39
40<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Plane.html#Ogre_1_1Planea4">Plane</a> (const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;rkPoint0, const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;rkPoint1, const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;rkPoint2)</td></tr>
41
42<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Plane.html#Ogre_1_1Planew3">Side</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Plane.html#Ogre_1_1Planea5">getSide</a> (const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;rkPoint) const </td></tr>
43
44<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Plane.html#Ogre_1_1Planea6">getDistance</a> (const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;rkPoint) const </td></tr>
45
46<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This is a pseudodistance.  <a href="#Ogre_1_1Planea6"></a><br><br></td></tr>
47<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Plane.html#Ogre_1_1Planea7">redefine</a> (const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;rkPoint0, const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;rkPoint1, const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;rkPoint2)</td></tr>
48
49<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Redefine this plane based on 3 points.  <a href="#Ogre_1_1Planea7"></a><br><br></td></tr>
50<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Vector3.html">Vector3</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Plane.html#Ogre_1_1Planea8">projectVector</a> (const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;v)</td></tr>
51
52<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Project a vector onto the plane.  <a href="#Ogre_1_1Planea8"></a><br><br></td></tr>
53<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Plane.html#Ogre_1_1Planea9">operator==</a> (const <a class="el" href="classOgre_1_1Plane.html">Plane</a> &amp;rhs) const </td></tr>
54
55<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Comparison operator.  <a href="#Ogre_1_1Planea9"></a><br><br></td></tr>
56<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
57<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="classOgre_1_1Vector3.html">Vector3</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Plane.html#Ogre_1_1Planeo0">normal</a></td></tr>
58
59<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Plane.html#Ogre_1_1Planeo1">d</a></td></tr>
60
61<tr><td colspan=2><br><h2>Friends</h2></td></tr>
62<tr><td class="memItemLeft" nowrap align=right valign=top>_OgreExport friend std::ostream &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classOgre_1_1Plane.html#Ogre_1_1Planen0">operator&lt;&lt;</a> (std::ostream &amp;o, <a class="el" href="classOgre_1_1Plane.html">Plane</a> &amp;p)</td></tr>
63
64</table>
65<hr><a name="_details"></a><h2>Detailed Description</h2>
66Defines a plane in 3D space.
67<p>
68<dl compact><dt><b>Remarks:</b></dt><dd>A plane is defined in 3D space by the equation Ax + By + Cz + D = 0 </dd></dl>
69<dl compact><dt><b></b></dt><dd>This equates to a vector (the normal of the plane, whose x, y and z components equate to the coefficients A, B and C respectively), and a constant (D) which is the distance along the normal you have to go to move the plane back to the origin. </dd></dl>
70
71<p>
72
73<p>
74Definition at line <a class="el" href="OgrePlane_8h-source.html#l00049">49</a> of file <a class="el" href="OgrePlane_8h-source.html">OgrePlane.h</a>.<hr><h2>Member Enumeration Documentation</h2>
75<a class="anchor" name="Ogre_1_1Planew3" doxytag="Ogre::Plane::Side" ></a><p>
76<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
77  <tr>
78    <td class="mdRow">
79      <table cellpadding="0" cellspacing="0" border="0">
80        <tr>
81          <td class="md" nowrap valign="top"> enum <a class="el" href="classOgre_1_1Plane.html#Ogre_1_1Planew3">Ogre::Plane::Side</a>
82      </table>
83    </td>
84  </tr>
85</table>
86<table cellspacing=5 cellpadding=0 border=0>
87  <tr>
88    <td>
89      &nbsp;
90    </td>
91    <td>
92
93<p>
94The "positive side" of the plane is the half space to which the plane normal points.
95<p>
96The "negative side" is the other half space. The flag "no side" indicates the plane itself. <dl compact><dt><b>Enumeration values: </b></dt><dd>
97<table border=0 cellspacing=2 cellpadding=0>
98<tr><td valign=top><em><a class="anchor" name="Ogre_1_1Planew3Ogre_1_1Planew0" doxytag="NO_SIDE" ></a>NO_SIDE</em>&nbsp;</td><td>
99</td></tr>
100<tr><td valign=top><em><a class="anchor" name="Ogre_1_1Planew3Ogre_1_1Planew1" doxytag="POSITIVE_SIDE" ></a>POSITIVE_SIDE</em>&nbsp;</td><td>
101</td></tr>
102<tr><td valign=top><em><a class="anchor" name="Ogre_1_1Planew3Ogre_1_1Planew2" doxytag="NEGATIVE_SIDE" ></a>NEGATIVE_SIDE</em>&nbsp;</td><td>
103</td></tr>
104</table>
105</dl>
106
107<p>
108Definition at line <a class="el" href="OgrePlane_8h-source.html#l00066">66</a> of file <a class="el" href="OgrePlane_8h-source.html">OgrePlane.h</a>.    </td>
109  </tr>
110</table>
111<hr><h2>Constructor &amp; Destructor Documentation</h2>
112<a class="anchor" name="Ogre_1_1Planea0" doxytag="Ogre::Plane::Plane" ></a><p>
113<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
114  <tr>
115    <td class="mdRow">
116      <table cellpadding="0" cellspacing="0" border="0">
117        <tr>
118          <td class="md" nowrap valign="top"> Ogre::Plane::Plane </td>
119          <td class="md" valign="top">(&nbsp;</td>
120          <td class="mdname1" valign="top" nowrap>          </td>
121          <td class="md" valign="top">&nbsp;)&nbsp;</td>
122          <td class="md" nowrap></td>
123        </tr>
124
125      </table>
126    </td>
127  </tr>
128</table>
129<table cellspacing=5 cellpadding=0 border=0>
130  <tr>
131    <td>
132      &nbsp;
133    </td>
134    <td>
135
136<p>
137Default constructor - sets everything to 0.
138<p>
139    </td>
140  </tr>
141</table>
142<a class="anchor" name="Ogre_1_1Planea1" doxytag="Ogre::Plane::Plane" ></a><p>
143<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
144  <tr>
145    <td class="mdRow">
146      <table cellpadding="0" cellspacing="0" border="0">
147        <tr>
148          <td class="md" nowrap valign="top"> Ogre::Plane::Plane </td>
149          <td class="md" valign="top">(&nbsp;</td>
150          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Plane.html">Plane</a> &amp;&nbsp;</td>
151          <td class="mdname1" valign="top" nowrap> <em>rhs</em>          </td>
152          <td class="md" valign="top">&nbsp;)&nbsp;</td>
153          <td class="md" nowrap></td>
154        </tr>
155
156      </table>
157    </td>
158  </tr>
159</table>
160<table cellspacing=5 cellpadding=0 border=0>
161  <tr>
162    <td>
163      &nbsp;
164    </td>
165    <td>
166
167<p>
168    </td>
169  </tr>
170</table>
171<a class="anchor" name="Ogre_1_1Planea2" doxytag="Ogre::Plane::Plane" ></a><p>
172<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
173  <tr>
174    <td class="mdRow">
175      <table cellpadding="0" cellspacing="0" border="0">
176        <tr>
177          <td class="md" nowrap valign="top"> Ogre::Plane::Plane </td>
178          <td class="md" valign="top">(&nbsp;</td>
179          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
180          <td class="mdname" nowrap> <em>rkNormal</em>, </td>
181        </tr>
182        <tr>
183          <td class="md" nowrap align="right"></td>
184          <td></td>
185          <td class="md" nowrap><a class="el" href="namespaceOgre.html#a465">Real</a>&nbsp;</td>
186          <td class="mdname" nowrap> <em>fConstant</em></td>
187        </tr>
188        <tr>
189          <td></td>
190          <td class="md">)&nbsp;</td>
191          <td class="md" colspan="2"></td>
192        </tr>
193
194      </table>
195    </td>
196  </tr>
197</table>
198<table cellspacing=5 cellpadding=0 border=0>
199  <tr>
200    <td>
201      &nbsp;
202    </td>
203    <td>
204
205<p>
206Construct a plane through a normal, and a distance to move the plane along the normal.
207<p>
208    </td>
209  </tr>
210</table>
211<a class="anchor" name="Ogre_1_1Planea3" doxytag="Ogre::Plane::Plane" ></a><p>
212<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
213  <tr>
214    <td class="mdRow">
215      <table cellpadding="0" cellspacing="0" border="0">
216        <tr>
217          <td class="md" nowrap valign="top"> Ogre::Plane::Plane </td>
218          <td class="md" valign="top">(&nbsp;</td>
219          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
220          <td class="mdname" nowrap> <em>rkNormal</em>, </td>
221        </tr>
222        <tr>
223          <td class="md" nowrap align="right"></td>
224          <td></td>
225          <td class="md" nowrap>const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
226          <td class="mdname" nowrap> <em>rkPoint</em></td>
227        </tr>
228        <tr>
229          <td></td>
230          <td class="md">)&nbsp;</td>
231          <td class="md" colspan="2"></td>
232        </tr>
233
234      </table>
235    </td>
236  </tr>
237</table>
238<table cellspacing=5 cellpadding=0 border=0>
239  <tr>
240    <td>
241      &nbsp;
242    </td>
243    <td>
244
245<p>
246    </td>
247  </tr>
248</table>
249<a class="anchor" name="Ogre_1_1Planea4" doxytag="Ogre::Plane::Plane" ></a><p>
250<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
251  <tr>
252    <td class="mdRow">
253      <table cellpadding="0" cellspacing="0" border="0">
254        <tr>
255          <td class="md" nowrap valign="top"> Ogre::Plane::Plane </td>
256          <td class="md" valign="top">(&nbsp;</td>
257          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
258          <td class="mdname" nowrap> <em>rkPoint0</em>, </td>
259        </tr>
260        <tr>
261          <td class="md" nowrap align="right"></td>
262          <td></td>
263          <td class="md" nowrap>const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
264          <td class="mdname" nowrap> <em>rkPoint1</em>, </td>
265        </tr>
266        <tr>
267          <td class="md" nowrap align="right"></td>
268          <td></td>
269          <td class="md" nowrap>const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
270          <td class="mdname" nowrap> <em>rkPoint2</em></td>
271        </tr>
272        <tr>
273          <td></td>
274          <td class="md">)&nbsp;</td>
275          <td class="md" colspan="2"></td>
276        </tr>
277
278      </table>
279    </td>
280  </tr>
281</table>
282<table cellspacing=5 cellpadding=0 border=0>
283  <tr>
284    <td>
285      &nbsp;
286    </td>
287    <td>
288
289<p>
290    </td>
291  </tr>
292</table>
293<hr><h2>Member Function Documentation</h2>
294<a class="anchor" name="Ogre_1_1Planea6" doxytag="Ogre::Plane::getDistance" ></a><p>
295<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
296  <tr>
297    <td class="mdRow">
298      <table cellpadding="0" cellspacing="0" border="0">
299        <tr>
300          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a465">Real</a> Ogre::Plane::getDistance </td>
301          <td class="md" valign="top">(&nbsp;</td>
302          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
303          <td class="mdname1" valign="top" nowrap> <em>rkPoint</em>          </td>
304          <td class="md" valign="top">&nbsp;)&nbsp;</td>
305          <td class="md" nowrap> const</td>
306        </tr>
307
308      </table>
309    </td>
310  </tr>
311</table>
312<table cellspacing=5 cellpadding=0 border=0>
313  <tr>
314    <td>
315      &nbsp;
316    </td>
317    <td>
318
319<p>
320This is a pseudodistance.
321<p>
322The sign of the return value is positive if the point is on the positive side of the plane, negative if the point is on the negative side, and zero if the point is on the plane. <dl compact><dt><b></b></dt><dd>The absolute value of the return value is the true distance only when the plane normal is a unit length vector. </dd></dl>
323
324<p>
325Referenced by <a class="el" href="OgrePlaneBoundedVolume_8h-source.html#l00093">Ogre::PlaneBoundedVolume::intersects()</a>.    </td>
326  </tr>
327</table>
328<a class="anchor" name="Ogre_1_1Planea5" doxytag="Ogre::Plane::getSide" ></a><p>
329<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
330  <tr>
331    <td class="mdRow">
332      <table cellpadding="0" cellspacing="0" border="0">
333        <tr>
334          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Plane.html#Ogre_1_1Planew3">Side</a> Ogre::Plane::getSide </td>
335          <td class="md" valign="top">(&nbsp;</td>
336          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
337          <td class="mdname1" valign="top" nowrap> <em>rkPoint</em>          </td>
338          <td class="md" valign="top">&nbsp;)&nbsp;</td>
339          <td class="md" nowrap> const</td>
340        </tr>
341
342      </table>
343    </td>
344  </tr>
345</table>
346<table cellspacing=5 cellpadding=0 border=0>
347  <tr>
348    <td>
349      &nbsp;
350    </td>
351    <td>
352
353<p>
354
355<p>
356Referenced by <a class="el" href="OgrePlaneBoundedVolume_8h-source.html#l00055">Ogre::PlaneBoundedVolume::intersects()</a>.    </td>
357  </tr>
358</table>
359<a class="anchor" name="Ogre_1_1Planea9" doxytag="Ogre::Plane::operator==" ></a><p>
360<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
361  <tr>
362    <td class="mdRow">
363      <table cellpadding="0" cellspacing="0" border="0">
364        <tr>
365          <td class="md" nowrap valign="top"> bool Ogre::Plane::operator== </td>
366          <td class="md" valign="top">(&nbsp;</td>
367          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Plane.html">Plane</a> &amp;&nbsp;</td>
368          <td class="mdname1" valign="top" nowrap> <em>rhs</em>          </td>
369          <td class="md" valign="top">&nbsp;)&nbsp;</td>
370          <td class="md" nowrap> const</td>
371        </tr>
372
373      </table>
374    </td>
375  </tr>
376</table>
377<table cellspacing=5 cellpadding=0 border=0>
378  <tr>
379    <td>
380      &nbsp;
381    </td>
382    <td>
383
384<p>
385Comparison operator.
386<p>
387
388<p>
389Definition at line <a class="el" href="OgrePlane_8h-source.html#l00101">101</a> of file <a class="el" href="OgrePlane_8h-source.html">OgrePlane.h</a>.
390<p>
391References <a class="el" href="OgrePlane_8h-source.html#l00099">d</a>, and <a class="el" href="OgrePlane_8h-source.html#l00098">normal</a>.    </td>
392  </tr>
393</table>
394<a class="anchor" name="Ogre_1_1Planea8" doxytag="Ogre::Plane::projectVector" ></a><p>
395<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
396  <tr>
397    <td class="mdRow">
398      <table cellpadding="0" cellspacing="0" border="0">
399        <tr>
400          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> Ogre::Plane::projectVector </td>
401          <td class="md" valign="top">(&nbsp;</td>
402          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
403          <td class="mdname1" valign="top" nowrap> <em>v</em>          </td>
404          <td class="md" valign="top">&nbsp;)&nbsp;</td>
405          <td class="md" nowrap></td>
406        </tr>
407
408      </table>
409    </td>
410  </tr>
411</table>
412<table cellspacing=5 cellpadding=0 border=0>
413  <tr>
414    <td>
415      &nbsp;
416    </td>
417    <td>
418
419<p>
420Project a vector onto the plane.
421<p>
422<dl compact><dt><b>Remarks:</b></dt><dd>This gives you the element of the input vector that is perpendicular to the normal of the plane. You can get the element which is parallel to the normal of the plane by subtracting the result of this method from the original vector, since parallel + perpendicular = original. </dd></dl>
423<dl compact><dt><b>Parameters:</b></dt><dd>
424  <table border="0" cellspacing="2" cellpadding="0">
425    <tr><td valign=top><em>v</em>&nbsp;</td><td>The input vector</td></tr>
426  </table>
427</dl>
428    </td>
429  </tr>
430</table>
431<a class="anchor" name="Ogre_1_1Planea7" doxytag="Ogre::Plane::redefine" ></a><p>
432<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
433  <tr>
434    <td class="mdRow">
435      <table cellpadding="0" cellspacing="0" border="0">
436        <tr>
437          <td class="md" nowrap valign="top"> void Ogre::Plane::redefine </td>
438          <td class="md" valign="top">(&nbsp;</td>
439          <td class="md" nowrap valign="top">const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
440          <td class="mdname" nowrap> <em>rkPoint0</em>, </td>
441        </tr>
442        <tr>
443          <td class="md" nowrap align="right"></td>
444          <td></td>
445          <td class="md" nowrap>const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
446          <td class="mdname" nowrap> <em>rkPoint1</em>, </td>
447        </tr>
448        <tr>
449          <td class="md" nowrap align="right"></td>
450          <td></td>
451          <td class="md" nowrap>const <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> &amp;&nbsp;</td>
452          <td class="mdname" nowrap> <em>rkPoint2</em></td>
453        </tr>
454        <tr>
455          <td></td>
456          <td class="md">)&nbsp;</td>
457          <td class="md" colspan="2"></td>
458        </tr>
459
460      </table>
461    </td>
462  </tr>
463</table>
464<table cellspacing=5 cellpadding=0 border=0>
465  <tr>
466    <td>
467      &nbsp;
468    </td>
469    <td>
470
471<p>
472Redefine this plane based on 3 points.
473<p>
474    </td>
475  </tr>
476</table>
477<hr><h2>Friends And Related Function Documentation</h2>
478<a class="anchor" name="Ogre_1_1Planen0" doxytag="Ogre::Plane::operator<<" ></a><p>
479<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
480  <tr>
481    <td class="mdRow">
482      <table cellpadding="0" cellspacing="0" border="0">
483        <tr>
484          <td class="md" nowrap valign="top"> _OgreExport friend std::ostream&amp; operator&lt;&lt; </td>
485          <td class="md" valign="top">(&nbsp;</td>
486          <td class="md" nowrap valign="top">std::ostream &amp;&nbsp;</td>
487          <td class="mdname" nowrap> <em>o</em>, </td>
488        </tr>
489        <tr>
490          <td class="md" nowrap align="right"></td>
491          <td></td>
492          <td class="md" nowrap><a class="el" href="classOgre_1_1Plane.html">Plane</a> &amp;&nbsp;</td>
493          <td class="mdname" nowrap> <em>p</em></td>
494        </tr>
495        <tr>
496          <td></td>
497          <td class="md">)&nbsp;</td>
498          <td class="md" colspan="2"><code> [friend]</code></td>
499        </tr>
500
501      </table>
502    </td>
503  </tr>
504</table>
505<table cellspacing=5 cellpadding=0 border=0>
506  <tr>
507    <td>
508      &nbsp;
509    </td>
510    <td>
511
512<p>
513    </td>
514  </tr>
515</table>
516<hr><h2>Member Data Documentation</h2>
517<a class="anchor" name="Ogre_1_1Planeo1" doxytag="Ogre::Plane::d" ></a><p>
518<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
519  <tr>
520    <td class="mdRow">
521      <table cellpadding="0" cellspacing="0" border="0">
522        <tr>
523          <td class="md" nowrap valign="top"> <a class="el" href="namespaceOgre.html#a465">Real</a> <a class="el" href="classOgre_1_1Plane.html#Ogre_1_1Planeo1">Ogre::Plane::d</a>
524      </table>
525    </td>
526  </tr>
527</table>
528<table cellspacing=5 cellpadding=0 border=0>
529  <tr>
530    <td>
531      &nbsp;
532    </td>
533    <td>
534
535<p>
536
537<p>
538Definition at line <a class="el" href="OgrePlane_8h-source.html#l00099">99</a> of file <a class="el" href="OgrePlane_8h-source.html">OgrePlane.h</a>.
539<p>
540Referenced by <a class="el" href="OgreMatrix4_8h-source.html#l00206">Ogre::Matrix4::operator *()</a>, and <a class="el" href="OgrePlane_8h-source.html#l00101">operator==()</a>.    </td>
541  </tr>
542</table>
543<a class="anchor" name="Ogre_1_1Planeo0" doxytag="Ogre::Plane::normal" ></a><p>
544<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
545  <tr>
546    <td class="mdRow">
547      <table cellpadding="0" cellspacing="0" border="0">
548        <tr>
549          <td class="md" nowrap valign="top"> <a class="el" href="classOgre_1_1Vector3.html">Vector3</a> <a class="el" href="classOgre_1_1Plane.html#Ogre_1_1Planeo0">Ogre::Plane::normal</a>
550      </table>
551    </td>
552  </tr>
553</table>
554<table cellspacing=5 cellpadding=0 border=0>
555  <tr>
556    <td>
557      &nbsp;
558    </td>
559    <td>
560
561<p>
562
563<p>
564Definition at line <a class="el" href="OgrePlane_8h-source.html#l00098">98</a> of file <a class="el" href="OgrePlane_8h-source.html">OgrePlane.h</a>.
565<p>
566Referenced by <a class="el" href="OgreMatrix4_8h-source.html#l00206">Ogre::Matrix4::operator *()</a>, and <a class="el" href="OgrePlane_8h-source.html#l00101">operator==()</a>.    </td>
567  </tr>
568</table>
569<hr>The documentation for this class was generated from the following file:<ul>
570<li><a class="el" href="OgrePlane_8h-source.html">OgrePlane.h</a></ul>
571<hr>
572<p>
573Copyright &copy; 2000-2005 by The OGRE Team<br />
574<!--Creative Commons License--><a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/"><img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/somerights20.png"/></a><br/>
575This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License</a>.<br/>
576                <!--/Creative Commons License--><!-- <rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
577                <Work rdf:about="">
578                        <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />
579        <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
580                </Work>
581                <License rdf:about="http://creativecommons.org/licenses/by-sa/2.5/"><permits rdf:resource="http://web.resource.org/cc/Reproduction"/><permits rdf:resource="http://web.resource.org/cc/Distribution"/><requires rdf:resource="http://web.resource.org/cc/Notice"/><requires rdf:resource="http://web.resource.org/cc/Attribution"/><permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/><requires rdf:resource="http://web.resource.org/cc/ShareAlike"/></License></rdf:RDF> -->
582
583Last modified Sun Mar 12 14:41:41 2006
584</p>
585</body>
586</html>
Note: See TracBrowser for help on using the repository browser.