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