vtkSMOutputPort.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkSMOutputPort.h
5 
6  Copyright (c) Kitware, Inc.
7  All rights reserved.
8  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
30 #ifndef vtkSMOutputPort_h
31 #define vtkSMOutputPort_h
32 
33 #include "vtkRemotingServerManagerModule.h" //needed for exports
34 #include "vtkSMProxy.h"
35 #include "vtkWeakPointer.h" // needed by SourceProxy pointer
36 
37 class vtkCollection;
42 class vtkSMSourceProxy;
43 
44 class VTKREMOTINGSERVERMANAGER_EXPORT vtkSMOutputPort : public vtkSMProxy
45 {
46 public:
47  static vtkSMOutputPort* New();
48  vtkTypeMacro(vtkSMOutputPort, vtkSMProxy);
49  void PrintSelf(ostream& os, vtkIndent indent) override;
50 
57  virtual vtkPVDataInformation* GetDataInformation();
58 
64  virtual vtkPVTemporalDataInformation* GetTemporalDataInformation();
65 
69  virtual const char* GetDataClassName();
70 
74  virtual vtkPVClassNameInformation* GetClassNameInformation();
75 
79  virtual void InvalidateDataInformation();
80 
82 
85  vtkGetMacro(PortIndex, int);
87 
91  vtkSMSourceProxy* GetSourceProxy();
92 
93 protected:
95  ~vtkSMOutputPort() override;
96 
100  virtual void GatherClassNameInformation();
101 
106  virtual void GatherDataInformation();
107 
111  virtual void GatherTemporalDataInformation();
112 
113  void SetSourceProxy(vtkSMSourceProxy* src);
114 
115  // When set to non-null, GetSourceProxy() returns this rather than the real
116  // source-proxy set using SetSourceProxy(). This provides a mechanism for
117  // vtkSMCompoundSourceProxy to take ownership of ports that don't really
118  // belong to it.
119  void SetCompoundSourceProxy(vtkSMCompoundSourceProxy* src);
120 
124  virtual void UpdatePipelineInternal(double time, bool doTime);
125 
126  // The index of the port the output is obtained from.
127  vtkSetMacro(PortIndex, int);
128  int PortIndex;
129 
132 
137 
140 
141 private:
142  vtkSMOutputPort(const vtkSMOutputPort&) = delete;
143  void operator=(const vtkSMOutputPort&) = delete;
144 
145  friend class vtkSMSourceProxy;
147  void UpdatePipeline();
148 
149  // Update Pipeline with the given timestep request.
150  void UpdatePipeline(double time);
151 };
152 
153 #endif
vtkPVTemporalDataInformation * TemporalDataInformation
bool TemporalDataInformationValid
vtkPVClassNameInformation * ClassNameInformation
Light object for holding data information.
void PrintSelf(ostream &os, vtkIndent indent) override
virtual void UpdatePipeline()
Calls Update() on all sources.
proxy for a VTK source on a server
vtkPVDataInformation * DataInformation
static vtkSMProxy * New()
a proxy excapsulation a pipeline of proxies.
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:152
reference for an output port of a vtkAlgorithm.
void operator=(const vtkSMProxy &)=delete
vtkWeakPointer< vtkSMSourceProxy > SourceProxy
vtkWeakPointer< vtkSMCompoundSourceProxy > CompoundSourceProxy
vtkPVTemporalDataInformation is used to gather data information over time.