vtkSMParaViewPipelineController.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
29 #ifndef vtkSMParaViewPipelineController_h
30 #define vtkSMParaViewPipelineController_h
31 
32 #include "vtkParaViewDeprecation.h" // PARAVIEW_DEPRECATED_IN_6_1_0
33 #include "vtkSMObject.h"
34 
35 #include <string> // for std::string
36 
37 class vtkSMProxy;
38 class vtkSMSession;
40 
42 {
43 public:
46  void PrintSelf(ostream& os, vtkIndent indent) override;
47 
52  virtual bool InitializeSession(vtkSMSession* session);
53 
57  virtual vtkSMProxy* FindTimeKeeper(vtkSMSession* session);
58 
62  virtual vtkSMProxy* FindMaterialLibrary(vtkSMSession* session);
63 
64  //---------------------------------------------------------------------------
70  virtual bool PreInitializeProxy(vtkSMProxy* proxy);
71 
82  virtual bool PostInitializeProxy(vtkSMProxy* proxy);
83 
88  {
89  return this->PreInitializeProxy(proxy) && this->PostInitializeProxy(proxy);
90  }
91 
98  virtual bool FinalizeProxy(vtkSMProxy* proxy);
99 
100  //---------------------------------------------------------------------------
101  // ******* Methods for Pipeline objects like sources/filters/readers ********
102 
116  virtual bool RegisterPipelineProxy(vtkSMProxy* proxy, const char* proxyname);
117  virtual bool RegisterPipelineProxy(vtkSMProxy* proxy)
118  {
119  return this->RegisterPipelineProxy(proxy, nullptr);
120  }
121 
130  virtual bool UnRegisterPipelineProxy(vtkSMProxy* proxy);
131 
132  //---------------------------------------------------------------------------
133  // ******* Methods for Views/Displays *********
134 
141  virtual bool RegisterViewProxy(vtkSMProxy* proxy)
142  {
143  return this->RegisterViewProxy(proxy, nullptr);
144  }
145  virtual bool RegisterViewProxy(vtkSMProxy* proxy, const char* proxyname);
146 
156  virtual bool UnRegisterViewProxy(vtkSMProxy* proxy, bool unregister_representations = true);
157 
159 
165  {
166  return this->RegisterRepresentationProxy(proxy, nullptr);
167  }
168  virtual bool RegisterRepresentationProxy(vtkSMProxy* proxy, const char* proxyname);
170 
177  virtual bool UnRegisterRepresentationProxy(vtkSMProxy* proxy);
178 
179  //---------------------------------------------------------------------------
180  // ******* Methods for Transfer functions *********
181 
186  virtual bool RegisterColorTransferFunctionProxy(vtkSMProxy* proxy, const char* proxyname);
188  {
189  return this->RegisterColorTransferFunctionProxy(proxy, nullptr);
190  }
191 
195  virtual bool RegisterOpacityTransferFunction(vtkSMProxy* proxy, const char* proxyname);
197  {
198  return this->RegisterOpacityTransferFunction(proxy, nullptr);
199  }
200 
204  virtual bool RegisterTransferFunction2D(vtkSMProxy* proxy, const char* proxyname);
206  {
207  return this->RegisterTransferFunction2D(proxy, nullptr);
208  }
209 
215  virtual bool RegisterLightProxy(vtkSMProxy* proxy, vtkSMProxy* view, const char* proxyname);
216  virtual bool RegisterLightProxy(vtkSMProxy* proxy, vtkSMProxy* view)
217  {
218  return this->RegisterLightProxy(proxy, view, nullptr);
219  }
220 
222 
227  virtual bool RegisterTextureProxyFromFile(
228  vtkSMProxy* proxy, const char* filename, const char* registrationName);
229  PARAVIEW_DEPRECATED_IN_6_1_0("Use RegisterTextureProxyFromFile instead.")
230  virtual bool RegisterTextureProxy(vtkSMProxy* proxy, const char* filename);
231  virtual bool RegisterTextureProxy(
232  vtkSMProxy* proxy, const char* trivialProducerKeyName, const char* registrationName);
234 
235  //---------------------------------------------------------------------------
236  // ******* Methods for Extractors *********
237 
241  virtual bool RegisterExtractorProxy(vtkSMProxy* proxy, const char* proxyname);
242  virtual bool RegisterExtractorProxy(vtkSMProxy* proxy)
243  {
244  return this->RegisterExtractorProxy(proxy, nullptr);
245  }
246 
247  //---------------------------------------------------------------------------
248  // ******* Methods for Animation *********
249 
253  virtual vtkSMProxy* FindAnimationScene(vtkSMSession* session);
254 
260  virtual vtkSMProxy* GetAnimationScene(vtkSMSession* session);
261 
265  virtual vtkSMProxy* FindTimeAnimationTrack(vtkSMProxy* scene);
266 
271  virtual vtkSMProxy* GetTimeAnimationTrack(vtkSMProxy* scene);
272 
277  virtual bool RegisterAnimationProxy(vtkSMProxy* proxy);
278 
286  virtual bool UnRegisterAnimationProxy(vtkSMProxy* proxy);
287 
288  //---------------------------------------------------------------------------
289  // ******* Methods for Settings *********
290  //
296  virtual void UpdateSettingsProxies(vtkSMSession* session);
297 
298  //---------------------------------------------------------------------------
299  // ****** Methods for cleanup/finalization/deleting ******
300  //
308  virtual bool UnRegisterProxy(vtkSMProxy* proxy);
309 
313  static std::string GetHelperProxyGroupName(vtkSMProxy*);
314 
315 protected:
318 
323  vtkSMProxy* FindProxy(
324  vtkSMSessionProxyManager* pxm, const char* reggroup, const char* xmlgroup, const char* xmltype);
325 
327 
331  virtual bool CreateProxiesForProxyListDomains(vtkSMProxy* proxy);
332  virtual void RegisterProxiesForProxyListDomains(vtkSMProxy* proxy);
334 
338  virtual bool SetupGlobalPropertiesLinks(vtkSMProxy* proxy);
339 
344  virtual bool CreateAnimationHelpers(vtkSMProxy* proxy);
345 
350  virtual bool UnRegisterDependencies(vtkSMProxy* proxy);
351 
357  vtkMTimeType GetInitializationTime(vtkSMProxy*);
358 
360 
364  void ProcessInitializationHelper(vtkSMProxy*, vtkMTimeType initializationTimeStamp);
366 
371  void ProcessInitializationHelperRegistration(vtkSMProxy*);
372 
373 private:
375  void operator=(const vtkSMParaViewPipelineController&) = delete;
377 
378  class vtkInternals;
379  vtkInternals* Internals;
380 };
381 
382 #endif
bool InitializeProxy(vtkSMProxy *proxy)
Convenience method to call PreInitializeProxy and PostInitializeProxy.
Controller that encapsulates control logic for typical ParaView applications.
virtual bool RegisterOpacityTransferFunction(vtkSMProxy *proxy)
#define VTKREMOTINGSERVERMANAGER_EXPORT
virtual bool RegisterRepresentationProxy(vtkSMProxy *proxy)
Registration method for representations to be used after PreInitializeProxy() and PostInitializeProxy...
vtkSMSession is the default ParaView session.
Definition: vtkSMSession.h:22
vtkTypeUInt64 vtkMTimeType
virtual bool RegisterTransferFunction2D(vtkSMProxy *proxy)
superclass for most server manager classes
Definition: vtkSMObject.h:17
#define PARAVIEW_DEPRECATED_IN_6_1_0(reason)
The vtkSMSessionProxyManager is esponsible for creating and managing proxies for a given session...
virtual bool RegisterPipelineProxy(vtkSMProxy *proxy)
static vtkSMObject * New()
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:140
virtual bool RegisterExtractorProxy(vtkSMProxy *proxy)
virtual bool RegisterLightProxy(vtkSMProxy *proxy, vtkSMProxy *view)
virtual bool RegisterColorTransferFunctionProxy(vtkSMProxy *proxy)
virtual bool RegisterViewProxy(vtkSMProxy *proxy)
Use this method after PreInitializeProxy() and PostInitializeProxy() to register a view proxy with th...
void PrintSelf(ostream &os, vtkIndent indent) override