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 class vtkSMProxy;
47 class vtkSMSession;
49 
50 class VTKREMOTINGSERVERMANAGER_EXPORT vtkSMParaViewPipelineController : public vtkSMObject
51 {
52 public:
55  void PrintSelf(ostream& os, vtkIndent indent) override;
56 
61  virtual bool InitializeSession(vtkSMSession* session);
62 
66  virtual vtkSMProxy* FindTimeKeeper(vtkSMSession* session);
67 
71  virtual vtkSMProxy* FindMaterialLibrary(vtkSMSession* session);
72 
73  //---------------------------------------------------------------------------
79  virtual bool PreInitializeProxy(vtkSMProxy* proxy);
80 
91  virtual bool PostInitializeProxy(vtkSMProxy* proxy);
92 
97  {
98  return this->PreInitializeProxy(proxy) && this->PostInitializeProxy(proxy);
99  }
100 
107  virtual bool FinalizeProxy(vtkSMProxy* proxy);
108 
109  //---------------------------------------------------------------------------
110  // ******* Methods for Pipeline objects like sources/filters/readers ********
111 
125  virtual bool RegisterPipelineProxy(vtkSMProxy* proxy, const char* proxyname);
126  virtual bool RegisterPipelineProxy(vtkSMProxy* proxy)
127  {
128  return this->RegisterPipelineProxy(proxy, NULL);
129  }
130 
139  virtual bool UnRegisterPipelineProxy(vtkSMProxy* proxy);
140 
141  //---------------------------------------------------------------------------
142  // ******* Methods for Views/Displays *********
143 
150  virtual bool RegisterViewProxy(vtkSMProxy* proxy) { return this->RegisterViewProxy(proxy, NULL); }
151  virtual bool RegisterViewProxy(vtkSMProxy* proxy, const char* proxyname);
152 
162  virtual bool UnRegisterViewProxy(vtkSMProxy* proxy, bool unregister_representations = true);
163 
169  virtual bool RegisterRepresentationProxy(vtkSMProxy* proxy);
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, NULL);
190  }
191 
195  virtual bool RegisterOpacityTransferFunction(vtkSMProxy* proxy, const char* proxyname);
197  {
198  return this->RegisterOpacityTransferFunction(proxy, NULL);
199  }
200 
206  virtual bool RegisterLightProxy(vtkSMProxy* proxy, vtkSMProxy* view, const char* proxyname);
207  virtual bool RegisterLightProxy(vtkSMProxy* proxy, vtkSMProxy* view)
208  {
209  return this->RegisterLightProxy(proxy, view, NULL);
210  }
211 
217  virtual bool RegisterTextureProxy(vtkSMProxy* proxy, const char* filename);
218 
219  //---------------------------------------------------------------------------
220  // ******* Methods for Animation *********
221 
225  virtual vtkSMProxy* FindAnimationScene(vtkSMSession* session);
226 
232  virtual vtkSMProxy* GetAnimationScene(vtkSMSession* session);
233 
237  virtual vtkSMProxy* FindTimeAnimationTrack(vtkSMProxy* scene);
238 
243  virtual vtkSMProxy* GetTimeAnimationTrack(vtkSMProxy* scene);
244 
249  virtual bool RegisterAnimationProxy(vtkSMProxy* proxy);
250 
258  virtual bool UnRegisterAnimationProxy(vtkSMProxy* proxy);
259 
260  //---------------------------------------------------------------------------
261  // ******* Methods for Settings *********
262  //
268  virtual void UpdateSettingsProxies(vtkSMSession* session);
269 
270  //---------------------------------------------------------------------------
271  // ****** Methods for cleanup/finalization/deleting ******
272  //
280  virtual bool UnRegisterProxy(vtkSMProxy* proxy);
281 
285  static vtkStdString GetHelperProxyGroupName(vtkSMProxy*);
286 
287 protected:
290 
295  vtkSMProxy* FindProxy(
296  vtkSMSessionProxyManager* pxm, const char* reggroup, const char* xmlgroup, const char* xmltype);
297 
299 
303  virtual bool CreateProxiesForProxyListDomains(vtkSMProxy* proxy);
304  virtual void RegisterProxiesForProxyListDomains(vtkSMProxy* proxy);
306 
310  virtual bool SetupGlobalPropertiesLinks(vtkSMProxy* proxy);
311 
316  virtual bool CreateAnimationHelpers(vtkSMProxy* proxy);
317 
322  virtual bool UnRegisterDependencies(vtkSMProxy* proxy);
323 
329  vtkMTimeType GetInitializationTime(vtkSMProxy*);
330 
332 
336  void ProcessInitializationHelper(vtkSMProxy*, vtkMTimeType initializationTimeStamp);
338 
343  void ProcessInitializationHelperRegistration(vtkSMProxy*);
344 
348  virtual void DoMaterialSetup(vtkSMProxy* proxy);
349 
350 private:
352  void operator=(const vtkSMParaViewPipelineController&) = delete;
354 
355  class vtkInternals;
356  vtkInternals* Internals;
357 };
358 
359 #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)
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 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