<!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: vtkSubGroup 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>vtkSubGroup Class Reference</h1><!-- doxytag: class="vtkSubGroup" --><!-- doxytag: inherits="vtkObject" --><code>#include <<a class="el" href="a05136.html">vtkSubGroup.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for vtkSubGroup:</div> <div class="dynsection"> <p><center><img src="a14918.png" border="0" usemap="#a14919" alt="Inheritance graph"></center> <map name="a14919"> <area shape="rect" href="a01084.html" title="abstract base class for most VTK objects" alt="" coords="20,80,100,107"><area shape="rect" href="a01085.html" title="abstract base class for most VTK objects" alt="" coords="5,6,115,32"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <div class="dynheader"> Collaboration diagram for vtkSubGroup:</div> <div class="dynsection"> <p><center><img src="a14920.png" border="0" usemap="#a14921" alt="Collaboration graph"></center> <map name="a14921"> <area shape="rect" href="a01084.html" title="abstract base class for most VTK objects" alt="" coords="87,96,167,123"><area shape="rect" href="a00293.html" title="Used to send/receive messages in a multiprocess environment." alt="" coords="148,173,276,200"><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="a14922.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> scalable collective communication for a subset of members of a parallel VTK application <p> This class provides scalable broadcast, reduce, etc. using only a <a class="el" href="a01062.html" title="Multiprocessing communication superclass.">vtkMultiProcessController</a>. It does not require MPI. Users are <a class="el" href="a01223.html" title="Build a k-d tree decomposition of a list of points.">vtkPKdTree</a> and <a class="el" href="a00431.html" title="Distribute data among processors.">vtkDistributedDataFilter</a>.<p> <dl class="attention" compact><dt><b>Attention:</b></dt><dd>This class will be deprecated soon. Instead of using this class, use the collective and subgrouping operations now built into <a class="el" href="a01062.html" title="Multiprocessing communication superclass.">vtkMultiProcessController</a>. The only reason this class is not deprecated already is because <a class="el" href="a01223.html" title="Build a k-d tree decomposition of a list of points.">vtkPKdTree</a> relies heavily on this class in ways that are not easy to work around. Since <a class="el" href="a01223.html" title="Build a k-d tree decomposition of a list of points.">vtkPKdTree</a> is due for a major overhaul anyway, we are leaving things the way they are for now.</dd></dl> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a01223.html" title="Build a k-d tree decomposition of a list of points.">vtkPKdTree</a> <a class="el" href="a00431.html" title="Distribute data among processors.">vtkDistributedDataFilter</a> </dd></dl> <p>Definition at line <a class="el" href="a05136.html#l00049">49</a> of file <a class="el" href="a05136.html">vtkSubGroup.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">enum </td><td class="memItemRight" valign="bottom">{ <a class="el" href="a01647.html#56881c454fa730ce9de630a4f5beee0b6aa47e82f398ad88c3dbdf0aeb91a784">MINOP</a> = 1, <a class="el" href="a01647.html#56881c454fa730ce9de630a4f5beee0be372b4b13380f70fca922190dbec1025">MAXOP</a> = 2, <a class="el" href="a01647.html#56881c454fa730ce9de630a4f5beee0bb62bc065c0f292328bbdbe32602e53be">SUMOP</a> = 3 }</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="a01647.html#cc49605d07a4b6a1be9f19bafc42ae66">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="a01647.html#53b00528347a7d5d4fb3deb15e0f67db">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="a01647.html#5e1185aad9e6eb00b21b74fff7e246cc">IsA</a> (const char *type)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#1dbfcc9140a8b9a290d2e6912158760a">PrintSelf</a> (ostream &os, <a class="el" href="a00869.html">vtkIndent</a> indent)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#99d541f33f881683e2fa963e14eaa819">Initialize</a> (int p0, int p1, int me, int <a class="el" href="a01647.html#e342f69a2651dea729a464708b744a14">tag</a>, <a class="el" href="a00293.html">vtkCommunicator</a> *c)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#73dad98e1ecda8e03ecf0cbe6dab5d72">Gather</a> (int *data, int *to, int length, int root)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#2f7eceedf487612d3f44aef07a35eae0">Gather</a> (char *data, char *to, int length, int root)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#0114ea7425bea3a83b9991a1f2cf1212">Gather</a> (float *data, float *to, int length, int root)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#29eb9e9d556551f393ea68c22c0b3ffc">Broadcast</a> (float *data, int length, int root)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#53d5de8f741091506dae9cd9e0a756f4">Broadcast</a> (double *data, int length, int root)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#6d83bd266108eb3ce43257ecf3860131">Broadcast</a> (int *data, int length, int root)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#538202f1c412a42893ba7f2d485afcb6">Broadcast</a> (char *data, int length, int root)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#87f80a0ebb2cbad6954c5da7607aaaef">ReduceSum</a> (int *data, int *to, int length, int root)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#a90c6a419bf514ee3935a40456a40a25">ReduceMax</a> (float *data, float *to, int length, int root)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#c40309f42506f9dcaaeeec8b10bf962b">ReduceMax</a> (double *data, double *to, int length, int root)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#7d162b90f21a9617402a341654813bc3">ReduceMax</a> (int *data, int *to, int length, int root)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#3f053224a6a8bb0806e99780be275898">ReduceMin</a> (float *data, float *to, int length, int root)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#ee67eb558b6d3de4bae2cdbae5e281f0">ReduceMin</a> (double *data, double *to, int length, int root)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#053c03534170dd04edf30f544b47ccb2">ReduceMin</a> (int *data, int *to, int length, int root)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#a53d4188ff038bf0b3056a5a96752f99">AllReduceUniqueList</a> (int *list, int len, int **newList)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#5eea732e92aef96f1c21923645690a4e">MergeSortedUnique</a> (int *list1, int len1, int *list2, int len2, int **newList)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#16f995e1f48e1a1f1db1e242e40d2012">setGatherPattern</a> (int root, int length)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#ae7f9e079d438ecbdb9d1f68043b09f3">getLocalRank</a> (int processID)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#fa33ccf0f6f848cedbd847a665284755">Barrier</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#acce54d959824b46b52b55e9c80a1273">PrintSubGroup</a> () 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 int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#70c9ca4b28042f140ab60e0656dcc2ce">IsTypeOf</a> (const char *type)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="a01647.html">vtkSubGroup</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#14bcc0d6d42fd39d9e2eca37f7fcc038">SafeDownCast</a> (<a class="el" href="a01084.html">vtkObject</a> *o)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="a01647.html">vtkSubGroup</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#b360f3328f037fb1290d98e25c6fd84d">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="a01647.html#ee84094b38e73bf4bc9084f5523a0ed0">MakeSortedUnique</a> (int *list, int len, int **newList)</td></tr> <tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#e342f69a2651dea729a464708b744a14">tag</a></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="a01647.html#cdb086f565c0eb5b21492ad1367c2e0e">vtkSubGroup</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a01647.html#b0c82c5c47e41c2661eb2cb327e1d148">~vtkSubGroup</a> ()</td></tr> </table> <hr><h2>Member Typedef Documentation</h2> <a class="anchor" name="cc49605d07a4b6a1be9f19bafc42ae66"></a><!-- doxytag: member="vtkSubGroup::Superclass" ref="cc49605d07a4b6a1be9f19bafc42ae66" 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">vtkSubGroup::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="a05136.html#l00052">52</a> of file <a class="el" href="a05136.html">vtkSubGroup.h</a>.</p> </div> </div><p> <hr><h2>Member Enumeration Documentation</h2> <a class="anchor" name="56881c454fa730ce9de630a4f5beee0b"></a><!-- doxytag: member="vtkSubGroup::@56" ref="56881c454fa730ce9de630a4f5beee0b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">anonymous enum </td> </tr> </table> </div> <div class="memdoc"> <p> <dl compact><dt><b>Enumerator: </b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" name="56881c454fa730ce9de630a4f5beee0b6aa47e82f398ad88c3dbdf0aeb91a784"></a><!-- doxytag: member="MINOP" ref="56881c454fa730ce9de630a4f5beee0b6aa47e82f398ad88c3dbdf0aeb91a784" args="" -->MINOP</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" name="56881c454fa730ce9de630a4f5beee0be372b4b13380f70fca922190dbec1025"></a><!-- doxytag: member="MAXOP" ref="56881c454fa730ce9de630a4f5beee0be372b4b13380f70fca922190dbec1025" args="" -->MAXOP</em> </td><td> </td></tr> <tr><td valign="top"><em><a class="anchor" name="56881c454fa730ce9de630a4f5beee0bb62bc065c0f292328bbdbe32602e53be"></a><!-- doxytag: member="SUMOP" ref="56881c454fa730ce9de630a4f5beee0bb62bc065c0f292328bbdbe32602e53be" args="" -->SUMOP</em> </td><td> </td></tr> </table> </dl> <p>Definition at line <a class="el" href="a05136.html#l00058">58</a> of file <a class="el" href="a05136.html">vtkSubGroup.h</a>.</p> </div> </div><p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="cdb086f565c0eb5b21492ad1367c2e0e"></a><!-- doxytag: member="vtkSubGroup::vtkSubGroup" ref="cdb086f565c0eb5b21492ad1367c2e0e" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vtkSubGroup::vtkSubGroup </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="b0c82c5c47e41c2661eb2cb327e1d148"></a><!-- doxytag: member="vtkSubGroup::~vtkSubGroup" ref="b0c82c5c47e41c2661eb2cb327e1d148" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vtkSubGroup::~vtkSubGroup </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="53b00528347a7d5d4fb3deb15e0f67db"></a><!-- doxytag: member="vtkSubGroup::GetClassName" ref="53b00528347a7d5d4fb3deb15e0f67db" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual const char* vtkSubGroup::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="70c9ca4b28042f140ab60e0656dcc2ce"></a><!-- doxytag: member="vtkSubGroup::IsTypeOf" ref="70c9ca4b28042f140ab60e0656dcc2ce" args="(const char *type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static int vtkSubGroup::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="5e1185aad9e6eb00b21b74fff7e246cc"></a><!-- doxytag: member="vtkSubGroup::IsA" ref="5e1185aad9e6eb00b21b74fff7e246cc" args="(const char *type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int vtkSubGroup::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="14bcc0d6d42fd39d9e2eca37f7fcc038"></a><!-- doxytag: member="vtkSubGroup::SafeDownCast" ref="14bcc0d6d42fd39d9e2eca37f7fcc038" args="(vtkObject *o)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="a01647.html">vtkSubGroup</a>* vtkSubGroup::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="1dbfcc9140a8b9a290d2e6912158760a"></a><!-- doxytag: member="vtkSubGroup::PrintSelf" ref="1dbfcc9140a8b9a290d2e6912158760a" args="(ostream &os, vtkIndent indent)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void vtkSubGroup::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="b360f3328f037fb1290d98e25c6fd84d"></a><!-- doxytag: member="vtkSubGroup::New" ref="b360f3328f037fb1290d98e25c6fd84d" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="a01647.html">vtkSubGroup</a>* vtkSubGroup::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="99d541f33f881683e2fa963e14eaa819"></a><!-- doxytag: member="vtkSubGroup::Initialize" ref="99d541f33f881683e2fa963e14eaa819" args="(int p0, int p1, int me, int tag, vtkCommunicator *c)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vtkSubGroup::Initialize </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>p0</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>p1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>me</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>tag</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00293.html">vtkCommunicator</a> * </td> <td class="paramname"> <em>c</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Initialize a communication subgroup for the processes with rank p0 through p1 of the given communicator. (So <a class="el" href="a01647.html" title="scalable collective communication for a subset of members of a parallel VTK application...">vtkSubGroup</a> is limited to working with subgroups that are identified by a contiguous set of rank IDs.) The third argument is the callers rank, which must in the range from p0 through p1. </div> </div><p> <a class="anchor" name="73dad98e1ecda8e03ecf0cbe6dab5d72"></a><!-- doxytag: member="vtkSubGroup::Gather" ref="73dad98e1ecda8e03ecf0cbe6dab5d72" args="(int *data, int *to, int length, int root)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vtkSubGroup::Gather </td> <td>(</td> <td class="paramtype">int * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>to</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>root</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="2f7eceedf487612d3f44aef07a35eae0"></a><!-- doxytag: member="vtkSubGroup::Gather" ref="2f7eceedf487612d3f44aef07a35eae0" args="(char *data, char *to, int length, int root)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vtkSubGroup::Gather </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char * </td> <td class="paramname"> <em>to</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>root</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="0114ea7425bea3a83b9991a1f2cf1212"></a><!-- doxytag: member="vtkSubGroup::Gather" ref="0114ea7425bea3a83b9991a1f2cf1212" args="(float *data, float *to, int length, int root)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vtkSubGroup::Gather </td> <td>(</td> <td class="paramtype">float * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"> <em>to</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>root</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="29eb9e9d556551f393ea68c22c0b3ffc"></a><!-- doxytag: member="vtkSubGroup::Broadcast" ref="29eb9e9d556551f393ea68c22c0b3ffc" args="(float *data, int length, int root)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vtkSubGroup::Broadcast </td> <td>(</td> <td class="paramtype">float * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>root</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="53d5de8f741091506dae9cd9e0a756f4"></a><!-- doxytag: member="vtkSubGroup::Broadcast" ref="53d5de8f741091506dae9cd9e0a756f4" args="(double *data, int length, int root)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vtkSubGroup::Broadcast </td> <td>(</td> <td class="paramtype">double * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>root</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="6d83bd266108eb3ce43257ecf3860131"></a><!-- doxytag: member="vtkSubGroup::Broadcast" ref="6d83bd266108eb3ce43257ecf3860131" args="(int *data, int length, int root)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vtkSubGroup::Broadcast </td> <td>(</td> <td class="paramtype">int * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>root</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="538202f1c412a42893ba7f2d485afcb6"></a><!-- doxytag: member="vtkSubGroup::Broadcast" ref="538202f1c412a42893ba7f2d485afcb6" args="(char *data, int length, int root)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vtkSubGroup::Broadcast </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>root</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="87f80a0ebb2cbad6954c5da7607aaaef"></a><!-- doxytag: member="vtkSubGroup::ReduceSum" ref="87f80a0ebb2cbad6954c5da7607aaaef" args="(int *data, int *to, int length, int root)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vtkSubGroup::ReduceSum </td> <td>(</td> <td class="paramtype">int * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>to</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>root</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="a90c6a419bf514ee3935a40456a40a25"></a><!-- doxytag: member="vtkSubGroup::ReduceMax" ref="a90c6a419bf514ee3935a40456a40a25" args="(float *data, float *to, int length, int root)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vtkSubGroup::ReduceMax </td> <td>(</td> <td class="paramtype">float * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"> <em>to</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>root</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="c40309f42506f9dcaaeeec8b10bf962b"></a><!-- doxytag: member="vtkSubGroup::ReduceMax" ref="c40309f42506f9dcaaeeec8b10bf962b" args="(double *data, double *to, int length, int root)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vtkSubGroup::ReduceMax </td> <td>(</td> <td class="paramtype">double * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double * </td> <td class="paramname"> <em>to</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>root</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="7d162b90f21a9617402a341654813bc3"></a><!-- doxytag: member="vtkSubGroup::ReduceMax" ref="7d162b90f21a9617402a341654813bc3" args="(int *data, int *to, int length, int root)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vtkSubGroup::ReduceMax </td> <td>(</td> <td class="paramtype">int * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>to</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>root</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="3f053224a6a8bb0806e99780be275898"></a><!-- doxytag: member="vtkSubGroup::ReduceMin" ref="3f053224a6a8bb0806e99780be275898" args="(float *data, float *to, int length, int root)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vtkSubGroup::ReduceMin </td> <td>(</td> <td class="paramtype">float * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float * </td> <td class="paramname"> <em>to</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>root</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="ee67eb558b6d3de4bae2cdbae5e281f0"></a><!-- doxytag: member="vtkSubGroup::ReduceMin" ref="ee67eb558b6d3de4bae2cdbae5e281f0" args="(double *data, double *to, int length, int root)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vtkSubGroup::ReduceMin </td> <td>(</td> <td class="paramtype">double * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double * </td> <td class="paramname"> <em>to</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>root</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="053c03534170dd04edf30f544b47ccb2"></a><!-- doxytag: member="vtkSubGroup::ReduceMin" ref="053c03534170dd04edf30f544b47ccb2" args="(int *data, int *to, int length, int root)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vtkSubGroup::ReduceMin </td> <td>(</td> <td class="paramtype">int * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>to</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>root</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="a53d4188ff038bf0b3056a5a96752f99"></a><!-- doxytag: member="vtkSubGroup::AllReduceUniqueList" ref="a53d4188ff038bf0b3056a5a96752f99" args="(int *list, int len, int **newList)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vtkSubGroup::AllReduceUniqueList </td> <td>(</td> <td class="paramtype">int * </td> <td class="paramname"> <em>list</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>len</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int ** </td> <td class="paramname"> <em>newList</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="5eea732e92aef96f1c21923645690a4e"></a><!-- doxytag: member="vtkSubGroup::MergeSortedUnique" ref="5eea732e92aef96f1c21923645690a4e" args="(int *list1, int len1, int *list2, int len2, int **newList)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vtkSubGroup::MergeSortedUnique </td> <td>(</td> <td class="paramtype">int * </td> <td class="paramname"> <em>list1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>len1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"> <em>list2</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>len2</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int ** </td> <td class="paramname"> <em>newList</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="16f995e1f48e1a1f1db1e242e40d2012"></a><!-- doxytag: member="vtkSubGroup::setGatherPattern" ref="16f995e1f48e1a1f1db1e242e40d2012" args="(int root, int length)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkSubGroup::setGatherPattern </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>root</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>length</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="ae7f9e079d438ecbdb9d1f68043b09f3"></a><!-- doxytag: member="vtkSubGroup::getLocalRank" ref="ae7f9e079d438ecbdb9d1f68043b09f3" args="(int processID)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vtkSubGroup::getLocalRank </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>processID</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="fa33ccf0f6f848cedbd847a665284755"></a><!-- doxytag: member="vtkSubGroup::Barrier" ref="fa33ccf0f6f848cedbd847a665284755" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vtkSubGroup::Barrier </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="acce54d959824b46b52b55e9c80a1273"></a><!-- doxytag: member="vtkSubGroup::PrintSubGroup" ref="acce54d959824b46b52b55e9c80a1273" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkSubGroup::PrintSubGroup </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="ee84094b38e73bf4bc9084f5523a0ed0"></a><!-- doxytag: member="vtkSubGroup::MakeSortedUnique" ref="ee84094b38e73bf4bc9084f5523a0ed0" args="(int *list, int len, int **newList)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static int vtkSubGroup::MakeSortedUnique </td> <td>(</td> <td class="paramtype">int * </td> <td class="paramname"> <em>list</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>len</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int ** </td> <td class="paramname"> <em>newList</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> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="e342f69a2651dea729a464708b744a14"></a><!-- doxytag: member="vtkSubGroup::tag" ref="e342f69a2651dea729a464708b744a14" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="a01647.html#e342f69a2651dea729a464708b744a14">vtkSubGroup::tag</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="a05136.html#l00101">101</a> of file <a class="el" href="a05136.html">vtkSubGroup.h</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li>dox/Parallel/<a class="el" href="a05136.html">vtkSubGroup.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Wed Jun 3 19:37:30 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>