<!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: vtkCallbackCommand 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>vtkCallbackCommand Class Reference</h1><!-- doxytag: class="vtkCallbackCommand" --><!-- doxytag: inherits="vtkCommand" --><code>#include <<a class="el" href="a03790.html">vtkCallbackCommand.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for vtkCallbackCommand:</div> <div class="dynsection"> <p><center><img src="a08385.png" border="0" usemap="#a08386" alt="Inheritance graph"></center> <map name="a08386"> <area shape="rect" href="a00291.html" title="superclass for callback/observer methods" alt="" coords="31,80,135,107"><area shape="rect" href="a01085.html" title="abstract base class for most VTK objects" alt="" coords="28,6,137,32"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <div class="dynheader"> Collaboration diagram for vtkCallbackCommand:</div> <div class="dynsection"> <p><center><img src="a08387.png" border="0" usemap="#a08388" alt="Collaboration graph"></center> <map name="a08388"> <area shape="rect" href="a00291.html" title="superclass for callback/observer methods" alt="" coords="31,80,135,107"><area shape="rect" href="a01085.html" title="abstract base class for most VTK objects" alt="" coords="28,6,137,32"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="a08389.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> supports function callbacks <p> Use <a class="el" href="a00226.html" title="supports function callbacks">vtkCallbackCommand</a> for generic function callbacks. That is, this class can be used when you wish to execute a function (of the signature described below) using the Command/Observer design pattern in VTK. The callback function should have the form <pre> void func(vtkObject*, unsigned long eid, void* clientdata, void *calldata) </pre> where the parameter vtkObject* is the object invoking the event; eid is the event id (see <a class="el" href="a01999.html">vtkCommand.h</a>); clientdata is special data that should is associated with this instance of <a class="el" href="a00226.html" title="supports function callbacks">vtkCallbackCommand</a>; and calldata is data that the <a class="el" href="a01084.html#91fcb579907559dffdbf8b6649ff37a8">vtkObject::InvokeEvent()</a> may send with the callback. For example, the invocation of the ProgressEvent sends along the progress value as calldata.<p> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a00291.html" title="superclass for callback/observer methods">vtkCommand</a> <a class="el" href="a01095.html" title="supports legacy function callbacks for VTK">vtkOldStyleCallbackCommand</a></dd></dl> <dl class="user" compact><dt><b>Tests:</b></dt><dd><a class="el" href="c2_vtk_t_3.html#c2_vtk_t_vtkCallbackCommand">vtkCallbackCommand (Tests)</a> </dd></dl> <p>Definition at line <a class="el" href="a03790.html#l00045">45</a> of file <a class="el" href="a03790.html">vtkCallbackCommand.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">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00226.html#6834162207f7fcb534f1bbb39cea01df">Execute</a> (<a class="el" href="a01084.html">vtkObject</a> *caller, unsigned long eid, void *callData)</td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00226.html#c121c09c91ffc26290941e27f1ebfa43">SetClientData</a> (void *cd)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00226.html#b39869ea068210fb0954f12aa27a7d30">GetClientData</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00226.html#947d890a35a18344aaa67e7a5a859562">SetCallback</a> (void(*f)(<a class="el" href="a01084.html">vtkObject</a> *caller, unsigned long eid, void *clientdata, void *calldata))</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00226.html#10a4e031ad2f49f406c6ea8ad2d0cb55">SetClientDataDeleteCallback</a> (void(*f)(void *))</td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00226.html#8f9024f585bbdcc1ad743376b0a964c9">SetAbortFlagOnExecute</a> (int f)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00226.html#5feacf17aeb0faea9b56a0b530979dfc">GetAbortFlagOnExecute</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00226.html#389f116f44739b34d4cb3f5c41ea03e6">AbortFlagOnExecuteOn</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00226.html#9f4df2623ad96eead32dfce13de7e5b5">AbortFlagOnExecuteOff</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="a00226.html">vtkCallbackCommand</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00226.html#1b9800934763e5d84730540ae5a92137">New</a> ()</td></tr> <tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="a00226.html#3e0a19b064c81cc2a42abc25c57aae05">Callback</a> )(<a class="el" href="a01084.html">vtkObject</a> *, unsigned long, void *, void *)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="a00226.html#5ca2c30db550a52537f95f339a038618">ClientDataDeleteCallback</a> )(void *)</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="a00226.html#3d55a5af07a652739e8a2d69ad3da342">vtkCallbackCommand</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00226.html#4b207e179679d3aa1c7c4a3abbf0283f">~vtkCallbackCommand</a> ()</td></tr> <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00226.html#3c702939203986cfbb84993f0bd78c9b">AbortFlagOnExecute</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00226.html#debc2e5cc1008bb5d4837c9cec2e61dc">ClientData</a></td></tr> </table> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="3d55a5af07a652739e8a2d69ad3da342"></a><!-- doxytag: member="vtkCallbackCommand::vtkCallbackCommand" ref="3d55a5af07a652739e8a2d69ad3da342" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vtkCallbackCommand::vtkCallbackCommand </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="4b207e179679d3aa1c7c4a3abbf0283f"></a><!-- doxytag: member="vtkCallbackCommand::~vtkCallbackCommand" ref="4b207e179679d3aa1c7c4a3abbf0283f" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vtkCallbackCommand::~vtkCallbackCommand </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="1b9800934763e5d84730540ae5a92137"></a><!-- doxytag: member="vtkCallbackCommand::New" ref="1b9800934763e5d84730540ae5a92137" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="a00226.html">vtkCallbackCommand</a>* vtkCallbackCommand::New </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline, 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="a01085.html#1ad146652efe695e9ace7bc29b3e0f74">vtkObjectBase</a>.</p> <p>Definition at line <a class="el" href="a03790.html#l00048">48</a> of file <a class="el" href="a03790.html">vtkCallbackCommand.h</a>.</p> </div> </div><p> <a class="anchor" name="6834162207f7fcb534f1bbb39cea01df"></a><!-- doxytag: member="vtkCallbackCommand::Execute" ref="6834162207f7fcb534f1bbb39cea01df" args="(vtkObject *caller, unsigned long eid, void *callData)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void vtkCallbackCommand::Execute </td> <td>(</td> <td class="paramtype"><a class="el" href="a01084.html">vtkObject</a> * </td> <td class="paramname"> <em>caller</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned long </td> <td class="paramname"> <em>eid</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> <em>callData</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> Satisfy the superclass API for callbacks. Recall that the caller is the instance invoking the event; eid is the event id (see <a class="el" href="a01999.html">vtkCommand.h</a>); and calldata is information sent when the callback was invoked (e.g., progress value in the <a class="el" href="a00291.html#59a8690330ebcb1af6b66b0f3121f8fefb47f80db1dddfdd4b238a7beb587eba">vtkCommand::ProgressEvent</a>). <p>Implements <a class="el" href="a00291.html#ac06ef44b864cd7956ea778191730588">vtkCommand</a>.</p> </div> </div><p> <a class="anchor" name="c121c09c91ffc26290941e27f1ebfa43"></a><!-- doxytag: member="vtkCallbackCommand::SetClientData" ref="c121c09c91ffc26290941e27f1ebfa43" args="(void *cd)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void vtkCallbackCommand::SetClientData </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"> <em>cd</em> </td> <td> ) </td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Methods to set and get client and callback information, and the callback function. <p>Definition at line <a class="el" href="a03790.html#l00060">60</a> of file <a class="el" href="a03790.html">vtkCallbackCommand.h</a>.</p> </div> </div><p> <a class="anchor" name="b39869ea068210fb0954f12aa27a7d30"></a><!-- doxytag: member="vtkCallbackCommand::GetClientData" ref="b39869ea068210fb0954f12aa27a7d30" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void* vtkCallbackCommand::GetClientData </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Methods to set and get client and callback information, and the callback function. <p>Definition at line <a class="el" href="a03790.html#l00062">62</a> of file <a class="el" href="a03790.html">vtkCallbackCommand.h</a>.</p> </div> </div><p> <a class="anchor" name="947d890a35a18344aaa67e7a5a859562"></a><!-- doxytag: member="vtkCallbackCommand::SetCallback" ref="947d890a35a18344aaa67e7a5a859562" args="(void(*f)(vtkObject *caller, unsigned long eid, void *clientdata, void *calldata))" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void vtkCallbackCommand::SetCallback </td> <td>(</td> <td class="paramtype">void(*)(<a class="el" href="a01084.html">vtkObject</a> *caller, unsigned long eid, void *clientdata, void *calldata) </td> <td class="paramname"> <em>f</em> </td> <td> ) </td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Methods to set and get client and callback information, and the callback function. <p>Definition at line <a class="el" href="a03790.html#l00064">64</a> of file <a class="el" href="a03790.html">vtkCallbackCommand.h</a>.</p> </div> </div><p> <a class="anchor" name="10a4e031ad2f49f406c6ea8ad2d0cb55"></a><!-- doxytag: member="vtkCallbackCommand::SetClientDataDeleteCallback" ref="10a4e031ad2f49f406c6ea8ad2d0cb55" args="(void(*f)(void *))" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void vtkCallbackCommand::SetClientDataDeleteCallback </td> <td>(</td> <td class="paramtype">void(*)(void *) </td> <td class="paramname"> <em>f</em> </td> <td> ) </td> <td><code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Methods to set and get client and callback information, and the callback function. <p>Definition at line <a class="el" href="a03790.html#l00067">67</a> of file <a class="el" href="a03790.html">vtkCallbackCommand.h</a>.</p> </div> </div><p> <a class="anchor" name="8f9024f585bbdcc1ad743376b0a964c9"></a><!-- doxytag: member="vtkCallbackCommand::SetAbortFlagOnExecute" ref="8f9024f585bbdcc1ad743376b0a964c9" args="(int f)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkCallbackCommand::SetAbortFlagOnExecute </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>f</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set/Get the abort flag on execute. If this is set to true the AbortFlag will be set to On automatically when the Execute method is triggered *and* a callback is set. <p>Definition at line <a class="el" href="a03790.html#l00075">75</a> of file <a class="el" href="a03790.html">vtkCallbackCommand.h</a>.</p> </div> </div><p> <a class="anchor" name="5feacf17aeb0faea9b56a0b530979dfc"></a><!-- doxytag: member="vtkCallbackCommand::GetAbortFlagOnExecute" ref="5feacf17aeb0faea9b56a0b530979dfc" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vtkCallbackCommand::GetAbortFlagOnExecute </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set/Get the abort flag on execute. If this is set to true the AbortFlag will be set to On automatically when the Execute method is triggered *and* a callback is set. <p>Definition at line <a class="el" href="a03790.html#l00077">77</a> of file <a class="el" href="a03790.html">vtkCallbackCommand.h</a>.</p> </div> </div><p> <a class="anchor" name="389f116f44739b34d4cb3f5c41ea03e6"></a><!-- doxytag: member="vtkCallbackCommand::AbortFlagOnExecuteOn" ref="389f116f44739b34d4cb3f5c41ea03e6" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkCallbackCommand::AbortFlagOnExecuteOn </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set/Get the abort flag on execute. If this is set to true the AbortFlag will be set to On automatically when the Execute method is triggered *and* a callback is set. <p>Definition at line <a class="el" href="a03790.html#l00079">79</a> of file <a class="el" href="a03790.html">vtkCallbackCommand.h</a>.</p> </div> </div><p> <a class="anchor" name="9f4df2623ad96eead32dfce13de7e5b5"></a><!-- doxytag: member="vtkCallbackCommand::AbortFlagOnExecuteOff" ref="9f4df2623ad96eead32dfce13de7e5b5" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkCallbackCommand::AbortFlagOnExecuteOff </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set/Get the abort flag on execute. If this is set to true the AbortFlag will be set to On automatically when the Execute method is triggered *and* a callback is set. <p>Definition at line <a class="el" href="a03790.html#l00081">81</a> of file <a class="el" href="a03790.html">vtkCallbackCommand.h</a>.</p> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="3e0a19b064c81cc2a42abc25c57aae05"></a><!-- doxytag: member="vtkCallbackCommand::Callback" ref="3e0a19b064c81cc2a42abc25c57aae05" args=")(vtkObject *, unsigned long, void *, void *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void(* <a class="el" href="a00226.html#3e0a19b064c81cc2a42abc25c57aae05">vtkCallbackCommand::Callback</a>)(<a class="el" href="a01084.html">vtkObject</a> *, unsigned long, void *, void *) </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="5ca2c30db550a52537f95f339a038618"></a><!-- doxytag: member="vtkCallbackCommand::ClientDataDeleteCallback" ref="5ca2c30db550a52537f95f339a038618" args=")(void *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void(* <a class="el" href="a00226.html#5ca2c30db550a52537f95f339a038618">vtkCallbackCommand::ClientDataDeleteCallback</a>)(void *) </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="3c702939203986cfbb84993f0bd78c9b"></a><!-- doxytag: member="vtkCallbackCommand::AbortFlagOnExecute" ref="3c702939203986cfbb84993f0bd78c9b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="a00226.html#3c702939203986cfbb84993f0bd78c9b">vtkCallbackCommand::AbortFlagOnExecute</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="a03790.html#l00090">90</a> of file <a class="el" href="a03790.html">vtkCallbackCommand.h</a>.</p> </div> </div><p> <a class="anchor" name="debc2e5cc1008bb5d4837c9cec2e61dc"></a><!-- doxytag: member="vtkCallbackCommand::ClientData" ref="debc2e5cc1008bb5d4837c9cec2e61dc" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* <a class="el" href="a00226.html#debc2e5cc1008bb5d4837c9cec2e61dc">vtkCallbackCommand::ClientData</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="a03790.html#l00091">91</a> of file <a class="el" href="a03790.html">vtkCallbackCommand.h</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li>dox/Common/<a class="el" href="a03790.html">vtkCallbackCommand.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Wed Jun 3 18:55: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>