Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 60f1dc962abad0f3b492991a4fbef9be > files > 3789

vtk-doc-5.4.2-5mdv2010.0.noarch.rpm

<!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&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;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> &amp;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> &amp;operator=(<span class="keyword">const</span> <a class="code" href="a00194.html" title="Fast Simple Class for dealing with 3D bounds.">vtkBoundingBox</a> &amp;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> &amp;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> &amp;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> &amp;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> &amp;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> &amp;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> &amp;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> &amp;xMin, <span class="keywordtype">double</span> &amp;xMax,
<a name="l00109"></a>00109                  <span class="keywordtype">double</span> &amp;yMin, <span class="keywordtype">double</span> &amp;yMax,
<a name="l00110"></a>00110                  <span class="keywordtype">double</span> &amp;zMin, <span class="keywordtype">double</span> &amp;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> &amp;x, <span class="keywordtype">double</span> &amp;y, <span class="keywordtype">double</span> &amp;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> &amp;x, <span class="keywordtype">double</span> &amp;y, <span class="keywordtype">double</span> &amp;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-&gt;<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[0] = this-&gt;<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[1] = this-&gt;<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-&gt;<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[0] = this-&gt;<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[1] = this-&gt;<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> &amp;xMin, <span class="keywordtype">double</span> &amp;xMax,
<a name="l00178"></a>00178                                       <span class="keywordtype">double</span> &amp;yMin, <span class="keywordtype">double</span> &amp;yMax,
<a name="l00179"></a>00179                                       <span class="keywordtype">double</span> &amp;zMin, <span class="keywordtype">double</span> &amp;zMax)<span class="keyword"> const</span>
<a name="l00180"></a>00180 <span class="keyword"></span>{
<a name="l00181"></a>00181   xMin = this-&gt;<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[0];
<a name="l00182"></a>00182   xMax = this-&gt;<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[0];
<a name="l00183"></a>00183   yMin = this-&gt;<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[1];
<a name="l00184"></a>00184   yMax = this-&gt;<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[1];
<a name="l00185"></a>00185   zMin = this-&gt;<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[2];
<a name="l00186"></a>00186   zMax = this-&gt;<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-&gt;<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[i&gt;&gt;1] : this-&gt;<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[i&gt;&gt;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-&gt;<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-&gt;<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-&gt;<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[0] &lt;= this-&gt;<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[0]) &amp;&amp; 
<a name="l00210"></a>00210           (this-&gt;<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[1] &lt;= this-&gt;<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[1]) &amp;&amp; 
<a name="l00211"></a>00211           (this-&gt;<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[2] &lt;= this-&gt;<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-&gt;<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[i] - this-&gt;<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-&gt;<a class="code" href="a00194.html#ec597b7b9b443e0bfd96e4520eef5416">GetLength</a>(0);
<a name="l00222"></a>00222   lengths[1] = this-&gt;<a class="code" href="a00194.html#ec597b7b9b443e0bfd96e4520eef5416">GetLength</a>(1);
<a name="l00223"></a>00223   lengths[2] = this-&gt;<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-&gt;<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[0] + this-&gt;<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[0]);
<a name="l00229"></a>00229   center[1] = 0.5 * (this-&gt;<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[1] + this-&gt;<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[1]);
<a name="l00230"></a>00230   center[2] = 0.5 * (this-&gt;<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[2] + this-&gt;<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-&gt;<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-&gt;<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-&gt;<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-&gt;<a class="code" href="a00194.html#8829d755788311bd68a1caa816a7fd80">Reset</a>();
<a name="l00253"></a>00253   this-&gt;<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-&gt;<a class="code" href="a00194.html#8829d755788311bd68a1caa816a7fd80">Reset</a>();
<a name="l00261"></a>00261   this-&gt;<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> &amp;bbox)
<a name="l00265"></a>00265 {
<a name="l00266"></a>00266   this-&gt;<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-&gt;<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-&gt;<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-&gt;<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-&gt;<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-&gt;<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> &amp;<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> &amp;bbox)
<a name="l00276"></a>00276 {
<a name="l00277"></a>00277   this-&gt;<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-&gt;<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-&gt;<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-&gt;<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-&gt;<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-&gt;<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> &amp;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-&gt;<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[0] == bbox.<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[0]) &amp;&amp;
<a name="l00290"></a>00290           (this-&gt;MinPnt[1] == bbox.<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[1]) &amp;&amp;
<a name="l00291"></a>00291           (this-&gt;MinPnt[2] == bbox.<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[2]) &amp;&amp;
<a name="l00292"></a>00292           (this-&gt;MaxPnt[0] == bbox.<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[0]) &amp;&amp;
<a name="l00293"></a>00293           (this-&gt;MaxPnt[1] == bbox.<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[1]) &amp;&amp;
<a name="l00294"></a>00294           (this-&gt;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> &amp;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-&gt;<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-&gt;<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> &amp;x, <span class="keywordtype">double</span> &amp;y, <span class="keywordtype">double</span> &amp;z)<span class="keyword"> const</span>
<a name="l00313"></a>00313 <span class="keyword"></span>{
<a name="l00314"></a>00314   x = this-&gt;<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[0];
<a name="l00315"></a>00315   y = this-&gt;<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[1];
<a name="l00316"></a>00316   z = this-&gt;<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> &amp;x, <span class="keywordtype">double</span> &amp;y, <span class="keywordtype">double</span> &amp;z)<span class="keyword"> const</span>
<a name="l00320"></a>00320 <span class="keyword"></span>{
<a name="l00321"></a>00321   x = this-&gt;<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[0];
<a name="l00322"></a>00322   y = this-&gt;<a class="code" href="a00194.html#c8c6b86c9f713950944a1beb77f1db6f">MaxPnt</a>[1];
<a name="l00323"></a>00323   z = this-&gt;<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 &lt; this-&gt;<a class="code" href="a00194.html#bd63753724bc1f40112b6cb016fb3d23">MinPnt</a>[0]) || (px &gt; this-&gt;<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 &lt; this-&gt;MinPnt[1]) || (py &gt; this-&gt;<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 &lt; this-&gt;MinPnt[2]) || (pz &gt; this-&gt;<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-&gt;<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&nbsp;
<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>