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"
33 #include "vtkSMObject.h"
34 
35 #include <string> // for std::string
36 
37 class vtkSMProxy;
38 class vtkSMSession;
40 
41 class VTKREMOTINGSERVERMANAGER_EXPORT vtkSMParaViewPipelineController : public vtkSMObject
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 
228  //---------------------------------------------------------------------------
229  // ******* Methods for Extractors *********
230 
234  virtual bool RegisterExtractorProxy(vtkSMProxy* proxy, const char* proxyname);
235  virtual bool RegisterExtractorProxy(vtkSMProxy* proxy)
236  {
237  return this->RegisterExtractorProxy(proxy, nullptr);
238  }
239 
240  //---------------------------------------------------------------------------
241  // ******* Methods for Animation *********
242 
246  virtual vtkSMProxy* FindAnimationScene(vtkSMSession* session);
247 
253  virtual vtkSMProxy* GetAnimationScene(vtkSMSession* session);
254 
258  virtual vtkSMProxy* FindTimeAnimationTrack(vtkSMProxy* scene);
259 
264  virtual vtkSMProxy* GetTimeAnimationTrack(vtkSMProxy* scene);
265 
270  virtual bool RegisterAnimationProxy(vtkSMProxy* proxy);
271 
279  virtual bool UnRegisterAnimationProxy(vtkSMProxy* proxy);
280 
281  //---------------------------------------------------------------------------
282  // ******* Methods for Settings *********
283  //
289  virtual void UpdateSettingsProxies(vtkSMSession* session);
290 
291  //---------------------------------------------------------------------------
292  // ****** Methods for cleanup/finalization/deleting ******
293  //
301  virtual bool UnRegisterProxy(vtkSMProxy* proxy);
302 
306  static std::string GetHelperProxyGroupName(vtkSMProxy*);
307 
308 protected:
311 
316  vtkSMProxy* FindProxy(
317  vtkSMSessionProxyManager* pxm, const char* reggroup, const char* xmlgroup, const char* xmltype);
318 
320 
324  virtual bool CreateProxiesForProxyListDomains(vtkSMProxy* proxy);
325  virtual void RegisterProxiesForProxyListDomains(vtkSMProxy* proxy);
327 
331  virtual bool SetupGlobalPropertiesLinks(vtkSMProxy* proxy);
332 
337  virtual bool CreateAnimationHelpers(vtkSMProxy* proxy);
338 
343  virtual bool UnRegisterDependencies(vtkSMProxy* proxy);
344 
350  vtkMTimeType GetInitializationTime(vtkSMProxy*);
351 
353 
357  void ProcessInitializationHelper(vtkSMProxy*, vtkMTimeType initializationTimeStamp);
359 
364  void ProcessInitializationHelperRegistration(vtkSMProxy*);
365 
370  "Material setup is now handled by the RenderView proxy on raytracing back-end update")
371  virtual void DoMaterialSetup(vtkSMProxy* proxy);
372 
373 private:
375  void operator=(const vtkSMParaViewPipelineController&) = delete;
377 
378  class vtkInternals;
379  vtkInternals* Internals;
380 };
381 
382 #endif
vtkSMSessionProxyManager
Definition: vtkSMSessionProxyManager.h:135
vtkSMObject
superclass for most server manager classes
Definition: vtkSMObject.h:17
vtkSMParaViewPipelineController::RegisterLightProxy
virtual bool RegisterLightProxy(vtkSMProxy *proxy, vtkSMProxy *view)
Definition: vtkSMParaViewPipelineController.h:216
vtkSMParaViewPipelineController::RegisterPipelineProxy
virtual bool RegisterPipelineProxy(vtkSMProxy *proxy)
Definition: vtkSMParaViewPipelineController.h:117
vtkSMObject::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
vtkSMParaViewPipelineController::RegisterViewProxy
virtual bool RegisterViewProxy(vtkSMProxy *proxy)
Use this method after PreInitializeProxy() and PostInitializeProxy() to register a view proxy with th...
Definition: vtkSMParaViewPipelineController.h:141
vtkSMObject.h
vtkSMParaViewPipelineController::RegisterTransferFunction2D
virtual bool RegisterTransferFunction2D(vtkSMProxy *proxy)
Definition: vtkSMParaViewPipelineController.h:205
vtkSMProxy
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:140
vtkMTimeType
vtkTypeUInt64 vtkMTimeType
vtkSMParaViewPipelineController::RegisterRepresentationProxy
virtual bool RegisterRepresentationProxy(vtkSMProxy *proxy)
Registration method for representations to be used after PreInitializeProxy() and PostInitializeProxy...
Definition: vtkSMParaViewPipelineController.h:164
vtkSMSession
Definition: vtkSMSession.h:22
vtkIndent
vtkSMParaViewPipelineController::RegisterExtractorProxy
virtual bool RegisterExtractorProxy(vtkSMProxy *proxy)
Definition: vtkSMParaViewPipelineController.h:235
vtkSMParaViewPipelineController::RegisterOpacityTransferFunction
virtual bool RegisterOpacityTransferFunction(vtkSMProxy *proxy)
Definition: vtkSMParaViewPipelineController.h:196
vtkSMParaViewPipelineController::RegisterColorTransferFunctionProxy
virtual bool RegisterColorTransferFunctionProxy(vtkSMProxy *proxy)
Definition: vtkSMParaViewPipelineController.h:187
vtkSMParaViewPipelineController::InitializeProxy
bool InitializeProxy(vtkSMProxy *proxy)
Convenience method to call PreInitializeProxy and PostInitializeProxy.
Definition: vtkSMParaViewPipelineController.h:87
vtkParaViewDeprecation.h
vtkSMObject::New
static vtkSMObject * New()
PARAVIEW_DEPRECATED_IN_5_12_0
#define PARAVIEW_DEPRECATED_IN_5_12_0(reason)
Definition: vtkParaViewDeprecation.h:100
vtkSMParaViewPipelineController
Controller that encapsulates control logic for typical ParaView applications.
Definition: vtkSMParaViewPipelineController.h:41