<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>VTK: dox/Common/vtkBoundingBox.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.6 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="classes.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <h1>dox/Common/vtkBoundingBox.h</h1><a href="a01991.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*=========================================================================</span> <a name="l00002"></a>00002 <span class="comment"></span> <a name="l00003"></a>00003 <span class="comment">Program: Visualization Toolkit</span> <a name="l00004"></a>00004 <span class="comment">Module: $RCSfile: vtkBoundingBox.h,v $</span> <a name="l00005"></a>00005 <span class="comment"></span> <a name="l00006"></a>00006 <span class="comment">Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen</span> <a name="l00007"></a>00007 <span class="comment">All rights reserved.</span> <a name="l00008"></a>00008 <span class="comment">See Copyright.txt or http://www.kitware.com/Copyright.htm for details.</span> <a name="l00009"></a>00009 <span class="comment"></span> <a name="l00010"></a>00010 <span class="comment">This software is distributed WITHOUT ANY WARRANTY; without even</span> <a name="l00011"></a>00011 <span class="comment">the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR</span> <a name="l00012"></a>00012 <span class="comment">PURPOSE. See the above copyright notice for more information.</span> <a name="l00013"></a>00013 <span class="comment"></span> <a name="l00014"></a>00014 <span class="comment">=========================================================================*/</span> <a name="l00026"></a>00026 <span class="preprocessor">#ifndef __vtkBoundingBox_h</span> <a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define __vtkBoundingBox_h</span> <a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="a02139.html">vtkSystemIncludes.h</a>"</span> <a name="l00029"></a>00029 <a name="l00030"></a><a class="code" href="a00194.html">00030</a> <span class="keyword">class </span><a class="code" href="a02170.html#873ca0b83d0838a1df577536068a1730">VTK_COMMON_EXPORT</a> <a class="code" href="a00194.html" title="Fast Simple Class for dealing with 3D bounds.">vtkBoundingBox</a> <a name="l00031"></a>00031 { <a name="l00032"></a>00032 <span class="keyword">public</span>: <a name="l00034"></a>00034 <a name="l00036"></a>00036 <a class="code" href="a00194.html" title="Fast Simple Class for dealing with 3D bounds.">vtkBoundingBox</a>(); <a name="l00037"></a>00037 <a class="code" href="a00194.html" title="Fast Simple Class for dealing with 3D bounds.">vtkBoundingBox</a>(<span class="keywordtype">double</span> bounds[6]); <a name="l00038"></a>00038 <a class="code" href="a00194.html" title="Fast Simple Class for dealing with 3D bounds.">vtkBoundingBox</a>(<span class="keywordtype">double</span> xMin, <span class="keywordtype">double</span> xMax, <a name="l00039"></a>00039 <span class="keywordtype">double</span> yMin, <span class="keywordtype">double</span> yMax, <a name="l00040"></a>00040 <span class="keywordtype">double</span> zMin, <span class="keywordtype">double</span> zMax); <a name="l00042"></a>00042 <a name="l00044"></a>00044 <a class="code" href="a00194.html" title="Fast Simple Class for dealing with 3D bounds.">vtkBoundingBox</a>(<span class="keyword">const</span> <a class="code" href="a00194.html" title="Fast Simple Class for dealing with 3D bounds.">vtkBoundingBox</a> &bbox); <a name="l00045"></a>00045 <a name="l00047"></a>00047 <a class="code" href="a00194.html" title="Fast Simple Class for dealing with 3D bounds.">vtkBoundingBox</a> &operator=(<span class="keyword">const</span> <a class="code" href="a00194.html" title="Fast Simple Class for dealing with 3D bounds.">vtkBoundingBox</a> &bbox); <a name="l00048"></a>00048 <a name="l00050"></a>00050 <a name="l00051"></a>00051 <span class="keywordtype">int</span> <a class="code" href="a02263.html#544428171128ab0363576bae16711623">operator==</a>(<span class="keyword">const</span> <a class="code" href="a00194.html" title="Fast Simple Class for dealing with 3D bounds.">vtkBoundingBox</a> &bbox)<span class="keyword">const</span>; <a name="l00052"></a>00052 <span class="keywordtype">int</span> <a class="code" href="a02263.html#d74c8f62a910f881aeef3158bd734acc">operator!=</a>(<span class="keyword">const</span> <a class="code" href="a00194.html" title="Fast Simple Class for dealing with 3D bounds.">vtkBoundingBox</a> &bbox)<span class="keyword">const</span>; <a name="l00054"></a>00054 <a name="l00056"></a>00056 <a name="l00058"></a>00058 <span class="keywordtype">void</span> SetBounds(<span class="keywordtype">double</span> bounds[6]); <a name="l00059"></a>00059 <span class="keywordtype">void</span> SetBounds(<span class="keywordtype">double</span> xMin, <span class="keywordtype">double</span> xMax, <a name="l00060"></a>00060 <span class="keywordtype">double</span> yMin, <span class="keywordtype">double</span> yMax, <a name="l00061"></a>00061 <span class="keywordtype">double</span> zMin, <span class="keywordtype">double</span> zMax); <a name="l00063"></a>00063 <a name="l00065"></a>00065 <a name="l00067"></a>00067 <span class="keywordtype">void</span> SetMinPoint(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> z); <a name="l00068"></a>00068 <span class="keywordtype">void</span> SetMinPoint(<span class="keywordtype">double</span> p[3]); <a name="l00070"></a>00070 <a name="l00072"></a>00072 <a name="l00074"></a>00074 <span class="keywordtype">void</span> SetMaxPoint(<span class="keywordtype">double</span> x, <span class="keywordtype">double</span> y, <span class="keywordtype">double</span> z); <a name="l00075"></a>00075 <span class="keywordtype">void</span> SetMaxPoint(<span class="keywordtype">double</span> p[3]); <a name="l00077"></a>00077 <a name="l00079"></a>00079 <a name="l00081"></a>00081 <span class="keywordtype">void</span> AddPoint(<span class="keywordtype">double</span> p[3]); <a name="l00082"></a>00082 <span class="keywordtype">void</span> AddPoint(<span class="keywordtype">double</span> px, <span class="keywordtype">double</span> py, <span class="keywordtype">double</span> pz); <a name="l00084"></a>00084 <a name="l00086"></a>00086 <span class="keywordtype">void</span> AddBox(<span class="keyword">const</span> <a class="code" href="a00194.html" title="Fast Simple Class for dealing with 3D bounds.">vtkBoundingBox</a> &bbox); <a name="l00087"></a>00087 <a name="l00090"></a>00090 <span class="keywordtype">void</span> AddBounds(<span class="keywordtype">double</span> bounds[6]); <a name="l00091"></a>00091 <a name="l00092"></a>00092 <span class="comment">// Desciption:</span> <a name="l00093"></a>00093 <span class="comment">// Intersect this box with bbox. The method returns 1 if</span> <a name="l00094"></a>00094 <span class="comment">// both boxes are valid and they do have overlap else it will return 0.</span> <a name="l00095"></a>00095 <span class="comment">// If 0 is returned the box has not been modified</span> <a name="l00096"></a>00096 <span class="keywordtype">int</span> IntersectBox(<span class="keyword">const</span> <a class="code" href="a00194.html" title="Fast Simple Class for dealing with 3D bounds.">vtkBoundingBox</a> &bbox); <a name="l00097"></a>00097 <a name="l00099"></a>00099 <span class="keywordtype">int</span> Intersects(<span class="keyword">const</span> <a class="code" href="a00194.html" title="Fast Simple Class for dealing with 3D bounds.">vtkBoundingBox</a> &bbox) <span class="keyword">const</span>; <a name="l00100"></a>00100 <a name="l00103"></a>00103 <span class="keywordtype">int</span> Contains(<span class="keyword">const</span> <a class="code" href="a00194.html" title="Fast Simple Class for dealing with 3D bounds.">vtkBoundingBox</a> &bbox) <span class="keyword">const</span>; <a name="l00104"></a>00104 <a name="l00106"></a>00106 <a name="l00107"></a>00107 <span class="keywordtype">void</span> GetBounds(<span class="keywordtype">double</span> bounds[6]) <span class="keyword">const</span>; <a name="l00108"></a>00108 <span class="keywordtype">void</span> GetBounds(<span class="keywordtype">double</span> &xMin, <span class="keywordtype">double</span> &xMax, <a name="l00109"></a>00109 <span class="keywordtype">double</span> &yMin, <span class="keywordtype">double</span> &yMax, <a name="l00110"></a>00110 <span class="keywordtype">double</span> &zMin, <span class="keywordtype">double</span> &zMax) <span class="keyword">const</span>; <a name="l00112"></a>00112 <a name="l00114"></a>00114 <span class="keywordtype">double</span> GetBound(<span class="keywordtype">int</span> i) <span class="keyword">const</span>; <a name="l00115"></a>00115 <a name="l00117"></a>00117 <a name="l00118"></a>00118 <span class="keyword">const</span> <span class="keywordtype">double</span> *GetMinPoint() <span class="keyword">const</span>; <a name="l00119"></a>00119 <span class="keywordtype">void</span> GetMinPoint(<span class="keywordtype">double</span> &x, <span class="keywordtype">double</span> &y, <span class="keywordtype">double</span> &z) <span class="keyword">const</span>; <a name="l00121"></a>00121 <a name="l00123"></a>00123 <a name="l00124"></a>00124 <span class="keyword">const</span> <span class="keywordtype">double</span> *GetMaxPoint() <span class="keyword">const</span>; <a name="l00125"></a>00125 <span class="keywordtype">void</span> GetMaxPoint(<span class="keywordtype">double</span> &x, <span class="keywordtype">double</span> &y, <span class="keywordtype">double</span> &z) <span class="keyword">const</span>; <a name="l00127"></a>00127 <a name="l00129"></a>00129 <a name="l00130"></a>00130 <span class="keywordtype">int</span> ContainsPoint(<span class="keywordtype">double</span> p[3]) <span class="keyword">const</span>; <a name="l00131"></a>00131 <span class="keywordtype">int</span> ContainsPoint(<span class="keywordtype">double</span> px, <span class="keywordtype">double</span> py, <span class="keywordtype">double</span> pz) <span class="keyword">const</span>; <a name="l00133"></a>00133 <a name="l00135"></a>00135 <span class="keywordtype">void</span> GetCenter(<span class="keywordtype">double</span> <a class="code" href="a03761.html#c6551f7bf833e8254b2b3ecdaea0d2107cf190fdac7e1fa1890c67ec92d414d6">center</a>[3]) <span class="keyword">const</span>; <a name="l00136"></a>00136 <a name="l00138"></a>00138 <span class="keywordtype">void</span> GetLengths(<span class="keywordtype">double</span> lengths[3]) <span class="keyword">const</span>; <a name="l00139"></a>00139 <a name="l00141"></a>00141 <span class="keywordtype">double</span> GetLength(<span class="keywordtype">int</span> i) <span class="keyword">const</span>; <a name="l00142"></a>00142 <a name="l00144"></a>00144 <span class="keywordtype">double</span> GetMaxLength() <span class="keyword">const</span>; <a name="l00145"></a>00145 <a name="l00147"></a>00147 <span class="keywordtype">double</span> GetDiagonalLength() <span class="keyword">const</span>; <a name="l00148"></a>00148 <a name="l00151"></a>00151 <span class="keywordtype">int</span> IsValid() <span class="keyword">const</span>; <a name="l00152"></a>00152 <a name="l00154"></a>00154 <span class="keywordtype">void</span> Reset(); <a name="l00155"></a>00155 <a name="l00157"></a>00157 <a name="l00161"></a>00161 <span class="keywordtype">void</span> Scale(<span class="keywordtype">double</span> s[3]); <a name="l00162"></a>00162 <span class="keywordtype">void</span> Scale(<span class="keywordtype">double</span> sx, <a name="l00163"></a>00163 <span class="keywordtype">double</span> sy, <a name="l00164"></a>00164 <span class="keywordtype">double</span> sz); <a name="l00166"></a>00166 <a name="l00167"></a>00167 <span class="keyword">protected</span>: <a name="l00168"></a><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">00168</a> <span class="keywordtype">double</span> MinPnt[3], MaxPnt[3]; <a name="l00169"></a>00169 }; <a name="l00170"></a>00170 <a name="l00171"></a><a class="code" href="a00194.html#8829d755788311bd68a1caa816a7fd80">00171</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00194.html#8829d755788311bd68a1caa816a7fd80">vtkBoundingBox::Reset</a>() <a name="l00172"></a>00172 { <a name="l00173"></a>00173 this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[0] = this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[1] = this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[2] = <a class="code" href="a02149.html#a933eb1ff8ef089de59cce7b41e21261">VTK_DOUBLE_MAX</a>; <a name="l00174"></a>00174 this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[0] = this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[1] = this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[2] = <a class="code" href="a02149.html#54fbb836bebcac9765695ae4667f3bdd">VTK_DOUBLE_MIN</a>; <a name="l00175"></a>00175 } <a name="l00176"></a>00176 <a name="l00177"></a><a class="code" href="a00194.html#d3460dabce0a83b722c6515a338273c5">00177</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00194.html#bd76de6f6dae470405f57e926cdaab3a">vtkBoundingBox::GetBounds</a>(<span class="keywordtype">double</span> &xMin, <span class="keywordtype">double</span> &xMax, <a name="l00178"></a>00178 <span class="keywordtype">double</span> &yMin, <span class="keywordtype">double</span> &yMax, <a name="l00179"></a>00179 <span class="keywordtype">double</span> &zMin, <span class="keywordtype">double</span> &zMax)<span class="keyword"> const</span> <a name="l00180"></a>00180 <span class="keyword"></span>{ <a name="l00181"></a>00181 xMin = this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[0]; <a name="l00182"></a>00182 xMax = this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[0]; <a name="l00183"></a>00183 yMin = this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[1]; <a name="l00184"></a>00184 yMax = this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[1]; <a name="l00185"></a>00185 zMin = this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[2]; <a name="l00186"></a>00186 zMax = this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[2]; <a name="l00187"></a>00187 } <a name="l00188"></a>00188 <a name="l00189"></a><a class="code" href="a00194.html#12dd6d8ea113fa5bc6a2fb1dbc0ea1d2">00189</a> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="a00194.html#12dd6d8ea113fa5bc6a2fb1dbc0ea1d2">vtkBoundingBox::GetBound</a>(<span class="keywordtype">int</span> i)<span class="keyword"> const</span> <a name="l00190"></a>00190 <span class="keyword"></span>{ <a name="l00191"></a>00191 <span class="comment">// If i is odd then when are returning a part of the max bounds</span> <a name="l00192"></a>00192 <span class="comment">// else part of the min bounds is requested. The exact component</span> <a name="l00193"></a>00193 <span class="comment">// needed is i /2 (or i right shifted by 1</span> <a name="l00194"></a>00194 <span class="keywordflow">return</span> ((i | 0x1) ? this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[i>>1] : this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[i>>1]); <a name="l00195"></a>00195 } <a name="l00196"></a>00196 <a name="l00197"></a><a class="code" href="a00194.html#068b14addf123411454ee24fd8d77155">00197</a> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *<a class="code" href="a00194.html#068b14addf123411454ee24fd8d77155">vtkBoundingBox::GetMinPoint</a>()<span class="keyword"> const</span> <a name="l00198"></a>00198 <span class="keyword"></span>{ <a name="l00199"></a>00199 <span class="keywordflow">return</span> this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>; <a name="l00200"></a>00200 } <a name="l00201"></a>00201 <a name="l00202"></a><a class="code" href="a00194.html#688b98c2bae5360db892afeb1141ef0d">00202</a> <span class="keyword">inline</span> <span class="keyword">const</span> <span class="keywordtype">double</span> *<a class="code" href="a00194.html#688b98c2bae5360db892afeb1141ef0d">vtkBoundingBox::GetMaxPoint</a>()<span class="keyword"> const</span> <a name="l00203"></a>00203 <span class="keyword"></span>{ <a name="l00204"></a>00204 <span class="keywordflow">return</span> this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>; <a name="l00205"></a>00205 } <a name="l00206"></a>00206 <a name="l00207"></a><a class="code" href="a00194.html#0cbf7942fac1704d6d0b25785cbb55e1">00207</a> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="a00194.html#0cbf7942fac1704d6d0b25785cbb55e1">vtkBoundingBox::IsValid</a>()<span class="keyword"> const</span> <a name="l00208"></a>00208 <span class="keyword"></span>{ <a name="l00209"></a>00209 <span class="keywordflow">return</span> ((this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[0] <= this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[0]) && <a name="l00210"></a>00210 (this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[1] <= this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[1]) && <a name="l00211"></a>00211 (this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[2] <= this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[2])); <a name="l00212"></a>00212 } <a name="l00213"></a>00213 <a name="l00214"></a><a class="code" href="a00194.html#ec597b7b9b443e0bfd96e4520eef5416">00214</a> <span class="keyword">inline</span> <span class="keywordtype">double</span> <a class="code" href="a00194.html#ec597b7b9b443e0bfd96e4520eef5416">vtkBoundingBox::GetLength</a>(<span class="keywordtype">int</span> i)<span class="keyword"> const</span> <a name="l00215"></a>00215 <span class="keyword"></span>{ <a name="l00216"></a>00216 <span class="keywordflow">return</span> this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[i] - this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[i]; <a name="l00217"></a>00217 } <a name="l00218"></a>00218 <a name="l00219"></a><a class="code" href="a00194.html#ff19053d610be4f7568cb04ddc6acd78">00219</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00194.html#ff19053d610be4f7568cb04ddc6acd78">vtkBoundingBox::GetLengths</a>(<span class="keywordtype">double</span> lengths[3])<span class="keyword"> const</span> <a name="l00220"></a>00220 <span class="keyword"></span>{ <a name="l00221"></a>00221 lengths[0] = this-><a class="code" href="a00194.html#ec597b7b9b443e0bfd96e4520eef5416">GetLength</a>(0); <a name="l00222"></a>00222 lengths[1] = this-><a class="code" href="a00194.html#ec597b7b9b443e0bfd96e4520eef5416">GetLength</a>(1); <a name="l00223"></a>00223 lengths[2] = this-><a class="code" href="a00194.html#ec597b7b9b443e0bfd96e4520eef5416">GetLength</a>(2); <a name="l00224"></a>00224 } <a name="l00225"></a>00225 <a name="l00226"></a><a class="code" href="a00194.html#f5ba2977832d0b890d1d8dae764fd655">00226</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00194.html#f5ba2977832d0b890d1d8dae764fd655">vtkBoundingBox::GetCenter</a>(<span class="keywordtype">double</span> <a class="code" href="a03761.html#c6551f7bf833e8254b2b3ecdaea0d2107cf190fdac7e1fa1890c67ec92d414d6">center</a>[3])<span class="keyword"> const</span> <a name="l00227"></a>00227 <span class="keyword"></span>{ <a name="l00228"></a>00228 center[0] = 0.5 * (this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[0] + this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[0]); <a name="l00229"></a>00229 center[1] = 0.5 * (this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[1] + this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[1]); <a name="l00230"></a>00230 center[2] = 0.5 * (this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[2] + this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[2]); <a name="l00231"></a>00231 } <a name="l00232"></a>00232 <a name="l00233"></a><a class="code" href="a00194.html#46be6229670d46fa2bb2dd37851b9620">00233</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00194.html#46be6229670d46fa2bb2dd37851b9620">vtkBoundingBox::SetBounds</a>(<span class="keywordtype">double</span> bounds[6]) <a name="l00234"></a>00234 { <a name="l00235"></a>00235 this-><a class="code" href="a00194.html#46be6229670d46fa2bb2dd37851b9620">SetBounds</a>(bounds[0], bounds[1], bounds[2], <a name="l00236"></a>00236 bounds[3], bounds[4], bounds[5]); <a name="l00237"></a>00237 } <a name="l00238"></a>00238 <a name="l00239"></a><a class="code" href="a00194.html#bd76de6f6dae470405f57e926cdaab3a">00239</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00194.html#bd76de6f6dae470405f57e926cdaab3a">vtkBoundingBox::GetBounds</a>(<span class="keywordtype">double</span> bounds[6])<span class="keyword"> const</span> <a name="l00240"></a>00240 <span class="keyword"></span>{ <a name="l00241"></a>00241 this-><a class="code" href="a00194.html#bd76de6f6dae470405f57e926cdaab3a">GetBounds</a>(bounds[0], bounds[1], bounds[2], <a name="l00242"></a>00242 bounds[3], bounds[4], bounds[5]); <a name="l00243"></a>00243 } <a name="l00244"></a>00244 <a name="l00245"></a><a class="code" href="a00194.html#b9a265f4c02e5ab10178ea358a2d1ebc">00245</a> <span class="keyword">inline</span> <a class="code" href="a00194.html#b9a265f4c02e5ab10178ea358a2d1ebc">vtkBoundingBox::vtkBoundingBox</a>() <a name="l00246"></a>00246 { <a name="l00247"></a>00247 this-><a class="code" href="a00194.html#8829d755788311bd68a1caa816a7fd80">Reset</a>(); <a name="l00248"></a>00248 } <a name="l00249"></a>00249 <a name="l00250"></a><a class="code" href="a00194.html#37bb034552b3d09b7449f64c301f551b">00250</a> <span class="keyword">inline</span> <a class="code" href="a00194.html#b9a265f4c02e5ab10178ea358a2d1ebc">vtkBoundingBox::vtkBoundingBox</a>(<span class="keywordtype">double</span> bounds[6]) <a name="l00251"></a>00251 { <a name="l00252"></a>00252 this-><a class="code" href="a00194.html#8829d755788311bd68a1caa816a7fd80">Reset</a>(); <a name="l00253"></a>00253 this-><a class="code" href="a00194.html#46be6229670d46fa2bb2dd37851b9620">SetBounds</a>(bounds); <a name="l00254"></a>00254 } <a name="l00255"></a>00255 <a name="l00256"></a><a class="code" href="a00194.html#87568f16a80ffd68fb1d4a721ed505b9">00256</a> <span class="keyword">inline</span> <a class="code" href="a00194.html#b9a265f4c02e5ab10178ea358a2d1ebc">vtkBoundingBox::vtkBoundingBox</a>(<span class="keywordtype">double</span> xMin, <span class="keywordtype">double</span> xMax, <a name="l00257"></a>00257 <span class="keywordtype">double</span> yMin, <span class="keywordtype">double</span> yMax, <a name="l00258"></a>00258 <span class="keywordtype">double</span> zMin, <span class="keywordtype">double</span> zMax) <a name="l00259"></a>00259 { <a name="l00260"></a>00260 this-><a class="code" href="a00194.html#8829d755788311bd68a1caa816a7fd80">Reset</a>(); <a name="l00261"></a>00261 this-><a class="code" href="a00194.html#46be6229670d46fa2bb2dd37851b9620">SetBounds</a>(xMin, xMax, yMin, yMax, zMin, zMax); <a name="l00262"></a>00262 } <a name="l00263"></a>00263 <a name="l00264"></a><a class="code" href="a00194.html#86223fd71516b48c3937fa6bc3c27aea">00264</a> <span class="keyword">inline</span> <a class="code" href="a00194.html#b9a265f4c02e5ab10178ea358a2d1ebc">vtkBoundingBox::vtkBoundingBox</a>(<span class="keyword">const</span> <a class="code" href="a00194.html" title="Fast Simple Class for dealing with 3D bounds.">vtkBoundingBox</a> &bbox) <a name="l00265"></a>00265 { <a name="l00266"></a>00266 this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[0] = bbox.<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[0]; <a name="l00267"></a>00267 this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[1] = bbox.<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[1]; <a name="l00268"></a>00268 this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[2] = bbox.<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[2]; <a name="l00269"></a>00269 <a name="l00270"></a>00270 this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[0] = bbox.<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[0]; <a name="l00271"></a>00271 this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[1] = bbox.<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[1]; <a name="l00272"></a>00272 this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[2] = bbox.<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[2]; <a name="l00273"></a>00273 } <a name="l00274"></a>00274 <a name="l00275"></a><a class="code" href="a00194.html#ffc08e35607ef79162c0fc01a8d8699b">00275</a> <span class="keyword">inline</span> <a class="code" href="a00194.html" title="Fast Simple Class for dealing with 3D bounds.">vtkBoundingBox</a> &<a class="code" href="a00194.html#ffc08e35607ef79162c0fc01a8d8699b">vtkBoundingBox::operator=</a>(<span class="keyword">const</span> <a class="code" href="a00194.html" title="Fast Simple Class for dealing with 3D bounds.">vtkBoundingBox</a> &bbox) <a name="l00276"></a>00276 { <a name="l00277"></a>00277 this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[0] = bbox.<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[0]; <a name="l00278"></a>00278 this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[1] = bbox.<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[1]; <a name="l00279"></a>00279 this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[2] = bbox.<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[2]; <a name="l00280"></a>00280 <a name="l00281"></a>00281 this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[0] = bbox.<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[0]; <a name="l00282"></a>00282 this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[1] = bbox.<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[1]; <a name="l00283"></a>00283 this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[2] = bbox.<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[2]; <a name="l00284"></a>00284 <span class="keywordflow">return</span> *<span class="keyword">this</span>; <a name="l00285"></a>00285 } <a name="l00286"></a>00286 <a name="l00287"></a><a class="code" href="a00194.html#abf25ce0bcd8ca5a0fc2a1ab69886733">00287</a> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="a00194.html#abf25ce0bcd8ca5a0fc2a1ab69886733">vtkBoundingBox::operator==</a>(<span class="keyword">const</span> <a class="code" href="a00194.html" title="Fast Simple Class for dealing with 3D bounds.">vtkBoundingBox</a> &bbox)<span class="keyword">const</span> <a name="l00288"></a>00288 <span class="keyword"></span>{ <a name="l00289"></a>00289 <span class="keywordflow">return</span> ((this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[0] == bbox.<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[0]) && <a name="l00290"></a>00290 (this->MinPnt[1] == bbox.<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[1]) && <a name="l00291"></a>00291 (this->MinPnt[2] == bbox.<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[2]) && <a name="l00292"></a>00292 (this->MaxPnt[0] == bbox.<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[0]) && <a name="l00293"></a>00293 (this->MaxPnt[1] == bbox.<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[1]) && <a name="l00294"></a>00294 (this->MaxPnt[2] == bbox.<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[2])); <a name="l00295"></a>00295 } <a name="l00296"></a>00296 <a name="l00297"></a><a class="code" href="a00194.html#07cc740ae00747e83e0bb021a8346b15">00297</a> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="a00194.html#07cc740ae00747e83e0bb021a8346b15">vtkBoundingBox::operator!=</a>(<span class="keyword">const</span> <a class="code" href="a00194.html" title="Fast Simple Class for dealing with 3D bounds.">vtkBoundingBox</a> &bbox)<span class="keyword">const</span> <a name="l00298"></a>00298 <span class="keyword"></span>{ <a name="l00299"></a>00299 <span class="keywordflow">return</span> !((*this) == bbox); <a name="l00300"></a>00300 } <a name="l00301"></a>00301 <a name="l00302"></a><a class="code" href="a00194.html#dcb92ea331c253a61e4b8022921fc31d">00302</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00194.html#f8ab3f0a35be22a48c8037d2ac40c40c">vtkBoundingBox::SetMinPoint</a>(<span class="keywordtype">double</span> p[3]) <a name="l00303"></a>00303 { <a name="l00304"></a>00304 this-><a class="code" href="a00194.html#f8ab3f0a35be22a48c8037d2ac40c40c">SetMinPoint</a>(p[0], p[1], p[2]); <a name="l00305"></a>00305 } <a name="l00306"></a>00306 <a name="l00307"></a><a class="code" href="a00194.html#85d534af3e9d3a7550d278d7ae61be21">00307</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00194.html#8212c8d246ed5a0583d9113f99604242">vtkBoundingBox::SetMaxPoint</a>(<span class="keywordtype">double</span> p[3]) <a name="l00308"></a>00308 { <a name="l00309"></a>00309 this-><a class="code" href="a00194.html#8212c8d246ed5a0583d9113f99604242">SetMaxPoint</a>(p[0], p[1], p[2]); <a name="l00310"></a>00310 } <a name="l00311"></a>00311 <a name="l00312"></a><a class="code" href="a00194.html#8ed58c85b4b0f7e6377a590ba0a50142">00312</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00194.html#068b14addf123411454ee24fd8d77155">vtkBoundingBox::GetMinPoint</a>(<span class="keywordtype">double</span> &x, <span class="keywordtype">double</span> &y, <span class="keywordtype">double</span> &z)<span class="keyword"> const</span> <a name="l00313"></a>00313 <span class="keyword"></span>{ <a name="l00314"></a>00314 x = this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[0]; <a name="l00315"></a>00315 y = this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[1]; <a name="l00316"></a>00316 z = this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[2]; <a name="l00317"></a>00317 } <a name="l00318"></a>00318 <a name="l00319"></a><a class="code" href="a00194.html#c382a68118be1f6bca33440709c44235">00319</a> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="a00194.html#688b98c2bae5360db892afeb1141ef0d">vtkBoundingBox::GetMaxPoint</a>(<span class="keywordtype">double</span> &x, <span class="keywordtype">double</span> &y, <span class="keywordtype">double</span> &z)<span class="keyword"> const</span> <a name="l00320"></a>00320 <span class="keyword"></span>{ <a name="l00321"></a>00321 x = this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[0]; <a name="l00322"></a>00322 y = this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[1]; <a name="l00323"></a>00323 z = this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[2]; <a name="l00324"></a>00324 } <a name="l00325"></a>00325 <a name="l00326"></a><a class="code" href="a00194.html#8a837e4bccd4999c4c2ca28cc50985e3">00326</a> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="a00194.html#a7a17ea287139283361c2658499a306a">vtkBoundingBox::ContainsPoint</a>(<span class="keywordtype">double</span> px, <span class="keywordtype">double</span> py, <a name="l00327"></a>00327 <span class="keywordtype">double</span> pz)<span class="keyword"> const</span> <a name="l00328"></a>00328 <span class="keyword"></span>{ <a name="l00329"></a>00329 <span class="keywordflow">if</span> ((px < this-><a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[0]) || (px > this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[0])) <a name="l00330"></a>00330 { <a name="l00331"></a>00331 <span class="keywordflow">return</span> 0; <a name="l00332"></a>00332 } <a name="l00333"></a>00333 <span class="keywordflow">if</span> ((py < this->MinPnt[1]) || (py > this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[1])) <a name="l00334"></a>00334 { <a name="l00335"></a>00335 <span class="keywordflow">return</span> 0; <a name="l00336"></a>00336 } <a name="l00337"></a>00337 <span class="keywordflow">if</span> ((pz < this->MinPnt[2]) || (pz > this-><a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[2])) <a name="l00338"></a>00338 { <a name="l00339"></a>00339 <span class="keywordflow">return</span> 0; <a name="l00340"></a>00340 } <a name="l00341"></a>00341 <span class="keywordflow">return</span> 1; <a name="l00342"></a>00342 } <a name="l00343"></a>00343 <a name="l00344"></a><a class="code" href="a00194.html#a7a17ea287139283361c2658499a306a">00344</a> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="a00194.html#a7a17ea287139283361c2658499a306a">vtkBoundingBox::ContainsPoint</a>(<span class="keywordtype">double</span> p[3])<span class="keyword"> const</span> <a name="l00345"></a>00345 <span class="keyword"></span>{ <a name="l00346"></a>00346 <span class="keywordflow">return</span> this-><a class="code" href="a00194.html#a7a17ea287139283361c2658499a306a">ContainsPoint</a>(p[0], p[1], p[2]); <a name="l00347"></a>00347 } <a name="l00348"></a>00348 <a name="l00349"></a>00349 <span class="preprocessor">#endif</span> </pre></div></div> <hr size="1"><address style="text-align: right;"><small>Generated on Wed Jun 3 18:35:09 2009 for VTK by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> </body> </html>