<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta name="robots" content="noindex"> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>ITK: itk::OctreeNode Class Reference</title> <link href="DoxygenStyle.css" rel="stylesheet" type="text/css"> </head><body bgcolor="#ffffff"> <!-- Section customized for INSIGHT : Tue Jul 17 01:02:45 2001 --> <center> <a href="index.html" class="qindex">Main Page</a> <a href="modules.html" class="qindex">Groups</a> <a href="namespaces.html" class="qindex">Namespace List</a> <a href="hierarchy.html" class="qindex">Class Hierarchy</a> <a href="classes.html" class="qindex">Alphabetical List</a> <a href="annotated.html" class="qindex">Compound List</a> <a href="files.html" class="qindex">File List</a> <a href="namespacemembers.html" class="qindex">Namespace Members</a> <a href="functions.html" class="qindex">Compound Members</a> <a href="globals.html" class="qindex">File Members</a> <a href="pages.html" class="qindex">Concepts</a></center> <!-- Generated by Doxygen 1.5.9 --> <div class="navpath"><a class="el" href="namespaceitk.html">itk</a>::<a class="el" href="classitk_1_1OctreeNode.html">OctreeNode</a> </div> <div class="contents"> <h1>itk::OctreeNode Class Reference</h1><!-- doxytag: class="itk::OctreeNode" --><code>#include <<a class="el" href="itkOctreeNode_8h_source.html">itkOctreeNode.h</a>></code> <p> <div class="dynheader"> Collaboration diagram for itk::OctreeNode:</div> <div class="dynsection"> <p><center><img src="classitk_1_1OctreeNode__coll__graph.png" border="0" usemap="#itk_1_1OctreeNode__coll__map" alt="Collaboration graph"></center> <map name="itk_1_1OctreeNode__coll__map"> <area shape="rect" id="node16" href="classitk_1_1OctreeNodeBranch.html" title="itk::OctreeNodeBranch" alt="" coords="292,469,471,499"><area shape="rect" id="node2" href="classitk_1_1OctreeBase.html" title="Provides non-templated access to templated instances of Octree." alt="" coords="316,277,447,307"><area shape="rect" id="node4" href="classitk_1_1Object.html" title="Base class for most itk classes." alt="" coords="333,197,429,227"><area shape="rect" id="node6" href="classitk_1_1LightObject.html" title="Light weight base class for most itk classes." alt="" coords="73,101,201,131"><area shape="rect" id="node8" href="classitk_1_1SimpleFastMutexLock.html" title="Critical section locking class that can be allocated on the stack." alt="" coords="5,5,200,35"><area shape="rect" id="node10" href="classitk_1_1MetaDataDictionary.html" title="itk::MetaDataDictionary" alt="" coords="293,101,480,131"><area shape="rect" id="node12" href="classitk_1_1MetaDataDictionary_1_1MetaDataDictionaryMapType.html" title="itk::MetaDataDictionary::MetaDataDictionaryMapType" alt="" coords="224,5,619,35"><area shape="rect" id="node14" href="classitk_1_1TimeStamp.html" title="Generate a unique, increasing time value." alt="" coords="508,101,633,131"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="classitk_1_1OctreeNode-members.html">List of all members.</a><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">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1OctreeNode.html#dbff9955fdc40fe0f693cbf43531f41d">GetColor</a> (void) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1OctreeNode.html#001111fd536c053e8de1f3402d443a4a">IsNodeColored</a> (void) const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1OctreeNode.html#aba3e8ffb1a7717160f76d2f780d5883">OctreeNode</a> (void)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1OctreeNode.html#5ffa3beb98b2ffb0a314cbdfaa475fdb">SetBranch</a> (<a class="el" href="classitk_1_1OctreeNodeBranch.html">OctreeNodeBranch</a> *NewBranch)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1OctreeNode.html#481327af881813840bf67419ee5e7b1b">SetColor</a> (int NodeColor)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1OctreeNode.html#30e66f5e30e7c07fded94a26199c6a0d">SetParentOctree</a> (<a class="el" href="classitk_1_1OctreeBase.html">OctreeBase</a> *parent)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1OctreeNode.html#f03ed027b024148ad275abac89b084de">~OctreeNode</a> (void)</td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitk_1_1OctreeNode.html">OctreeNode</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1OctreeNode.html#18d0c5ea7df17f79ef820f297ff15106">GetChild</a> (const enum <a class="el" href="namespaceitk.html#d294f843f2887fb6c7952f90d9327d4c">LeafIdentifier</a> ChildID)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitk_1_1OctreeNode.html">OctreeNode</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1OctreeNode.html#6a697f81207ad9225d38c5211a7eed92">GetChild</a> (const enum <a class="el" href="namespaceitk.html#d294f843f2887fb6c7952f90d9327d4c">LeafIdentifier</a> ChildID) const </td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> <a class="el" href="classitk_1_1OctreeNode.html">OctreeNode</a> data structure, OctreeNodes have two states: 1) They are a Colored node and the m_Branch is a sentinal value indicating the color, or 2) they are a branch node, and m_Branch is a dynamically allocated array of 8 pointers to OctreeNodes. In the second state, the 8 child OctreeNodes are instantiated by the parent node. <dl class="author" compact><dt><b>Author:</b></dt><dd>Hans J. Johnson This class is the basic building block of an octree. It is rarely used by itself, and commonly used by the <a class="el" href="classitk_1_1Octree.html" title="represent a 3D Image with an Octree data structure.">Octree</a> class. </dd></dl> <p>Definition at line <a class="el" href="itkOctreeNode_8h_source.html#l00039">39</a> of file <a class="el" href="itkOctreeNode_8h_source.html">itkOctreeNode.h</a>.</p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="aba3e8ffb1a7717160f76d2f780d5883"></a><!-- doxytag: member="itk::OctreeNode::OctreeNode" ref="aba3e8ffb1a7717160f76d2f780d5883" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">itk::OctreeNode::OctreeNode </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Default constructor <dl class="author" compact><dt><b>Author:</b></dt><dd>Hans J. Johnson </dd></dl> <dl class="post" compact><dt><b>Postcondition:</b></dt><dd>After construction, it is assumed all children of this node are colored with values of 0. </dd></dl> </div> </div><p> <a class="anchor" name="f03ed027b024148ad275abac89b084de"></a><!-- doxytag: member="itk::OctreeNode::~OctreeNode" ref="f03ed027b024148ad275abac89b084de" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual itk::OctreeNode::~OctreeNode </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Default destructor <dl class="author" compact><dt><b>Author:</b></dt><dd>Hans J. Johnson </dd></dl> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="18d0c5ea7df17f79ef820f297ff15106"></a><!-- doxytag: member="itk::OctreeNode::GetChild" ref="18d0c5ea7df17f79ef820f297ff15106" args="(const enum LeafIdentifier ChildID)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classitk_1_1OctreeNode.html">OctreeNode</a>& itk::OctreeNode::GetChild </td> <td>(</td> <td class="paramtype">const enum <a class="el" href="namespaceitk.html#d294f843f2887fb6c7952f90d9327d4c">LeafIdentifier</a> </td> <td class="paramname"> <em>ChildID</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Returns the value of the specified Child for for this <a class="el" href="classitk_1_1OctreeNode.html">OctreeNode</a> <dl class="author" compact><dt><b>Author:</b></dt><dd>Hans J. Johnson </dd></dl> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>ChildID</em> </td><td>The numerical identifier of the desired child. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="classA.html">A</a> pointer to the Disired child. NOTE: This is always an instance of an <a class="el" href="classitk_1_1OctreeNode.html">OctreeNode</a>. </dd></dl> </div> </div><p> <a class="anchor" name="6a697f81207ad9225d38c5211a7eed92"></a><!-- doxytag: member="itk::OctreeNode::GetChild" ref="6a697f81207ad9225d38c5211a7eed92" args="(const enum LeafIdentifier ChildID) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classitk_1_1OctreeNode.html">OctreeNode</a>& itk::OctreeNode::GetChild </td> <td>(</td> <td class="paramtype">const enum <a class="el" href="namespaceitk.html#d294f843f2887fb6c7952f90d9327d4c">LeafIdentifier</a> </td> <td class="paramname"> <em>ChildID</em> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Returns the value of the specified Child for for this <a class="el" href="classitk_1_1OctreeNode.html">OctreeNode</a> <dl class="author" compact><dt><b>Author:</b></dt><dd>Hans J. Johnson </dd></dl> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>ChildID</em> </td><td>The numerical identifier of the desired child. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="classA.html">A</a> pointer to the Disired child. NOTE: This is always an instance of an <a class="el" href="classitk_1_1OctreeNode.html">OctreeNode</a>. </dd></dl> </div> </div><p> <a class="anchor" name="dbff9955fdc40fe0f693cbf43531f41d"></a><!-- doxytag: member="itk::OctreeNode::GetColor" ref="dbff9955fdc40fe0f693cbf43531f41d" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int itk::OctreeNode::GetColor </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Determines the color value of the specified Child for for this <a class="el" href="classitk_1_1OctreeNode.html">OctreeNode</a> <dl class="author" compact><dt><b>Author:</b></dt><dd>Hans J. Johnson </dd></dl> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>ChildID</em> </td><td>The numerical identifier of the desired child. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="classA.html">A</a> value between 0 and 255 to indicate the color of the Disired child. </dd></dl> <dl class="pre" compact><dt><b>Precondition:</b></dt><dd>Must determine that the specified node is colored (Use <a class="el" href="classitk_1_1OctreeNode.html#001111fd536c053e8de1f3402d443a4a">IsNodeColored()</a> member function. Behavior is undefined when the child is another <a class="el" href="classitk_1_1Octree.html" title="represent a 3D Image with an Octree data structure.">Octree</a>. </dd></dl> </div> </div><p> <a class="anchor" name="001111fd536c053e8de1f3402d443a4a"></a><!-- doxytag: member="itk::OctreeNode::IsNodeColored" ref="001111fd536c053e8de1f3402d443a4a" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool itk::OctreeNode::IsNodeColored </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Determines if the child is a leaf node (colored), or a branch node (uncolored) <dl class="author" compact><dt><b>Author:</b></dt><dd>Hans J. Johnson </dd></dl> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>ChildID</em> </td><td>The numerical identifier of the desired child. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>true if it is colored, false if it is not </dd></dl> </div> </div><p> <a class="anchor" name="5ffa3beb98b2ffb0a314cbdfaa475fdb"></a><!-- doxytag: member="itk::OctreeNode::SetBranch" ref="5ffa3beb98b2ffb0a314cbdfaa475fdb" args="(OctreeNodeBranch *NewBranch)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void itk::OctreeNode::SetBranch </td> <td>(</td> <td class="paramtype"><a class="el" href="classitk_1_1OctreeNodeBranch.html">OctreeNodeBranch</a> * </td> <td class="paramname"> <em>NewBranch</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Sets the color value of the specified Child for for this <a class="el" href="classitk_1_1OctreeNode.html">OctreeNode</a> <dl class="author" compact><dt><b>Author:</b></dt><dd>Hans J. Johnson </dd></dl> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>ChildID</em> </td><td>The numerical identifier of the desired child. </td></tr> <tr><td valign="top"></td><td valign="top"><em>NodeColor</em> </td><td>The disired color of this node. </td></tr> </table> </dl> <dl class="post" compact><dt><b>Postcondition:</b></dt><dd>All children of the specified child are removed, and the child is set to the desired value. </dd></dl> <p>Referenced by <a class="el" href="itkOctree_8h_source.html#l00142">itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::SetTree()</a>.</p> </div> </div><p> <a class="anchor" name="481327af881813840bf67419ee5e7b1b"></a><!-- doxytag: member="itk::OctreeNode::SetColor" ref="481327af881813840bf67419ee5e7b1b" args="(int NodeColor)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void itk::OctreeNode::SetColor </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>NodeColor</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Sets the color value of the specified Child for for this <a class="el" href="classitk_1_1OctreeNode.html">OctreeNode</a> <dl class="author" compact><dt><b>Author:</b></dt><dd>Hans J. Johnson </dd></dl> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>ChildID</em> </td><td>The numerical identifier of the desired child. </td></tr> <tr><td valign="top"></td><td valign="top"><em>NodeColor</em> </td><td>The disired color of this node. </td></tr> </table> </dl> <dl class="post" compact><dt><b>Postcondition:</b></dt><dd>All children of the specified child are removed, and the child is set to the desired value. </dd></dl> <p>Referenced by <a class="el" href="itkOctree_8h_source.html#l00141">itk::Octree< TPixel, ColorTableSize, MappingFunctionType >::SetColor()</a>.</p> </div> </div><p> <a class="anchor" name="30e66f5e30e7c07fded94a26199c6a0d"></a><!-- doxytag: member="itk::OctreeNode::SetParentOctree" ref="30e66f5e30e7c07fded94a26199c6a0d" args="(OctreeBase *parent)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void itk::OctreeNode::SetParentOctree </td> <td>(</td> <td class="paramtype"><a class="el" href="classitk_1_1OctreeBase.html">OctreeBase</a> * </td> <td class="paramname"> <em>parent</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="itkOctreeNode_8h_source.html#l00107">107</a> of file <a class="el" href="itkOctreeNode_8h_source.html">itkOctreeNode.h</a>.</p> <p>Referenced by <a class="el" href="itkOctreeNode_8h_source.html#l00131">itk::OctreeNodeBranch::OctreeNodeBranch()</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="itkOctreeNode_8h_source.html">itkOctreeNode.h</a></ul> </div> <hr><address><small> Generated at Fri May 8 05:58:42 2009 for ITK by <a href="http://www.stack.nl/~dimitri/doxygen/index.html"> <img src="http://www.stack.nl/~dimitri/doxygen/doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53> </a> 1.5.9 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>, © 1997-2000</small></address> </body> </html>