vtkSMParaViewPipelineController.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkSMParaViewPipelineController.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 =========================================================================*/
41 #ifndef vtkSMParaViewPipelineController_h
42 #define vtkSMParaViewPipelineController_h
43 
44 #include "vtkSMObject.h"
45 
46 #include <string>
47 
48 class vtkSMProxy;
49 class vtkSMSession;
51 
53 {
54 public:
57  void PrintSelf(ostream& os, vtkIndent indent) override;
58 
63  virtual bool InitializeSession(vtkSMSession* session);
64 
68  virtual vtkSMProxy* FindTimeKeeper(vtkSMSession* session);
69 
73  virtual vtkSMProxy* FindMaterialLibrary(vtkSMSession* session);
74 
75  //---------------------------------------------------------------------------
81  virtual bool PreInitializeProxy(vtkSMProxy* proxy);
82 
93  virtual bool PostInitializeProxy(vtkSMProxy* proxy);
94 
99  {
100  return this->PreInitializeProxy(proxy) && this->PostInitializeProxy(proxy);
101  }
102 
109  virtual bool FinalizeProxy(vtkSMProxy* proxy);
110 
111  //---------------------------------------------------------------------------
112  // ******* Methods for Pipeline objects like sources/filters/readers ********
113 
127  virtual bool RegisterPipelineProxy(vtkSMProxy* proxy, const char* proxyname);
128  virtual bool RegisterPipelineProxy(vtkSMProxy* proxy)
129  {
130  return this->RegisterPipelineProxy(proxy, NULL);
131  }
132 
141  virtual bool UnRegisterPipelineProxy(vtkSMProxy* proxy);
142 
143  //---------------------------------------------------------------------------
144  // ******* Methods for Views/Displays *********
145 
152  virtual bool RegisterViewProxy(vtkSMProxy* proxy) { return this->RegisterViewProxy(proxy, NULL); }
153  virtual bool RegisterViewProxy(vtkSMProxy* proxy, const char* proxyname);
154 
164  virtual bool UnRegisterViewProxy(vtkSMProxy* proxy, bool unregister_representations = true);
165 
171  virtual bool RegisterRepresentationProxy(vtkSMProxy* proxy);
172 
179  virtual bool UnRegisterRepresentationProxy(vtkSMProxy* proxy);
180 
181  //---------------------------------------------------------------------------
182  // ******* Methods for Transfer functions *********
183 
188  virtual bool RegisterColorTransferFunctionProxy(vtkSMProxy* proxy, const char* proxyname);
190  {
191  return this->RegisterColorTransferFunctionProxy(proxy, NULL);
192  }
193 
197  virtual bool RegisterOpacityTransferFunction(vtkSMProxy* proxy, const char* proxyname);
199  {
200  return this->RegisterOpacityTransferFunction(proxy, NULL);
201  }
202 
208  virtual bool RegisterLightProxy(vtkSMProxy* proxy, vtkSMProxy* view, const char* proxyname);
209  virtual bool RegisterLightProxy(vtkSMProxy* proxy, vtkSMProxy* view)
210  {
211  return this->RegisterLightProxy(proxy, view, NULL);
212  }
213 
219  virtual bool RegisterTextureProxy(vtkSMProxy* proxy, const char* filename);
220 
221  //---------------------------------------------------------------------------
222  // ******* Methods for Extractors *********
223 
227  virtual bool RegisterExtractorProxy(vtkSMProxy* proxy, const char* proxyname);
228  virtual bool RegisterExtractorProxy(vtkSMProxy* proxy)
229  {
230  return this->RegisterExtractorProxy(proxy, nullptr);
231  }
232 
233  //---------------------------------------------------------------------------
234  // ******* Methods for Animation *********
235 
239  virtual vtkSMProxy* FindAnimationScene(vtkSMSession* session);
240 
246  virtual vtkSMProxy* GetAnimationScene(vtkSMSession* session);
247 
251  virtual vtkSMProxy* FindTimeAnimationTrack(vtkSMProxy* scene);
252 
257  virtual vtkSMProxy* GetTimeAnimationTrack(vtkSMProxy* scene);
258 
263  virtual bool RegisterAnimationProxy(vtkSMProxy* proxy);
264 
272  virtual bool UnRegisterAnimationProxy(vtkSMProxy* proxy);
273 
274  //---------------------------------------------------------------------------
275  // ******* Methods for Settings *********
276  //
282  virtual void UpdateSettingsProxies(vtkSMSession* session);
283 
284  //---------------------------------------------------------------------------
285  // ****** Methods for cleanup/finalization/deleting ******
286  //
294  virtual bool UnRegisterProxy(vtkSMProxy* proxy);
295 
299  static std::string GetHelperProxyGroupName(vtkSMProxy*);
300 
301 protected:
304 
309  vtkSMProxy* FindProxy(
310  vtkSMSessionProxyManager* pxm, const char* reggroup, const char* xmlgroup, const char* xmltype);
311 
313 
317  virtual bool CreateProxiesForProxyListDomains(vtkSMProxy* proxy);
318  virtual void RegisterProxiesForProxyListDomains(vtkSMProxy* proxy);
320 
324  virtual bool SetupGlobalPropertiesLinks(vtkSMProxy* proxy);
325 
330  virtual bool CreateAnimationHelpers(vtkSMProxy* proxy);
331 
336  virtual bool UnRegisterDependencies(vtkSMProxy* proxy);
337 
343  vtkMTimeType GetInitializationTime(vtkSMProxy*);
344 
346 
350  void ProcessInitializationHelper(vtkSMProxy*, vtkMTimeType initializationTimeStamp);
352 
357  void ProcessInitializationHelperRegistration(vtkSMProxy*);
358 
362  virtual void DoMaterialSetup(vtkSMProxy* proxy);
363 
364 private:
366  void operator=(const vtkSMParaViewPipelineController&) = delete;
368 
369  class vtkInternals;
370  vtkInternals* Internals;
371 };
372 
373 #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
vtkSMSession is the default ParaView session.
Definition: vtkSMSession.h:35
vtkTypeUInt64 vtkMTimeType
superclass for most server manager classes
Definition: vtkSMObject.h:29
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:152
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