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;
38 class vtkDataAssembly;
44 class vtkSMSourceProxy;
45 
47 {
48 public:
49  static vtkSMOutputPort* New();
50  vtkTypeMacro(vtkSMOutputPort, vtkSMProxy);
51  void PrintSelf(ostream& os, vtkIndent indent) override;
52 
59  virtual vtkPVDataInformation* GetDataInformation();
60 
66  virtual vtkPVTemporalDataInformation* GetTemporalDataInformation();
67 
73  virtual vtkDataAssembly* GetDataAssembly();
74 
78  virtual const char* GetDataClassName();
79 
83  virtual vtkPVClassNameInformation* GetClassNameInformation();
84 
88  virtual void InvalidateDataInformation();
89 
91 
94  vtkGetMacro(PortIndex, int);
96 
100  vtkSMSourceProxy* GetSourceProxy();
101 
103 
105  vtkSMSession* GetSession() override;
108 protected:
109  vtkSMOutputPort();
110  ~vtkSMOutputPort() override;
111 
115  virtual void GatherClassNameInformation();
116 
121  virtual void GatherDataInformation();
122 
126  virtual void GatherTemporalDataInformation();
127 
128  void SetSourceProxy(vtkSMSourceProxy* src);
129 
130  // When set to non-null, GetSourceProxy() returns this rather than the real
131  // source-proxy set using SetSourceProxy(). This provides a mechanism for
132  // vtkSMCompoundSourceProxy to take ownership of ports that don't really
133  // belong to it.
134  void SetCompoundSourceProxy(vtkSMCompoundSourceProxy* src);
135 
139  virtual void UpdatePipelineInternal(double time, bool doTime);
140 
141  // The index of the port the output is obtained from.
142  vtkSetMacro(PortIndex, int);
143  int PortIndex;
144 
147 
150 
154 
157 
158 private:
159  vtkSMOutputPort(const vtkSMOutputPort&) = delete;
160  void operator=(const vtkSMOutputPort&) = delete;
161 
162  friend class vtkSMSourceProxy;
164  void UpdatePipeline();
165 
166  // Update Pipeline with the given timestep request.
167  void UpdatePipeline(double time);
168 };
169 
170 #endif
vtkPVTemporalDataInformation * TemporalDataInformation
bool TemporalDataInformationValid
vtkPVClassNameInformation * ClassNameInformation
Light object for holding data information.
void PrintSelf(ostream &os, vtkIndent indent) override
#define VTKREMOTINGSERVERMANAGER_EXPORT
vtkPVDataAssemblyInformation * DataAssemblyInformation
vtkSMSession is the default ParaView session.
Definition: vtkSMSession.h:35
virtual vtkSMSessionProxyManager * GetSessionProxyManager()
Return the corresponding ProxyManager if any.
information to collect vtkDataAssembly
virtual void UpdatePipeline()
Calls Update() on all sources.
proxy for a VTK source on a server
vtkPVDataInformation * DataInformation
The vtkSMSessionProxyManager is esponsible for creating and managing proxies for a given session...
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
virtual vtkSMSession * GetSession()
Get/Set the session on wihch this object exists.
vtkWeakPointer< vtkSMSourceProxy > SourceProxy
vtkWeakPointer< vtkSMCompoundSourceProxy > CompoundSourceProxy
vtkPVTemporalDataInformation is used to gather data information over time.