Sophie

Sophie

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

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/Filtering/vtkViewport.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/Filtering/vtkViewport.h</h1><a href="a02403.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: vtkViewport.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="l00034"></a>00034 <span class="preprocessor">#ifndef __vtkViewport_h</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#define __vtkViewport_h</span>
<a name="l00036"></a>00036 <span class="preprocessor"></span>
<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="a02079.html">vtkObject.h</a>"</span>
<a name="l00038"></a>00038 
<a name="l00039"></a>00039 <span class="keyword">class </span><a class="code" href="a00094.html" title="a list of 2D actors">vtkActor2DCollection</a>;
<a name="l00040"></a>00040 <span class="keyword">class </span><a class="code" href="a00143.html" title="a list of nodes that form an assembly path">vtkAssemblyPath</a>;
<a name="l00041"></a>00041 <span class="keyword">class </span><a class="code" href="a01317.html" title="abstract superclass for all actors, volumes and annotations">vtkProp</a>;
<a name="l00042"></a>00042 <span class="keyword">class </span><a class="code" href="a01321.html" title="a list of Props">vtkPropCollection</a>;
<a name="l00043"></a>00043 <span class="keyword">class </span><a class="code" href="a01886.html" title="window superclass for vtkRenderWindow">vtkWindow</a>;
<a name="l00044"></a>00044 
<a name="l00045"></a><a class="code" href="a01833.html">00045</a> <span class="keyword">class </span><a class="code" href="a02170.html#95ced7977a6b6b1bf9f38bf04e3835b6">VTK_FILTERING_EXPORT</a> <a class="code" href="a01833.html" title="abstract specification for Viewports">vtkViewport</a> : <span class="keyword">public</span> <a class="code" href="a01084.html" title="abstract base class for most VTK objects">vtkObject</a>
<a name="l00046"></a>00046 {
<a name="l00047"></a>00047 <span class="keyword">public</span>:
<a name="l00048"></a><a class="code" href="a01833.html#0f0f4aec7b35cdc562fb6749ad7dda77">00048</a>   vtkTypeRevisionMacro(<a class="code" href="a01833.html" title="abstract specification for Viewports">vtkViewport</a>,<a class="code" href="a01084.html" title="abstract base class for most VTK objects">vtkObject</a>);
<a name="l00049"></a>00049   <span class="keywordtype">void</span> <a class="code" href="a01084.html#bf3dbb4154289b56a12483eee3866263">PrintSelf</a>(ostream&amp; os, <a class="code" href="a00869.html" title="a simple class to control print indentation">vtkIndent</a> indent);
<a name="l00050"></a>00050 
<a name="l00053"></a>00053   <span class="keywordtype">void</span> AddViewProp(<a class="code" href="a01317.html" title="abstract superclass for all actors, volumes and annotations">vtkProp</a> *);
<a name="l00054"></a>00054 
<a name="l00056"></a><a class="code" href="a01833.html#bed96fa68aa3089c0f6c770c06d7af26">00056</a>   <a class="code" href="a01321.html" title="a list of Props">vtkPropCollection</a> *GetViewProps() {<span class="keywordflow">return</span> this-&gt;Props;};
<a name="l00057"></a>00057 
<a name="l00059"></a>00059   <span class="keywordtype">int</span> HasViewProp(<a class="code" href="a01317.html" title="abstract superclass for all actors, volumes and annotations">vtkProp</a> *);
<a name="l00060"></a>00060 
<a name="l00062"></a>00062   <span class="keywordtype">void</span> RemoveViewProp(<a class="code" href="a01317.html" title="abstract superclass for all actors, volumes and annotations">vtkProp</a> *);
<a name="l00063"></a>00063 
<a name="l00065"></a>00065   <span class="keywordtype">void</span> RemoveAllViewProps(<span class="keywordtype">void</span>);
<a name="l00066"></a>00066 
<a name="l00068"></a>00068 
<a name="l00071"></a>00071   <span class="keywordtype">void</span> AddActor2D(<a class="code" href="a01317.html" title="abstract superclass for all actors, volumes and annotations">vtkProp</a>* p);
<a name="l00072"></a>00072   <span class="keywordtype">void</span> RemoveActor2D(<a class="code" href="a01317.html" title="abstract superclass for all actors, volumes and annotations">vtkProp</a>* p);
<a name="l00073"></a>00073   <a class="code" href="a00094.html" title="a list of 2D actors">vtkActor2DCollection</a> *GetActors2D();
<a name="l00075"></a>00075 
<a name="l00077"></a>00077 
<a name="l00079"></a>00079   vtkSetVector3Macro(<a class="code" href="a03761.html#88ade42854f67d6297898362e17a515fcc2c6ee90aad298b75ae59ea7d9004fb">Background</a>,<span class="keywordtype">double</span>);
<a name="l00080"></a>00080   vtkGetVector3Macro(<a class="code" href="a03761.html#88ade42854f67d6297898362e17a515fcc2c6ee90aad298b75ae59ea7d9004fb">Background</a>,<span class="keywordtype">double</span>);
<a name="l00082"></a>00082 
<a name="l00084"></a>00084 
<a name="l00086"></a>00086   vtkSetVector3Macro(Background2,<span class="keywordtype">double</span>);
<a name="l00087"></a>00087   vtkGetVector3Macro(Background2,<span class="keywordtype">double</span>);
<a name="l00089"></a>00089 
<a name="l00091"></a>00091 
<a name="l00093"></a>00093   vtkSetMacro(GradientBackground,<span class="keywordtype">bool</span>);
<a name="l00094"></a>00094   vtkGetMacro(GradientBackground,<span class="keywordtype">bool</span>);
<a name="l00095"></a>00095   vtkBooleanMacro(GradientBackground,<span class="keywordtype">bool</span>);
<a name="l00097"></a>00097 
<a name="l00099"></a>00099 
<a name="l00101"></a>00101   vtkSetVector2Macro(Aspect,<span class="keywordtype">double</span>);
<a name="l00102"></a>00102   vtkGetVectorMacro(Aspect,<span class="keywordtype">double</span>,2);
<a name="l00103"></a>00103   <span class="keyword">virtual</span> <span class="keywordtype">void</span> ComputeAspect();
<a name="l00105"></a>00105   
<a name="l00107"></a>00107 
<a name="l00110"></a>00110   vtkSetVector2Macro(PixelAspect,<span class="keywordtype">double</span>);
<a name="l00111"></a>00111   vtkGetVectorMacro(PixelAspect,<span class="keywordtype">double</span>,2);
<a name="l00113"></a>00113 
<a name="l00115"></a>00115 
<a name="l00118"></a>00118   vtkSetVector4Macro(Viewport,<span class="keywordtype">double</span>);
<a name="l00119"></a>00119   vtkGetVectorMacro(Viewport,<span class="keywordtype">double</span>,4);
<a name="l00121"></a>00121 
<a name="l00123"></a>00123 
<a name="l00126"></a>00126   vtkSetVector3Macro(DisplayPoint,<span class="keywordtype">double</span>);
<a name="l00127"></a>00127   vtkGetVectorMacro(DisplayPoint,<span class="keywordtype">double</span>,3);
<a name="l00129"></a>00129 
<a name="l00131"></a>00131 
<a name="l00134"></a>00134   vtkSetVector3Macro(ViewPoint,<span class="keywordtype">double</span>);
<a name="l00135"></a>00135   vtkGetVectorMacro(ViewPoint,<span class="keywordtype">double</span>,3);
<a name="l00137"></a>00137 
<a name="l00139"></a>00139 
<a name="l00141"></a>00141   vtkSetVector4Macro(WorldPoint,<span class="keywordtype">double</span>);
<a name="l00142"></a>00142   vtkGetVectorMacro(WorldPoint,<span class="keywordtype">double</span>,4);
<a name="l00144"></a>00144    
<a name="l00146"></a>00146   <span class="keyword">virtual</span> <span class="keywordtype">double</span> *GetCenter();
<a name="l00147"></a>00147 
<a name="l00149"></a>00149   <span class="keyword">virtual</span> <span class="keywordtype">int</span> IsInViewport(<span class="keywordtype">int</span> x,<span class="keywordtype">int</span> y); 
<a name="l00150"></a>00150 
<a name="l00152"></a>00152   <span class="keyword">virtual</span> <a class="code" href="a01886.html" title="window superclass for vtkRenderWindow">vtkWindow</a> *GetVTKWindow() = 0;
<a name="l00153"></a>00153 
<a name="l00155"></a>00155   <span class="keyword">virtual</span> <span class="keywordtype">void</span> DisplayToView(); <span class="comment">// these get modified in subclasses</span>
<a name="l00156"></a>00156 
<a name="l00158"></a>00158   <span class="keyword">virtual</span> <span class="keywordtype">void</span> ViewToDisplay(); <span class="comment">// to handle stereo rendering</span>
<a name="l00159"></a>00159 
<a name="l00161"></a>00161   <span class="keyword">virtual</span> <span class="keywordtype">void</span> WorldToView();
<a name="l00162"></a>00162 
<a name="l00164"></a>00164   <span class="keyword">virtual</span> <span class="keywordtype">void</span> ViewToWorld();
<a name="l00165"></a>00165 
<a name="l00167"></a><a class="code" href="a01833.html#64fd422972ce9eb99785acaf0884db30">00167</a>   <span class="keywordtype">void</span> DisplayToWorld() {this-&gt;DisplayToView(); this-&gt;ViewToWorld();};
<a name="l00168"></a>00168 
<a name="l00170"></a><a class="code" href="a01833.html#20962160550a24444a14f203a0fae544">00170</a>   <span class="keywordtype">void</span> WorldToDisplay() {this-&gt;WorldToView(); this-&gt;ViewToDisplay();};
<a name="l00171"></a>00171 
<a name="l00173"></a>00173 
<a name="l00178"></a>00178   <span class="keyword">virtual</span> <span class="keywordtype">void</span> LocalDisplayToDisplay(<span class="keywordtype">double</span> &amp;x, <span class="keywordtype">double</span> &amp;y);
<a name="l00179"></a>00179   <span class="keyword">virtual</span> <span class="keywordtype">void</span> DisplayToNormalizedDisplay(<span class="keywordtype">double</span> &amp;u, <span class="keywordtype">double</span> &amp;v);
<a name="l00180"></a>00180   <span class="keyword">virtual</span> <span class="keywordtype">void</span> NormalizedDisplayToViewport(<span class="keywordtype">double</span> &amp;x, <span class="keywordtype">double</span> &amp;y);
<a name="l00181"></a>00181   <span class="keyword">virtual</span> <span class="keywordtype">void</span> ViewportToNormalizedViewport(<span class="keywordtype">double</span> &amp;u, <span class="keywordtype">double</span> &amp;v);
<a name="l00182"></a>00182   <span class="keyword">virtual</span> <span class="keywordtype">void</span> NormalizedViewportToView(<span class="keywordtype">double</span> &amp;x, <span class="keywordtype">double</span> &amp;y, <span class="keywordtype">double</span> &amp;z);
<a name="l00183"></a><a class="code" href="a01833.html#049794ea91d32e6b47b9b4bbe608dc3b">00183</a>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> ViewToWorld(<span class="keywordtype">double</span> &amp;, <span class="keywordtype">double</span> &amp;, <span class="keywordtype">double</span> &amp;) {};
<a name="l00184"></a>00184   <span class="keyword">virtual</span> <span class="keywordtype">void</span> DisplayToLocalDisplay(<span class="keywordtype">double</span> &amp;x, <span class="keywordtype">double</span> &amp;y);
<a name="l00185"></a>00185   <span class="keyword">virtual</span> <span class="keywordtype">void</span> NormalizedDisplayToDisplay(<span class="keywordtype">double</span> &amp;u, <span class="keywordtype">double</span> &amp;v);
<a name="l00186"></a>00186   <span class="keyword">virtual</span> <span class="keywordtype">void</span> ViewportToNormalizedDisplay(<span class="keywordtype">double</span> &amp;x, <span class="keywordtype">double</span> &amp;y);
<a name="l00187"></a>00187   <span class="keyword">virtual</span> <span class="keywordtype">void</span> NormalizedViewportToViewport(<span class="keywordtype">double</span> &amp;u, <span class="keywordtype">double</span> &amp;v);
<a name="l00188"></a>00188   <span class="keyword">virtual</span> <span class="keywordtype">void</span> ViewToNormalizedViewport(<span class="keywordtype">double</span> &amp;x, <span class="keywordtype">double</span> &amp;y, <span class="keywordtype">double</span> &amp;z);
<a name="l00189"></a><a class="code" href="a01833.html#fd7991e9ceffe9b81ddd3aff99feda7c">00189</a>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> WorldToView(<span class="keywordtype">double</span> &amp;, <span class="keywordtype">double</span> &amp;, <span class="keywordtype">double</span> &amp;) {};
<a name="l00191"></a>00191 
<a name="l00193"></a>00193 
<a name="l00196"></a>00196   <span class="keyword">virtual</span> <span class="keywordtype">int</span> *GetSize();
<a name="l00197"></a>00197   <span class="keyword">virtual</span> <span class="keywordtype">int</span> *GetOrigin();
<a name="l00198"></a>00198   <span class="keywordtype">void</span> GetTiledSize(<span class="keywordtype">int</span> *width, <span class="keywordtype">int</span> *<a class="code" href="a03761.html#c6551f7bf833e8254b2b3ecdaea0d210c076ccbe549041286aaf7bc34202ebdf">height</a>);
<a name="l00199"></a>00199   <span class="keyword">virtual</span> <span class="keywordtype">void</span> GetTiledSizeAndOrigin(<span class="keywordtype">int</span> *width, <span class="keywordtype">int</span> *<a class="code" href="a03761.html#c6551f7bf833e8254b2b3ecdaea0d210c076ccbe549041286aaf7bc34202ebdf">height</a>, 
<a name="l00200"></a>00200                                      <span class="keywordtype">int</span> *lowerLeftX, <span class="keywordtype">int</span> *lowerLeftY);
<a name="l00202"></a>00202   
<a name="l00203"></a>00203   <span class="comment">// The following methods describe the public pick interface for picking</span>
<a name="l00204"></a>00204   <span class="comment">// Props in a viewport.</span>
<a name="l00205"></a>00205 
<a name="l00211"></a>00211   <span class="keyword">virtual</span> <a class="code" href="a00143.html" title="a list of nodes that form an assembly path">vtkAssemblyPath</a>* PickProp(<span class="keywordtype">double</span> selectionX, <span class="keywordtype">double</span> selectionY) = 0;
<a name="l00212"></a>00212 
<a name="l00214"></a>00214 
<a name="l00217"></a>00217   <a class="code" href="a00143.html" title="a list of nodes that form an assembly path">vtkAssemblyPath</a>* PickPropFrom(<span class="keywordtype">double</span> selectionX, <span class="keywordtype">double</span> selectionY, 
<a name="l00218"></a>00218                                 <a class="code" href="a01321.html" title="a list of Props">vtkPropCollection</a>*);
<a name="l00220"></a>00220   
<a name="l00222"></a>00222 
<a name="l00224"></a><a class="code" href="a01833.html#0b8f04820336c10255fcb6aca3077592">00224</a>   <span class="keywordtype">double</span> GetPickX()<span class="keyword"> const </span>{<span class="keywordflow">return</span> (this-&gt;PickX1 + this-&gt;PickX2)*0.5;}
<a name="l00225"></a><a class="code" href="a01833.html#c155cb7142ec6b6c902c604126dca8d5">00225</a>   <span class="keywordtype">double</span> GetPickY()<span class="keyword"> const </span>{<span class="keywordflow">return</span> (this-&gt;PickY1 + this-&gt;PickY2)*0.5;}
<a name="l00226"></a><a class="code" href="a01833.html#5091cccff1c2b787c764e4cf0e3c9ad7">00226</a>   <span class="keywordtype">double</span> GetPickWidth()<span class="keyword"> const </span>{<span class="keywordflow">return</span> this-&gt;PickX2 - this-&gt;PickX1 + 1;};
<a name="l00227"></a><a class="code" href="a01833.html#d598a8cad05b17ea346710b343d05e97">00227</a>   <span class="keywordtype">double</span> GetPickHeight()<span class="keyword"> const </span>{<span class="keywordflow">return</span> this-&gt;PickY2 - this-&gt;PickY1 + 1;};
<a name="l00228"></a><a class="code" href="a01833.html#f70f73b6648a10f787060937965f8556">00228</a>   <span class="keywordtype">double</span> GetPickX1()<span class="keyword"> const </span>{<span class="keywordflow">return</span> this-&gt;PickX1;}
<a name="l00229"></a><a class="code" href="a01833.html#2cd6d8ccc6eb79afbdff2e97bad19d63">00229</a>   <span class="keywordtype">double</span> GetPickY1()<span class="keyword"> const </span>{<span class="keywordflow">return</span> this-&gt;PickY1;}
<a name="l00230"></a><a class="code" href="a01833.html#0847f83574575f235409a15f81ddd298">00230</a>   <span class="keywordtype">double</span> GetPickX2()<span class="keyword"> const </span>{<span class="keywordflow">return</span> this-&gt;PickX2;}
<a name="l00231"></a><a class="code" href="a01833.html#f5e32222556c6cecbdc25fda4d77e181">00231</a>   <span class="keywordtype">double</span> GetPickY2()<span class="keyword"> const </span>{<span class="keywordflow">return</span> this-&gt;PickY2;}
<a name="l00232"></a>00232   vtkGetMacro(IsPicking, <span class="keywordtype">int</span>);
<a name="l00233"></a>00233   vtkGetObjectMacro(PickResultProps, <a class="code" href="a01321.html" title="a list of Props">vtkPropCollection</a>);
<a name="l00235"></a>00235 
<a name="l00237"></a>00237   <span class="keyword">virtual</span> <span class="keywordtype">double</span> GetPickedZ() = 0;
<a name="l00238"></a>00238 
<a name="l00239"></a>00239 <span class="preprocessor">#ifdef VTK_WORKAROUND_WINDOWS_MANGLE</span>
<a name="l00240"></a>00240 <span class="preprocessor"></span><span class="preprocessor"># define RemovePropA RemoveProp</span>
<a name="l00241"></a>00241 <span class="preprocessor"></span><span class="preprocessor"># define RemovePropW RemoveProp</span>
<a name="l00242"></a>00242 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00243"></a>00243 <span class="preprocessor"></span>
<a name="l00245"></a>00245   VTK_LEGACY(<span class="keywordtype">void</span> RemoveProp(<a class="code" href="a01317.html" title="abstract superclass for all actors, volumes and annotations">vtkProp</a>*));
<a name="l00246"></a>00246 
<a name="l00247"></a>00247 <span class="preprocessor">#ifdef VTK_WORKAROUND_WINDOWS_MANGLE</span>
<a name="l00248"></a>00248 <span class="preprocessor"></span><span class="preprocessor"># undef RemovePropA</span>
<a name="l00249"></a>00249 <span class="preprocessor"></span><span class="preprocessor"># undef RemovePropW</span>
<a name="l00250"></a>00250 <span class="preprocessor"></span>  <span class="comment">//BTX</span>
<a name="l00251"></a>00251   VTK_LEGACY(<span class="keywordtype">void</span> RemovePropA(<a class="code" href="a01317.html" title="abstract superclass for all actors, volumes and annotations">vtkProp</a>*));
<a name="l00252"></a>00252   VTK_LEGACY(<span class="keywordtype">void</span> RemovePropW(<a class="code" href="a01317.html" title="abstract superclass for all actors, volumes and annotations">vtkProp</a>*));
<a name="l00253"></a>00253   <span class="comment">//ETX</span>
<a name="l00254"></a>00254 <span class="preprocessor">#endif</span>
<a name="l00255"></a>00255 <span class="preprocessor"></span>
<a name="l00257"></a>00257   VTK_LEGACY(<span class="keywordtype">void</span> AddProp(<a class="code" href="a01317.html" title="abstract superclass for all actors, volumes and annotations">vtkProp</a> *));
<a name="l00258"></a>00258 
<a name="l00260"></a>00260   VTK_LEGACY(<a class="code" href="a01321.html" title="a list of Props">vtkPropCollection</a> *GetProps());
<a name="l00261"></a>00261 
<a name="l00263"></a>00263   VTK_LEGACY(<span class="keywordtype">int</span> HasProp(<a class="code" href="a01317.html" title="abstract superclass for all actors, volumes and annotations">vtkProp</a> *));
<a name="l00264"></a>00264 
<a name="l00267"></a>00267   VTK_LEGACY(<span class="keywordtype">void</span> RemoveAllProps());
<a name="l00268"></a>00268 
<a name="l00269"></a>00269 <span class="keyword">protected</span>:
<a name="l00270"></a>00270   <span class="comment">// Create a vtkViewport with a black background, a white ambient light, </span>
<a name="l00271"></a>00271   <span class="comment">// two-sided lighting turned on, a viewport of (0,0,1,1), and back face </span>
<a name="l00272"></a>00272   <span class="comment">// culling turned off.</span>
<a name="l00273"></a>00273   <a class="code" href="a01833.html" title="abstract specification for Viewports">vtkViewport</a>();
<a name="l00274"></a>00274   ~<a class="code" href="a01833.html" title="abstract specification for Viewports">vtkViewport</a>();
<a name="l00275"></a>00275 
<a name="l00276"></a>00276   <span class="comment">//BTX</span>
<a name="l00277"></a>00277   <span class="comment">// Picking functions to be implemented by sub-classes</span>
<a name="l00278"></a>00278   <span class="comment">// Perform the main picking loop</span>
<a name="l00279"></a>00279   <span class="keyword">virtual</span> <span class="keywordtype">void</span> DevicePickRender() = 0;
<a name="l00280"></a>00280   <span class="comment">// Enter a pick mode</span>
<a name="l00281"></a>00281   <span class="keyword">virtual</span> <span class="keywordtype">void</span> StartPick(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> pickFromSize) = 0;
<a name="l00282"></a>00282   <span class="comment">// Set the pick id to the next id before drawing an object</span>
<a name="l00283"></a>00283   <span class="keyword">virtual</span> <span class="keywordtype">void</span> UpdatePickId() = 0;
<a name="l00284"></a>00284   <span class="comment">// Exit Pick mode</span>
<a name="l00285"></a>00285   <span class="keyword">virtual</span> <span class="keywordtype">void</span> DonePick() = 0; 
<a name="l00286"></a>00286   <span class="comment">// Return the id of the picked object, only valid after a call to DonePick</span>
<a name="l00287"></a>00287   <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> GetPickedId() = 0;
<a name="l00288"></a>00288   <span class="comment">// Return the number of objects picked, only valid after a call to DonePick</span>
<a name="l00289"></a>00289   <span class="keyword">virtual</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> GetNumPickedIds() = 0;
<a name="l00290"></a>00290   <span class="comment">// Put no more than atMost picked object ids into the callerBuffer and</span>
<a name="l00291"></a>00291   <span class="comment">// return the number of picked objects returned.</span>
<a name="l00292"></a>00292   <span class="keyword">virtual</span> <span class="keywordtype">int</span> GetPickedIds(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> atMost, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *callerBuffer) = 0;
<a name="l00293"></a>00293   <span class="comment">//ETX</span>
<a name="l00294"></a>00294 
<a name="l00295"></a>00295   <span class="comment">// Ivars for picking</span>
<a name="l00296"></a>00296   <span class="comment">// Store a picked Prop (contained in an assembly path)</span>
<a name="l00297"></a><a class="code" href="a01833.html#2e832cd7eb7b76893a3b049ffc35a4bf">00297</a>   <a class="code" href="a00143.html" title="a list of nodes that form an assembly path">vtkAssemblyPath</a>* PickedProp;
<a name="l00298"></a><a class="code" href="a01833.html#b6a38ee5cf3058cbf80740e38e6a871e">00298</a>   <a class="code" href="a01321.html" title="a list of Props">vtkPropCollection</a>* PickFromProps;
<a name="l00299"></a><a class="code" href="a01833.html#81ffeb3ad79ad4d0316666d052204426">00299</a>   <a class="code" href="a01321.html" title="a list of Props">vtkPropCollection</a>* PickResultProps;
<a name="l00300"></a>00300   <span class="comment">// Boolean flag to determine if picking is enabled for this render</span>
<a name="l00301"></a><a class="code" href="a01833.html#9db54f47a19dc315a18aa857f8f140cb">00301</a>   <span class="keywordtype">int</span> IsPicking;
<a name="l00302"></a><a class="code" href="a01833.html#cb3520b62bf52f0c631e43ebd2f2738b">00302</a>   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> CurrentPickId;
<a name="l00303"></a><a class="code" href="a01833.html#a56877b6f92edee7062b62a44453a97c">00303</a>   <span class="keywordtype">double</span> PickX1;
<a name="l00304"></a><a class="code" href="a01833.html#cb39d947c2d3f85d3565ed4d764e0220">00304</a>   <span class="keywordtype">double</span> PickY1;
<a name="l00305"></a><a class="code" href="a01833.html#3a3da14d3f404093583f2cfc00766789">00305</a>   <span class="keywordtype">double</span> PickX2;
<a name="l00306"></a><a class="code" href="a01833.html#f4324c2d540c6a1b52ed3262c0f31f66">00306</a>   <span class="keywordtype">double</span> PickY2;
<a name="l00307"></a>00307   <span class="comment">// End Ivars for picking</span>
<a name="l00308"></a>00308 
<a name="l00309"></a><a class="code" href="a01833.html#0e2cdc8edad937710b2b70c74492b8c6">00309</a>   <a class="code" href="a01321.html" title="a list of Props">vtkPropCollection</a> *Props;
<a name="l00310"></a><a class="code" href="a01833.html#673ad67e15dea6d119a8d0edce3ec680">00310</a>   <a class="code" href="a00094.html" title="a list of 2D actors">vtkActor2DCollection</a> *Actors2D;
<a name="l00311"></a><a class="code" href="a01833.html#766f166ee6f52e932190f50b7a212008">00311</a>   <a class="code" href="a01886.html" title="window superclass for vtkRenderWindow">vtkWindow</a> *VTKWindow;
<a name="l00312"></a><a class="code" href="a01833.html#61e99a5716f868448534394f6afe3c7d">00312</a>   <span class="keywordtype">double</span> <a class="code" href="a03761.html#88ade42854f67d6297898362e17a515fcc2c6ee90aad298b75ae59ea7d9004fb">Background</a>[3];  
<a name="l00313"></a><a class="code" href="a01833.html#58b3b61a4e0b254df70508b82f067300">00313</a>   <span class="keywordtype">double</span> Background2[3];  
<a name="l00314"></a><a class="code" href="a01833.html#9af7efbc9b276d3ffe73630e39121fb1">00314</a>   <span class="keywordtype">double</span> Viewport[4];
<a name="l00315"></a><a class="code" href="a01833.html#1b89394e5ef7a70113a665d0814bc6d3">00315</a>   <span class="keywordtype">double</span> Aspect[2];
<a name="l00316"></a><a class="code" href="a01833.html#d46fa99fe9d43c0864b8d77443b3b1b5">00316</a>   <span class="keywordtype">double</span> PixelAspect[2];
<a name="l00317"></a><a class="code" href="a01833.html#f43aa99924d6c1ed47d4944dbe0c7435">00317</a>   <span class="keywordtype">double</span> Center[2];
<a name="l00318"></a><a class="code" href="a01833.html#55ca9efe9dcf9cbac3e610ce03206563">00318</a>   <span class="keywordtype">bool</span> GradientBackground;
<a name="l00319"></a>00319 
<a name="l00320"></a><a class="code" href="a01833.html#fc817256813506f6eef84629a8fe0c4c">00320</a>   <span class="keywordtype">int</span> Size[2];
<a name="l00321"></a><a class="code" href="a01833.html#c930d89ce074cdf38d086bf8c0d0d55e">00321</a>   <span class="keywordtype">int</span> Origin[2];
<a name="l00322"></a><a class="code" href="a01833.html#5660d3b24d60de6a2d6abe1af6adf0de">00322</a>   <span class="keywordtype">double</span> DisplayPoint[3];
<a name="l00323"></a><a class="code" href="a01833.html#72ddd0f1157c4507a8b01747d9ea6fff">00323</a>   <span class="keywordtype">double</span> ViewPoint[3];
<a name="l00324"></a><a class="code" href="a01833.html#10821000811ac10a4f20590e119b471c">00324</a>   <span class="keywordtype">double</span> WorldPoint[4];
<a name="l00325"></a>00325 
<a name="l00326"></a>00326 <span class="keyword">private</span>:
<a name="l00327"></a>00327   <a class="code" href="a01833.html" title="abstract specification for Viewports">vtkViewport</a>(<span class="keyword">const</span> <a class="code" href="a01833.html" title="abstract specification for Viewports">vtkViewport</a>&amp;);  <span class="comment">// Not implemented.</span>
<a name="l00328"></a>00328   <span class="keywordtype">void</span> operator=(<span class="keyword">const</span> <a class="code" href="a01833.html" title="abstract specification for Viewports">vtkViewport</a>&amp;);  <span class="comment">// Not implemented.</span>
<a name="l00329"></a>00329 };
<a name="l00330"></a>00330 
<a name="l00331"></a>00331 
<a name="l00332"></a>00332 
<a name="l00333"></a>00333 <span class="preprocessor">#endif</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jun 3 18:35:18 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>