<!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: vtkArrayExtents Class Reference</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 class="current"><a href="classes.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="classes.html"><span>Alphabetical List</span></a></li> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>vtkArrayExtents Class Reference</h1><!-- doxytag: class="vtkArrayExtents" --><code>#include <<a class="el" href="a03772.html">vtkArrayExtents.h</a>></code> <p> <p> <a href="a07971.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> Stores the number of dimensions and size of an N-way array. <p> <a class="el" href="a00130.html" title="Stores the number of dimensions and size of an N-way array.">vtkArrayExtents</a> describes the number of dimensions and size along each dimension of an N-way collection of values. It is used to retrieve and update the extents of a <a class="el" href="a00124.html" title="Abstract interface for N-dimensional arrays.">vtkArray</a> object.<p> Convenience constructors are provided for creating extents along one, two, and three dimensions. For higher dimensions, you can:<p> Use the static <a class="el" href="a00130.html#1d78594e8116e048bea8cdb56d81de31">Uniform()</a> factory method to create extents that have the same size along an arbitrary number of dimensions.<p> Use the default constructor and the <a class="el" href="a00130.html#45935751d26115380ef76afc8b189e84">Append()</a> method to "grow" your extents to the correct number of dimensions.<p> Use the default constructuor, <a class="el" href="a00130.html#783a030d6a35eca90e035f4885edb3b9">SetDimensions()</a> and operator[] to assign a size along each dimension.<p> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a00124.html" title="Abstract interface for N-dimensional arrays.">vtkArray</a>, <a class="el" href="a00127.html" title="Stores coordinate into an N-way array.">vtkArrayCoordinates</a></dd></dl> <dl class="user" compact><dt><b>Thanks:</b></dt><dd>Developed by Timothy M. Shead (<a href="mailto:tshead@sandia.gov">tshead@sandia.gov</a>) at Sandia National Laboratories.</dd></dl> <dl class="user" compact><dt><b>Tests:</b></dt><dd><a class="el" href="c2_vtk_t_1.html#c2_vtk_t_vtkArrayExtents">vtkArrayExtents (Tests)</a> </dd></dl> <p>Definition at line <a class="el" href="a03772.html#l00061">61</a> of file <a class="el" href="a03772.html">vtkArrayExtents.h</a>.</p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00130.html#bee3dc03bda0142093f2381425569ed9">vtkArrayExtents</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00130.html#fe1b07cd6a616488884318fa6a18afb6">vtkArrayExtents</a> (<a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> i)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00130.html#540542747d7816462cadbf352a7bba61">vtkArrayExtents</a> (<a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> i, <a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> j)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00130.html#5f270aa948b04524045f17b29cb61ce2">vtkArrayExtents</a> (<a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> i, <a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> j, <a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> k)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00130.html#45935751d26115380ef76afc8b189e84">Append</a> (<a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> extent)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00130.html#5090f3f61e5a0bb37fe4e5b3f27129c0">GetDimensions</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00130.html#7b5fe424a94d3b6f8b0719e368cd2e66">GetSize</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00130.html#783a030d6a35eca90e035f4885edb3b9">SetDimensions</a> (<a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> dimensions)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00130.html#d72f6abda3e44e4cb90831ba6d55d784">operator[]</a> (<a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> i)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00130.html#e7ed99d902451d64b4ac10fc648a9b42">operator[]</a> (<a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> i) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00130.html#b174a1eb79b492c1875bed4760bd8054">operator==</a> (const <a class="el" href="a00130.html">vtkArrayExtents</a> &rhs) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00130.html#91f57b75eacfae86d9dc88b6abb448c1">operator!=</a> (const <a class="el" href="a00130.html">vtkArrayExtents</a> &rhs) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="a00130.html#4028c3905dc2ff57c6c1ac8d8f5b1ed3">Contains</a> (const <a class="el" href="a00127.html">vtkArrayCoordinates</a> &coordinates) const </td></tr> <tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="a00130.html">vtkArrayExtents</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00130.html#1d78594e8116e048bea8cdb56d81de31">Uniform</a> (<a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> n, <a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> m)</td></tr> <tr><td colspan="2"><br><h2>Friends</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">VTK_COMMON_EXPORT friend ostream & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00130.html#c064c461363c20d864d038dfe90c08a1">operator<<</a> (ostream &stream, const <a class="el" href="a00130.html">vtkArrayExtents</a> &rhs)</td></tr> </table> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="bee3dc03bda0142093f2381425569ed9"></a><!-- doxytag: member="vtkArrayExtents::vtkArrayExtents" ref="bee3dc03bda0142093f2381425569ed9" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vtkArrayExtents::vtkArrayExtents </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Create zero-dimensional extents. </div> </div><p> <a class="anchor" name="fe1b07cd6a616488884318fa6a18afb6"></a><!-- doxytag: member="vtkArrayExtents::vtkArrayExtents" ref="fe1b07cd6a616488884318fa6a18afb6" args="(vtkIdType i)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vtkArrayExtents::vtkArrayExtents </td> <td>(</td> <td class="paramtype"><a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> </td> <td class="paramname"> <em>i</em> </td> <td> ) </td> <td><code> [explicit]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Create one-dimensional extents. </div> </div><p> <a class="anchor" name="540542747d7816462cadbf352a7bba61"></a><!-- doxytag: member="vtkArrayExtents::vtkArrayExtents" ref="540542747d7816462cadbf352a7bba61" args="(vtkIdType i, vtkIdType j)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vtkArrayExtents::vtkArrayExtents </td> <td>(</td> <td class="paramtype"><a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> </td> <td class="paramname"> <em>i</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> </td> <td class="paramname"> <em>j</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Create two-dimensional extents. </div> </div><p> <a class="anchor" name="5f270aa948b04524045f17b29cb61ce2"></a><!-- doxytag: member="vtkArrayExtents::vtkArrayExtents" ref="5f270aa948b04524045f17b29cb61ce2" args="(vtkIdType i, vtkIdType j, vtkIdType k)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vtkArrayExtents::vtkArrayExtents </td> <td>(</td> <td class="paramtype"><a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> </td> <td class="paramname"> <em>i</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> </td> <td class="paramname"> <em>j</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> </td> <td class="paramname"> <em>k</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Create three-dimensional extents. </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="1d78594e8116e048bea8cdb56d81de31"></a><!-- doxytag: member="vtkArrayExtents::Uniform" ref="1d78594e8116e048bea8cdb56d81de31" args="(vtkIdType n, vtkIdType m)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static const <a class="el" href="a00130.html">vtkArrayExtents</a> vtkArrayExtents::Uniform </td> <td>(</td> <td class="paramtype"><a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> </td> <td class="paramname"> <em>n</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> </td> <td class="paramname"> <em>m</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Create n-dimensional extents with size m along each dimension. </div> </div><p> <a class="anchor" name="45935751d26115380ef76afc8b189e84"></a><!-- doxytag: member="vtkArrayExtents::Append" ref="45935751d26115380ef76afc8b189e84" args="(vtkIdType extent)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkArrayExtents::Append </td> <td>(</td> <td class="paramtype"><a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> </td> <td class="paramname"> <em>extent</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Grow the number of dimensions by one, specifying the extent of the new dimension. </div> </div><p> <a class="anchor" name="5090f3f61e5a0bb37fe4e5b3f27129c0"></a><!-- doxytag: member="vtkArrayExtents::GetDimensions" ref="5090f3f61e5a0bb37fe4e5b3f27129c0" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> vtkArrayExtents::GetDimensions </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Return the current number of dimensions. </div> </div><p> <a class="anchor" name="7b5fe424a94d3b6f8b0719e368cd2e66"></a><!-- doxytag: member="vtkArrayExtents::GetSize" ref="7b5fe424a94d3b6f8b0719e368cd2e66" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> vtkArrayExtents::GetSize </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Return the number of values that *could* be stored using the current extents. This is equal to the product of the extents along each dimension. </div> </div><p> <a class="anchor" name="783a030d6a35eca90e035f4885edb3b9"></a><!-- doxytag: member="vtkArrayExtents::SetDimensions" ref="783a030d6a35eca90e035f4885edb3b9" args="(vtkIdType dimensions)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkArrayExtents::SetDimensions </td> <td>(</td> <td class="paramtype"><a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> </td> <td class="paramname"> <em>dimensions</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Set the current number of dimensions. Note that this method resets the extent along each dimension to zero, so you must assign each dimension's extent explicitly using operator[] after calling <a class="el" href="a00130.html#783a030d6a35eca90e035f4885edb3b9">SetDimensions()</a>. </div> </div><p> <a class="anchor" name="d72f6abda3e44e4cb90831ba6d55d784"></a><!-- doxytag: member="vtkArrayExtents::operator[]" ref="d72f6abda3e44e4cb90831ba6d55d784" args="(vtkIdType i)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a>& vtkArrayExtents::operator[] </td> <td>(</td> <td class="paramtype"><a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> </td> <td class="paramname"> <em>i</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Accesses the extent of the i-th dimension. </div> </div><p> <a class="anchor" name="e7ed99d902451d64b4ac10fc648a9b42"></a><!-- doxytag: member="vtkArrayExtents::operator[]" ref="e7ed99d902451d64b4ac10fc648a9b42" args="(vtkIdType i) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a>& vtkArrayExtents::operator[] </td> <td>(</td> <td class="paramtype"><a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> </td> <td class="paramname"> <em>i</em> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Accesses the extent of the i-th dimension. </div> </div><p> <a class="anchor" name="b174a1eb79b492c1875bed4760bd8054"></a><!-- doxytag: member="vtkArrayExtents::operator==" ref="b174a1eb79b492c1875bed4760bd8054" args="(const vtkArrayExtents &rhs) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool vtkArrayExtents::operator== </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00130.html">vtkArrayExtents</a> & </td> <td class="paramname"> <em>rhs</em> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Equality comparison </div> </div><p> <a class="anchor" name="91f57b75eacfae86d9dc88b6abb448c1"></a><!-- doxytag: member="vtkArrayExtents::operator!=" ref="91f57b75eacfae86d9dc88b6abb448c1" args="(const vtkArrayExtents &rhs) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool vtkArrayExtents::operator!= </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00130.html">vtkArrayExtents</a> & </td> <td class="paramname"> <em>rhs</em> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Inequality comparison </div> </div><p> <a class="anchor" name="4028c3905dc2ff57c6c1ac8d8f5b1ed3"></a><!-- doxytag: member="vtkArrayExtents::Contains" ref="4028c3905dc2ff57c6c1ac8d8f5b1ed3" args="(const vtkArrayCoordinates &coordinates) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool vtkArrayExtents::Contains </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00127.html">vtkArrayCoordinates</a> & </td> <td class="paramname"> <em>coordinates</em> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Returns true if the given array coordinates are completely contained by the current extents (i.e. that 0 <= coordinate and coordinate < extent along every dimension). Returns false if the array coordinates are outside the current extents, or contain a different number of dimensions. </div> </div><p> <hr><h2>Friends And Related Function Documentation</h2> <a class="anchor" name="c064c461363c20d864d038dfe90c08a1"></a><!-- doxytag: member="vtkArrayExtents::operator<<" ref="c064c461363c20d864d038dfe90c08a1" args="(ostream &stream, const vtkArrayExtents &rhs)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">VTK_COMMON_EXPORT friend ostream& operator<< </td> <td>(</td> <td class="paramtype">ostream & </td> <td class="paramname"> <em>stream</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00130.html">vtkArrayExtents</a> & </td> <td class="paramname"> <em>rhs</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [friend]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li>dox/Common/<a class="el" href="a03772.html">vtkArrayExtents.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Wed Jun 3 18:53:33 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>