<!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 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/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& 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->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->DisplayToView(); this->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->WorldToView(); this->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> &x, <span class="keywordtype">double</span> &y); <a name="l00179"></a>00179 <span class="keyword">virtual</span> <span class="keywordtype">void</span> DisplayToNormalizedDisplay(<span class="keywordtype">double</span> &u, <span class="keywordtype">double</span> &v); <a name="l00180"></a>00180 <span class="keyword">virtual</span> <span class="keywordtype">void</span> NormalizedDisplayToViewport(<span class="keywordtype">double</span> &x, <span class="keywordtype">double</span> &y); <a name="l00181"></a>00181 <span class="keyword">virtual</span> <span class="keywordtype">void</span> ViewportToNormalizedViewport(<span class="keywordtype">double</span> &u, <span class="keywordtype">double</span> &v); <a name="l00182"></a>00182 <span class="keyword">virtual</span> <span class="keywordtype">void</span> NormalizedViewportToView(<span class="keywordtype">double</span> &x, <span class="keywordtype">double</span> &y, <span class="keywordtype">double</span> &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> &, <span class="keywordtype">double</span> &, <span class="keywordtype">double</span> &) {}; <a name="l00184"></a>00184 <span class="keyword">virtual</span> <span class="keywordtype">void</span> DisplayToLocalDisplay(<span class="keywordtype">double</span> &x, <span class="keywordtype">double</span> &y); <a name="l00185"></a>00185 <span class="keyword">virtual</span> <span class="keywordtype">void</span> NormalizedDisplayToDisplay(<span class="keywordtype">double</span> &u, <span class="keywordtype">double</span> &v); <a name="l00186"></a>00186 <span class="keyword">virtual</span> <span class="keywordtype">void</span> ViewportToNormalizedDisplay(<span class="keywordtype">double</span> &x, <span class="keywordtype">double</span> &y); <a name="l00187"></a>00187 <span class="keyword">virtual</span> <span class="keywordtype">void</span> NormalizedViewportToViewport(<span class="keywordtype">double</span> &u, <span class="keywordtype">double</span> &v); <a name="l00188"></a>00188 <span class="keyword">virtual</span> <span class="keywordtype">void</span> ViewToNormalizedViewport(<span class="keywordtype">double</span> &x, <span class="keywordtype">double</span> &y, <span class="keywordtype">double</span> &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> &, <span class="keywordtype">double</span> &, <span class="keywordtype">double</span> &) {}; <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->PickX1 + this->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->PickY1 + this->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->PickX2 - this->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->PickY2 - this->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->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->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->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->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>&); <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>&); <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 <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>