vtkOutputPort.h

Go to the documentation of this file.
00001 /* $Id: vtkOutputPort.h,v 1.6 2008/09/26 02:46:13 pfb Exp $ */
00002 /*=========================================================================
00003 
00004   Program:   Visualization Toolkit
00005   Module:    $RCSfile: vtkOutputPort.h,v $
00006 
00007   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00013      PURPOSE.  See the above copyright notice for more information.
00014 
00015 =========================================================================*/
00016 
00017 /*========================================================================
00018 
00019   This module copied from VTK 4.5 vtkOutputPort.h. There have been no
00020   significant modifications made.
00021 
00022 =========================================================================*/
00023 
00024 #ifndef __vtkOutputPort_h
00025 #define __vtkOutputPort_h
00026 
00031 #include <vtkAlgorithm.h>
00032 
00033 class vtkMultiProcessController;
00034 
00051 class VTK_PARALLEL_EXPORT vtkOutputPort : public vtkAlgorithm
00052   {
00053   /****************************************************************************/
00054                              public:
00055 
00061   static vtkOutputPort *New();
00062   
00063   vtkTypeRevisionMacro(vtkOutputPort,vtkAlgorithm);
00064 
00070   void PrintSelf(ostream& os, vtkIndent indent);
00071 
00076   void SetInput(vtkDataObject *input);
00077 
00082   vtkDataObject *GetInput();
00083   
00091   void SetTag(int tag);
00092 
00097   int GetTag() const;
00098   
00108   void WaitForUpdate();
00109   
00113   vtkMultiProcessController *GetController() {return this->Controller;}
00114 
00119   virtual void SetController(vtkMultiProcessController *controller);
00120 
00125   void TriggerUpdateInformation(int remoteProcessId);
00126   void TriggerUpdate(int remoteProcessId);
00127   void TriggerRequestDataObject(int remoteProcessId);
00128   void TriggerRequestData(int remoteProcessId);
00129   
00130   /****************************************************************************/
00131                              protected:
00132 
00133   /*
00134    * Ctor.
00135    */
00136   vtkOutputPort();
00137 
00141   ~vtkOutputPort();  
00142   
00143   int Tag;
00144   unsigned long DownDataTime;
00145   
00146   virtual int FillInputPortInformation(int, vtkInformation*);
00147 
00148   vtkMultiProcessController *Controller;
00149   vtkTimeStamp UpdateTime;
00150 
00151   /****************************************************************************/
00152                              private:
00153 
00157   vtkOutputPort(const vtkOutputPort&);  // Not implemented.
00158   void operator=(const vtkOutputPort&);  // Not implemented.
00159   };
00160 
00161 /*
00162  * $Log: vtkOutputPort.h,v $
00163  * Revision 1.6  2008/09/26 02:46:13  pfb
00164  * Added note about depreciation.
00165  *
00166  * Revision 1.5  2006/08/29 15:29:39  pfb
00167  * Changed documentation.
00168  *
00169  * Revision 1.4  2006/08/23 17:02:06  pfb
00170  * Expanded some Get / Set macros. Documentation.
00171  *
00172  * Revision 1.3  2006/03/22 13:23:31  pfb
00173  * Documentation.
00174  *
00175  * Revision 1.2  2006/03/22 07:34:53  pfb
00176  * Cosmetic.
00177  *
00178  * Revision 1.1  2006/03/20 05:31:28  pfb
00179  * Initial rev.
00180  *
00181  *
00182  */
00183 
00187 #endif