<!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: vtkThreadMessager 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>vtkThreadMessager Class Reference</h1><!-- doxytag: class="vtkThreadMessager" --><!-- doxytag: inherits="vtkObject" --><code>#include <<a class="el" href="a03939.html">vtkThreadMessager.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for vtkThreadMessager:</div> <div class="dynsection"> <p><center><img src="a15194.png" border="0" usemap="#a15195" alt="Inheritance graph"></center> <map name="a15195"> <area shape="rect" href="a01084.html" title="abstract base class for most VTK objects" alt="" coords="38,80,118,107"><area shape="rect" href="a01085.html" title="abstract base class for most VTK objects" alt="" coords="23,6,132,32"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <div class="dynheader"> Collaboration diagram for vtkThreadMessager:</div> <div class="dynsection"> <p><center><img src="a15196.png" border="0" usemap="#a15197" alt="Collaboration graph"></center> <map name="a15197"> <area shape="rect" href="a01084.html" title="abstract base class for most VTK objects" alt="" coords="87,96,167,123"><area shape="rect" href="a01085.html" title="abstract base class for most VTK objects" alt="" coords="5,5,115,32"><area shape="rect" href="a01719.html" title="record modification and/or execution time" alt="" coords="139,5,248,32"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="a15198.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> A class for performing inter-thread messaging. <p> vtkMultithreader is a class that provides support for messaging between threads multithreaded using pthreads or Windows messaging. <p>Definition at line <a class="el" href="a03939.html#l00031">31</a> of file <a class="el" href="a03939.html">vtkThreadMessager.h</a>.</p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a01084.html">vtkObject</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a01706.html#1b0da2fd33d3b4c1a45016624200efbb">Superclass</a></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a01706.html#0b4403f935ead2a5d0bcaa39612d857e">GetClassName</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01706.html#135331350736ed68da8a52adbd2c1b4b">IsA</a> (const char *type)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a01706.html#9f3564e67fa806becf7df7b010d97775">PrintSelf</a> (ostream &os, <a class="el" href="a00869.html">vtkIndent</a> indent)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a01706.html#ffaf150f6fabcccb8ccca7d264e6eb01">WaitForMessage</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a01706.html#c42aec32e25e2975da761bfa0190d97c">SendWakeMessage</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a01706.html#b476dd3180089be51f4df042ff451224">EnableWaitForReceiver</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a01706.html#58331c998f7736d4c5d0a329010cb5a3">DisableWaitForReceiver</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a01706.html#6bcdb796f28b824a293084eadd2b0357">WaitForReceiver</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a01706.html#0e142f2e25fd379e25957f50cebea7cf">SendMessage</a> ()</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 <a class="el" href="a01706.html">vtkThreadMessager</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a01706.html#c78830dccc105f6dfbdcf1c9688e7e9a">New</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01706.html#2848c166422d82a0e5d262fce2741ece">IsTypeOf</a> (const char *type)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="a01706.html">vtkThreadMessager</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a01706.html#32886858f09eafbe06420ae3168a318c">SafeDownCast</a> (<a class="el" href="a01084.html">vtkObject</a> *o)</td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a01706.html#4821c780233aeb9774b5ad264e2901c5">vtkThreadMessager</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a01706.html#bf2b3188e9f70ed07a4285656b7545b5">~vtkThreadMessager</a> ()</td></tr> </table> <hr><h2>Member Typedef Documentation</h2> <a class="anchor" name="1b0da2fd33d3b4c1a45016624200efbb"></a><!-- doxytag: member="vtkThreadMessager::Superclass" ref="1b0da2fd33d3b4c1a45016624200efbb" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="a01084.html">vtkObject</a> <a class="el" href="a01084.html">vtkThreadMessager::Superclass</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Reimplemented from <a class="el" href="a01084.html#11429dee69f4b562e03e07b453dae9b5">vtkObject</a>.</p> <p>Definition at line <a class="el" href="a03939.html#l00036">36</a> of file <a class="el" href="a03939.html">vtkThreadMessager.h</a>.</p> </div> </div><p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="4821c780233aeb9774b5ad264e2901c5"></a><!-- doxytag: member="vtkThreadMessager::vtkThreadMessager" ref="4821c780233aeb9774b5ad264e2901c5" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vtkThreadMessager::vtkThreadMessager </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="bf2b3188e9f70ed07a4285656b7545b5"></a><!-- doxytag: member="vtkThreadMessager::~vtkThreadMessager" ref="bf2b3188e9f70ed07a4285656b7545b5" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vtkThreadMessager::~vtkThreadMessager </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="c78830dccc105f6dfbdcf1c9688e7e9a"></a><!-- doxytag: member="vtkThreadMessager::New" ref="c78830dccc105f6dfbdcf1c9688e7e9a" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="a01706.html">vtkThreadMessager</a>* vtkThreadMessager::New </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Create an object with Debug turned off, modified time initialized to zero, and reference counting on. <p>Reimplemented from <a class="el" href="a01084.html#4d5b227267c076d6f9e38483370b6612">vtkObject</a>.</p> </div> </div><p> <a class="anchor" name="0b4403f935ead2a5d0bcaa39612d857e"></a><!-- doxytag: member="vtkThreadMessager::GetClassName" ref="0b4403f935ead2a5d0bcaa39612d857e" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual const char* vtkThreadMessager::GetClassName </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Reimplemented from <a class="el" href="a01084.html#d95975c85c2896ea32ff4cf1f8de0886">vtkObject</a>.</p> </div> </div><p> <a class="anchor" name="2848c166422d82a0e5d262fce2741ece"></a><!-- doxytag: member="vtkThreadMessager::IsTypeOf" ref="2848c166422d82a0e5d262fce2741ece" args="(const char *type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static int vtkThreadMessager::IsTypeOf </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>name</em> </td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h. <p>Reimplemented from <a class="el" href="a01084.html#e9548a248bce0f02f73bbcccd0a9489e">vtkObject</a>.</p> </div> </div><p> <a class="anchor" name="135331350736ed68da8a52adbd2c1b4b"></a><!-- doxytag: member="vtkThreadMessager::IsA" ref="135331350736ed68da8a52adbd2c1b4b" args="(const char *type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int vtkThreadMessager::IsA </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>name</em> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h. <p>Reimplemented from <a class="el" href="a01084.html#831e57b04e46827a7098aa81abadee69">vtkObject</a>.</p> </div> </div><p> <a class="anchor" name="32886858f09eafbe06420ae3168a318c"></a><!-- doxytag: member="vtkThreadMessager::SafeDownCast" ref="32886858f09eafbe06420ae3168a318c" args="(vtkObject *o)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="a01706.html">vtkThreadMessager</a>* vtkThreadMessager::SafeDownCast </td> <td>(</td> <td class="paramtype"><a class="el" href="a01084.html">vtkObject</a> * </td> <td class="paramname"> <em>o</em> </td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Reimplemented from <a class="el" href="a01084.html#bb9351f076544c427ee91229dce83abe">vtkObject</a>.</p> </div> </div><p> <a class="anchor" name="9f3564e67fa806becf7df7b010d97775"></a><!-- doxytag: member="vtkThreadMessager::PrintSelf" ref="9f3564e67fa806becf7df7b010d97775" args="(ostream &os, vtkIndent indent)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkThreadMessager::PrintSelf </td> <td>(</td> <td class="paramtype">ostream & </td> <td class="paramname"> <em>os</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00869.html">vtkIndent</a> </td> <td class="paramname"> <em>indent</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use <a class="el" href="a01085.html#edadf6378465fd81c2592ef64262e2a5">Print()</a> instead) but used in the hierarchical print process to combine the output of several classes. <p>Reimplemented from <a class="el" href="a01084.html#bf3dbb4154289b56a12483eee3866263">vtkObject</a>.</p> </div> </div><p> <a class="anchor" name="ffaf150f6fabcccb8ccca7d264e6eb01"></a><!-- doxytag: member="vtkThreadMessager::WaitForMessage" ref="ffaf150f6fabcccb8ccca7d264e6eb01" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkThreadMessager::WaitForMessage </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Wait (block, non-busy) until another thread sends a message. </div> </div><p> <a class="anchor" name="c42aec32e25e2975da761bfa0190d97c"></a><!-- doxytag: member="vtkThreadMessager::SendWakeMessage" ref="c42aec32e25e2975da761bfa0190d97c" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkThreadMessager::SendWakeMessage </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Send a message to all threads who are waiting via <a class="el" href="a01706.html#ffaf150f6fabcccb8ccca7d264e6eb01">WaitForMessage()</a>. </div> </div><p> <a class="anchor" name="b476dd3180089be51f4df042ff451224"></a><!-- doxytag: member="vtkThreadMessager::EnableWaitForReceiver" ref="b476dd3180089be51f4df042ff451224" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkThreadMessager::EnableWaitForReceiver </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> pthreads only. If the wait is enabled, the thread who is to call <a class="el" href="a01706.html#ffaf150f6fabcccb8ccca7d264e6eb01">WaitForMessage()</a> will block until a receiver thread is ready to receive. </div> </div><p> <a class="anchor" name="58331c998f7736d4c5d0a329010cb5a3"></a><!-- doxytag: member="vtkThreadMessager::DisableWaitForReceiver" ref="58331c998f7736d4c5d0a329010cb5a3" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkThreadMessager::DisableWaitForReceiver </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> pthreads only. If the wait is enabled, the thread who is to call <a class="el" href="a01706.html#ffaf150f6fabcccb8ccca7d264e6eb01">WaitForMessage()</a> will block until a receiver thread is ready to receive. </div> </div><p> <a class="anchor" name="6bcdb796f28b824a293084eadd2b0357"></a><!-- doxytag: member="vtkThreadMessager::WaitForReceiver" ref="6bcdb796f28b824a293084eadd2b0357" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkThreadMessager::WaitForReceiver </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> pthreads only. If wait is enable, this will block until one thread is ready to receive a message. </div> </div><p> <a class="anchor" name="0e142f2e25fd379e25957f50cebea7cf"></a><!-- doxytag: member="vtkThreadMessager::SendMessage" ref="0e142f2e25fd379e25957f50cebea7cf" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkThreadMessager::SendMessage </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000016">Deprecated:</a></b></dt><dd>Replaced by <a class="el" href="a01706.html#c42aec32e25e2975da761bfa0190d97c">vtkThreadMessager::SendWakeMessage()</a> as of VTK 5.0. </dd></dl> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li>dox/Common/<a class="el" href="a03939.html">vtkThreadMessager.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Wed Jun 3 19:39:58 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>