<!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/Imaging/vtkImageImport.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/Imaging/vtkImageImport.h</h1><a href="a02920.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: vtkImageImport.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 __vtkImageImport_h</span> <a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor">#define __vtkImageImport_h</span> <a name="l00036"></a>00036 <span class="preprocessor"></span> <a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="a02276.html">vtkImageAlgorithm.h</a>"</span> <a name="l00038"></a>00038 <a name="l00039"></a><a class="code" href="a00778.html">00039</a> <span class="keyword">class </span><a class="code" href="a02170.html#3e7fe2912c56d9dbe95c57272a61f15f">VTK_IMAGING_EXPORT</a> <a class="code" href="a00778.html" title="Import data from a C array.">vtkImageImport</a> : <span class="keyword">public</span> <a class="code" href="a00727.html" title="Generic algorithm superclass for image algs.">vtkImageAlgorithm</a> <a name="l00040"></a>00040 { <a name="l00041"></a>00041 <span class="keyword">public</span>: <a name="l00042"></a>00042 <span class="keyword">static</span> <a class="code" href="a00778.html" title="Import data from a C array.">vtkImageImport</a> *<a class="code" href="a00101.html#06d80d8d4aa1a4856135fa003845be82">New</a>(); <a name="l00043"></a><a class="code" href="a00778.html#5d6ee20cbd91f3838420617fe05fcc04">00043</a> vtkTypeRevisionMacro(<a class="code" href="a00778.html" title="Import data from a C array.">vtkImageImport</a>,<a class="code" href="a00727.html" title="Generic algorithm superclass for image algs.">vtkImageAlgorithm</a>); <a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="a00727.html#24f67bbfad1ac731eb64f5172cf30af3">PrintSelf</a>(ostream& os, <a class="code" href="a00869.html" title="a simple class to control print indentation">vtkIndent</a> indent); <a name="l00045"></a>00045 <a name="l00049"></a>00049 <span class="keywordtype">void</span> CopyImportVoidPointer(<span class="keywordtype">void</span> *ptr, <span class="keywordtype">int</span> <a class="code" href="a03761.html#c6551f7bf833e8254b2b3ecdaea0d210e3d5e7c015dff08d8daf72a0102e1444">size</a>); <a name="l00050"></a>00050 <a name="l00052"></a>00052 <a name="l00056"></a>00056 <span class="keywordtype">void</span> SetImportVoidPointer(<span class="keywordtype">void</span> *ptr); <a name="l00057"></a><a class="code" href="a00778.html#c3d1a93703af9783d21e600ef80810d2">00057</a> <span class="keywordtype">void</span> *GetImportVoidPointer() {<span class="keywordflow">return</span> this->ImportVoidPointer;}; <a name="l00059"></a>00059 <a name="l00065"></a>00065 <span class="keywordtype">void</span> SetImportVoidPointer(<span class="keywordtype">void</span> *ptr, <span class="keywordtype">int</span> <a class="code" href="a02161.html#d6bef997add92b8246718df030c029c8">save</a>); <a name="l00066"></a>00066 <a name="l00068"></a>00068 <a name="l00070"></a>00070 vtkSetMacro(DataScalarType,<span class="keywordtype">int</span>); <a name="l00071"></a><a class="code" href="a00778.html#59b7193a886695ea2036a9a146244e1a">00071</a> <span class="keywordtype">void</span> SetDataScalarTypeToDouble(){this->SetDataScalarType(<a class="code" href="a02149.html#65081589ba940a5cf4aeb95b6be1f613">VTK_DOUBLE</a>);} <a name="l00072"></a><a class="code" href="a00778.html#e33458c2d07bf3e40996c5c22a013a14">00072</a> <span class="keywordtype">void</span> SetDataScalarTypeToFloat(){this->SetDataScalarType(<a class="code" href="a02149.html#aa048913d336249efc600e3c5a144c42">VTK_FLOAT</a>);} <a name="l00073"></a><a class="code" href="a00778.html#f374cb1b1250414dceae7d0c37b0b18a">00073</a> <span class="keywordtype">void</span> SetDataScalarTypeToInt(){this->SetDataScalarType(<a class="code" href="a02149.html#95206d824b282a36f88c301c58d91964">VTK_INT</a>);} <a name="l00074"></a><a class="code" href="a00778.html#65753e3b0219978cf30c6938546d4b59">00074</a> <span class="keywordtype">void</span> SetDataScalarTypeToShort(){this->SetDataScalarType(<a class="code" href="a02149.html#16468f12840502cb95648b1299f7f26e">VTK_SHORT</a>);} <a name="l00075"></a><a class="code" href="a00778.html#4981ee2dea089cc894c9431c3b58e2d2">00075</a> <span class="keywordtype">void</span> SetDataScalarTypeToUnsignedShort() <a name="l00076"></a>00076 {this->SetDataScalarType(<a class="code" href="a02149.html#725b04f63c9f8fbf28fc8fd56b9d9392">VTK_UNSIGNED_SHORT</a>);} <a name="l00077"></a><a class="code" href="a00778.html#7e08a157b6ef50dba1bcadf00b646962">00077</a> <span class="keywordtype">void</span> SetDataScalarTypeToUnsignedChar() <a name="l00078"></a>00078 {this->SetDataScalarType(<a class="code" href="a02149.html#69e20baa3fd444e25ba1a5fc30bd29d5">VTK_UNSIGNED_CHAR</a>);} <a name="l00079"></a>00079 vtkGetMacro(DataScalarType, <span class="keywordtype">int</span>); <a name="l00080"></a><a class="code" href="a00778.html#679bff576baf22115e2ebccff72aaab5">00080</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *GetDataScalarTypeAsString() { <a name="l00081"></a>00081 <span class="keywordflow">return</span> vtkImageScalarTypeNameMacro(this->DataScalarType); } <a name="l00083"></a>00083 <a name="l00085"></a>00085 <a name="l00087"></a>00087 vtkSetMacro(NumberOfScalarComponents,<span class="keywordtype">int</span>); <a name="l00088"></a>00088 vtkGetMacro(NumberOfScalarComponents,<span class="keywordtype">int</span>); <a name="l00090"></a>00090 <a name="l00092"></a>00092 <a name="l00096"></a>00096 vtkSetVector6Macro(DataExtent,<span class="keywordtype">int</span>); <a name="l00097"></a>00097 vtkGetVector6Macro(DataExtent,<span class="keywordtype">int</span>); <a name="l00098"></a><a class="code" href="a00778.html#003c6d8ca4f02304b9c307f3f08dc3af">00098</a> <span class="keywordtype">void</span> SetDataExtentToWholeExtent() <a name="l00099"></a>00099 {this->SetDataExtent(this->GetWholeExtent());} <a name="l00101"></a>00101 <a name="l00103"></a>00103 <a name="l00105"></a>00105 vtkSetVector3Macro(DataSpacing,<span class="keywordtype">double</span>); <a name="l00106"></a>00106 vtkGetVector3Macro(DataSpacing,<span class="keywordtype">double</span>); <a name="l00108"></a>00108 <a name="l00110"></a>00110 <a name="l00112"></a>00112 vtkSetVector3Macro(DataOrigin,<span class="keywordtype">double</span>); <a name="l00113"></a>00113 vtkGetVector3Macro(DataOrigin,<span class="keywordtype">double</span>); <a name="l00115"></a>00115 <a name="l00117"></a>00117 <a name="l00120"></a>00120 vtkSetVector6Macro(WholeExtent,<span class="keywordtype">int</span>); <a name="l00121"></a>00121 vtkGetVector6Macro(WholeExtent,<span class="keywordtype">int</span>); <a name="l00123"></a>00123 <a name="l00125"></a>00125 <a name="l00126"></a>00126 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="a00727.html#442e91c5e549f40acffb0941846cb047">RequestUpdateExtent</a>( <a class="code" href="a00872.html" title="Store vtkAlgorithm input/output information.">vtkInformation</a>* request, <a name="l00127"></a>00127 <a class="code" href="a00895.html" title="Store zero or more vtkInformation instances.">vtkInformationVector</a>** inputVector, <a name="l00128"></a>00128 <a class="code" href="a00895.html" title="Store zero or more vtkInformation instances.">vtkInformationVector</a>* outputVector); <a name="l00130"></a>00130 <a name="l00132"></a>00132 <a name="l00134"></a>00134 vtkSetStringMacro(ScalarArrayName); <a name="l00135"></a>00135 vtkGetStringMacro(ScalarArrayName); <a name="l00137"></a>00137 <a name="l00138"></a>00138 <span class="comment">//BTX</span> <a name="l00140"></a>00140 <span class="comment"></span> <a name="l00142"></a>00142 <span class="keyword">typedef</span> void (*UpdateInformationCallbackType)(<span class="keywordtype">void</span>*); <a name="l00143"></a>00143 <span class="keyword">typedef</span> int (*PipelineModifiedCallbackType)(<span class="keywordtype">void</span>*); <a name="l00144"></a>00144 <span class="keyword">typedef</span> <span class="keywordtype">int</span>* (*WholeExtentCallbackType)(<span class="keywordtype">void</span>*); <a name="l00145"></a>00145 <span class="keyword">typedef</span> <span class="keywordtype">double</span>* (*SpacingCallbackType)(<span class="keywordtype">void</span>*); <a name="l00146"></a>00146 <span class="keyword">typedef</span> <span class="keywordtype">double</span>* (*OriginCallbackType)(<span class="keywordtype">void</span>*); <a name="l00147"></a>00147 <span class="keyword">typedef</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* (*ScalarTypeCallbackType)(<span class="keywordtype">void</span>*); <a name="l00148"></a>00148 <span class="keyword">typedef</span> int (*NumberOfComponentsCallbackType)(<span class="keywordtype">void</span>*); <a name="l00149"></a>00149 <span class="keyword">typedef</span> void (*PropagateUpdateExtentCallbackType)(<span class="keywordtype">void</span>*, <span class="keywordtype">int</span>*); <a name="l00150"></a>00150 <span class="keyword">typedef</span> void (*UpdateDataCallbackType)(<span class="keywordtype">void</span>*); <a name="l00151"></a>00151 <span class="keyword">typedef</span> <span class="keywordtype">int</span>* (*DataExtentCallbackType)(<span class="keywordtype">void</span>*); <a name="l00152"></a>00152 <span class="keyword">typedef</span> <span class="keywordtype">void</span>* (*BufferPointerCallbackType)(<span class="keywordtype">void</span>*); <a name="l00154"></a>00154 <a name="l00156"></a>00156 <a name="l00159"></a>00159 vtkSetMacro(UpdateInformationCallback, UpdateInformationCallbackType); <a name="l00160"></a>00160 vtkGetMacro(UpdateInformationCallback, UpdateInformationCallbackType); <a name="l00162"></a>00162 <a name="l00164"></a>00164 <a name="l00168"></a>00168 vtkSetMacro(PipelineModifiedCallback, PipelineModifiedCallbackType); <a name="l00169"></a>00169 vtkGetMacro(PipelineModifiedCallback, PipelineModifiedCallbackType); <a name="l00171"></a>00171 <a name="l00173"></a>00173 <a name="l00177"></a>00177 vtkSetMacro(WholeExtentCallback, WholeExtentCallbackType); <a name="l00178"></a>00178 vtkGetMacro(WholeExtentCallback, WholeExtentCallbackType); <a name="l00180"></a>00180 <a name="l00182"></a>00182 <a name="l00185"></a>00185 vtkSetMacro(SpacingCallback, SpacingCallbackType); <a name="l00186"></a>00186 vtkGetMacro(SpacingCallback, SpacingCallbackType); <a name="l00188"></a>00188 <a name="l00190"></a>00190 <a name="l00193"></a>00193 vtkSetMacro(OriginCallback, OriginCallbackType); <a name="l00194"></a>00194 vtkGetMacro(OriginCallback, OriginCallbackType); <a name="l00196"></a>00196 <a name="l00198"></a>00198 <a name="l00201"></a>00201 vtkSetMacro(ScalarTypeCallback, ScalarTypeCallbackType); <a name="l00202"></a>00202 vtkGetMacro(ScalarTypeCallback, ScalarTypeCallbackType); <a name="l00204"></a>00204 <a name="l00206"></a>00206 <a name="l00209"></a>00209 vtkSetMacro(NumberOfComponentsCallback, NumberOfComponentsCallbackType); <a name="l00210"></a>00210 vtkGetMacro(NumberOfComponentsCallback, NumberOfComponentsCallbackType); <a name="l00212"></a>00212 <a name="l00214"></a>00214 <a name="l00219"></a>00219 vtkSetMacro(PropagateUpdateExtentCallback,PropagateUpdateExtentCallbackType); <a name="l00220"></a>00220 vtkGetMacro(PropagateUpdateExtentCallback,PropagateUpdateExtentCallbackType); <a name="l00222"></a>00222 <a name="l00224"></a>00224 <a name="l00227"></a>00227 vtkSetMacro(UpdateDataCallback, UpdateDataCallbackType); <a name="l00228"></a>00228 vtkGetMacro(UpdateDataCallback, UpdateDataCallbackType); <a name="l00230"></a>00230 <a name="l00232"></a>00232 <a name="l00237"></a>00237 vtkSetMacro(DataExtentCallback, DataExtentCallbackType); <a name="l00238"></a>00238 vtkGetMacro(DataExtentCallback, DataExtentCallbackType); <a name="l00240"></a>00240 <a name="l00242"></a>00242 <a name="l00246"></a>00246 vtkSetMacro(BufferPointerCallback, BufferPointerCallbackType); <a name="l00247"></a>00247 vtkGetMacro(BufferPointerCallback, BufferPointerCallbackType); <a name="l00249"></a>00249 <a name="l00251"></a>00251 <a name="l00253"></a>00253 vtkSetMacro(CallbackUserData, <span class="keywordtype">void</span>*); <a name="l00254"></a>00254 vtkGetMacro(CallbackUserData, <span class="keywordtype">void</span>*); <a name="l00256"></a>00256 <a name="l00257"></a>00257 <span class="comment">//ETX</span> <a name="l00258"></a>00258 <a name="l00260"></a>00260 <a name="l00261"></a>00261 <span class="keywordtype">int</span> InvokePipelineModifiedCallbacks(); <a name="l00262"></a>00262 <span class="keywordtype">void</span> InvokeUpdateInformationCallbacks(); <a name="l00263"></a>00263 <span class="keywordtype">void</span> InvokeExecuteInformationCallbacks(); <a name="l00264"></a>00264 <span class="keywordtype">void</span> InvokeExecuteDataCallbacks(); <a name="l00265"></a>00265 <span class="keywordtype">void</span> LegacyCheckWholeExtent(); <a name="l00267"></a>00267 <a name="l00268"></a>00268 <span class="keyword">protected</span>: <a name="l00269"></a>00269 <a class="code" href="a00778.html" title="Import data from a C array.">vtkImageImport</a>(); <a name="l00270"></a>00270 ~<a class="code" href="a00778.html" title="Import data from a C array.">vtkImageImport</a>(); <a name="l00271"></a>00271 <a name="l00272"></a>00272 <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="a00727.html#b739abd84881f7e31a8a382bf5a06a91">RequestInformation</a> (<a class="code" href="a00872.html" title="Store vtkAlgorithm input/output information.">vtkInformation</a> *, <a class="code" href="a00895.html" title="Store zero or more vtkInformation instances.">vtkInformationVector</a> **, <a name="l00273"></a>00273 <a class="code" href="a00895.html" title="Store zero or more vtkInformation instances.">vtkInformationVector</a> *); <a name="l00274"></a>00274 <a name="l00275"></a>00275 <a name="l00276"></a><a class="code" href="a00778.html#787966516374bc96f426355903336e5e">00276</a> <span class="keywordtype">void</span> *ImportVoidPointer; <a name="l00277"></a><a class="code" href="a00778.html#acdc49712b656c14eab45d2848b05930">00277</a> <span class="keywordtype">int</span> SaveUserArray; <a name="l00278"></a>00278 <a name="l00279"></a><a class="code" href="a00778.html#074807da10229e878bc6727fe5f25347">00279</a> <span class="keywordtype">int</span> NumberOfScalarComponents; <a name="l00280"></a><a class="code" href="a00778.html#dc8d64d1524eae1e4079b00de691dfed">00280</a> <span class="keywordtype">int</span> DataScalarType; <a name="l00281"></a>00281 <a name="l00282"></a><a class="code" href="a00778.html#ba7cafa8c9a2565eb020a66b3f8d7893">00282</a> <span class="keywordtype">int</span> WholeExtent[6]; <a name="l00283"></a><a class="code" href="a00778.html#12fcd7081852f722156e3a0ac5546005">00283</a> <span class="keywordtype">int</span> DataExtent[6]; <a name="l00284"></a><a class="code" href="a00778.html#13f2e27ccf027ae4fdc519d9675cf5df">00284</a> <span class="keywordtype">double</span> DataSpacing[3]; <a name="l00285"></a><a class="code" href="a00778.html#fffed8eb78ce495c896859d5d1468bae">00285</a> <span class="keywordtype">double</span> DataOrigin[3]; <a name="l00286"></a>00286 <a name="l00287"></a><a class="code" href="a00778.html#4c93bb39fb54ffd110602547e964cf5a">00287</a> <span class="keywordtype">char</span> *ScalarArrayName; <a name="l00288"></a><a class="code" href="a00778.html#01ee4f64fb7b1268196503c732434d75">00288</a> <span class="keywordtype">void</span>* CallbackUserData; <a name="l00289"></a>00289 <a name="l00290"></a>00290 <span class="comment">//BTX</span> <a name="l00291"></a><a class="code" href="a00778.html#e75f3cb87debe231b8a7f6fa9e9952b7">00291</a> UpdateInformationCallbackType UpdateInformationCallback; <a name="l00292"></a><a class="code" href="a00778.html#724d0e3279f7830685d76c4feb391fa3">00292</a> PipelineModifiedCallbackType PipelineModifiedCallback; <a name="l00293"></a><a class="code" href="a00778.html#7c89728a4835d6804779c99cdfd6f7a6">00293</a> WholeExtentCallbackType WholeExtentCallback; <a name="l00294"></a><a class="code" href="a00778.html#b8f48b45814a1045f01643df63b3fc54">00294</a> SpacingCallbackType SpacingCallback; <a name="l00295"></a><a class="code" href="a00778.html#cb66d09d5bb12b98e48b1d83f6011d30">00295</a> OriginCallbackType OriginCallback; <a name="l00296"></a><a class="code" href="a00778.html#c7299a838e2932285699ea8de1aeefda">00296</a> ScalarTypeCallbackType ScalarTypeCallback; <a name="l00297"></a><a class="code" href="a00778.html#175120078a7e98608d5ce88431a76579">00297</a> NumberOfComponentsCallbackType NumberOfComponentsCallback; <a name="l00298"></a><a class="code" href="a00778.html#ad076785ccf575405b31d2124c98fa9a">00298</a> PropagateUpdateExtentCallbackType PropagateUpdateExtentCallback; <a name="l00299"></a><a class="code" href="a00778.html#27c7220d9bce4accfc2ddafab5099f0c">00299</a> UpdateDataCallbackType UpdateDataCallback; <a name="l00300"></a><a class="code" href="a00778.html#d6e4ce0a65d82346c9027cfb52d9e6c7">00300</a> DataExtentCallbackType DataExtentCallback; <a name="l00301"></a><a class="code" href="a00778.html#cc668babbabb3eb5f248b3a91a8f530b">00301</a> BufferPointerCallbackType BufferPointerCallback; <a name="l00302"></a>00302 <span class="comment">//ETX</span> <a name="l00303"></a>00303 <a name="l00304"></a>00304 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="a00727.html#e887460dbbd23c9665725807032766c0">ExecuteData</a>(<a class="code" href="a00362.html" title="general representation of visualization data">vtkDataObject</a> *d); <a name="l00305"></a>00305 <a name="l00306"></a>00306 <span class="keyword">private</span>: <a name="l00307"></a>00307 <a class="code" href="a00778.html" title="Import data from a C array.">vtkImageImport</a>(<span class="keyword">const</span> <a class="code" href="a00778.html" title="Import data from a C array.">vtkImageImport</a>&); <span class="comment">// Not implemented.</span> <a name="l00308"></a>00308 <span class="keywordtype">void</span> operator=(<span class="keyword">const</span> <a class="code" href="a00778.html" title="Import data from a C array.">vtkImageImport</a>&); <span class="comment">// Not implemented.</span> <a name="l00309"></a>00309 }; <a name="l00310"></a>00310 <a name="l00311"></a>00311 <span class="preprocessor">#endif</span> </pre></div></div> <hr size="1"><address style="text-align: right;"><small>Generated on Wed Jun 3 18:35:34 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>