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" // for PARAVIEW_DEPRECATED_IN_5_12_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 
226  virtual bool RegisterTextureProxy(vtkSMProxy* proxy, const char* filename);
227  virtual bool RegisterTextureProxy(
228  vtkSMProxy* proxy, const char* trivialProducerKeyName, const char* proxyname);
229 
230  //---------------------------------------------------------------------------
231  // ******* Methods for Extractors *********
232 
236  virtual bool RegisterExtractorProxy(vtkSMProxy* proxy, const char* proxyname);
237  virtual bool RegisterExtractorProxy(vtkSMProxy* proxy)
238  {
239  return this->RegisterExtractorProxy(proxy, nullptr);
240  }
241 
242  //---------------------------------------------------------------------------
243  // ******* Methods for Animation *********
244 
248  virtual vtkSMProxy* FindAnimationScene(vtkSMSession* session);
249 
255  virtual vtkSMProxy* GetAnimationScene(vtkSMSession* session);
256 
260  virtual vtkSMProxy* FindTimeAnimationTrack(vtkSMProxy* scene);
261 
266  virtual vtkSMProxy* GetTimeAnimationTrack(vtkSMProxy* scene);
267 
272  virtual bool RegisterAnimationProxy(vtkSMProxy* proxy);
273 
281  virtual bool UnRegisterAnimationProxy(vtkSMProxy* proxy);
282 
283  //---------------------------------------------------------------------------
284  // ******* Methods for Settings *********
285  //
291  virtual void UpdateSettingsProxies(vtkSMSession* session);
292 
293  //---------------------------------------------------------------------------
294  // ****** Methods for cleanup/finalization/deleting ******
295  //
303  virtual bool UnRegisterProxy(vtkSMProxy* proxy);
304 
308  static std::string GetHelperProxyGroupName(vtkSMProxy*);
309 
310 protected:
313 
318  vtkSMProxy* FindProxy(
319  vtkSMSessionProxyManager* pxm, const char* reggroup, const char* xmlgroup, const char* xmltype);
320 
322 
326  virtual bool CreateProxiesForProxyListDomains(vtkSMProxy* proxy);
327  virtual void RegisterProxiesForProxyListDomains(vtkSMProxy* proxy);
329 
333  virtual bool SetupGlobalPropertiesLinks(vtkSMProxy* proxy);
334 
339  virtual bool CreateAnimationHelpers(vtkSMProxy* proxy);
340 
345  virtual bool UnRegisterDependencies(vtkSMProxy* proxy);
346 
352  vtkMTimeType GetInitializationTime(vtkSMProxy*);
353 
355 
359  void ProcessInitializationHelper(vtkSMProxy*, vtkMTimeType initializationTimeStamp);
361 
366  void ProcessInitializationHelperRegistration(vtkSMProxy*);
367 
372  "Material setup is now handled by the RenderView proxy on raytracing back-end update")
373  virtual void DoMaterialSetup(vtkSMProxy* proxy);
374 
375 private:
377  void operator=(const vtkSMParaViewPipelineController&) = delete;
379 
380  class vtkInternals;
381  vtkInternals* Internals;
382 };
383 
384 #endif
bool InitializeProxy(vtkSMProxy *proxy)
Convenience method to call PreInitializeProxy and PostInitializeProxy.
#define PARAVIEW_DEPRECATED_IN_5_12_0(reason)
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
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