1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
/*=========================================================================
Program: ParaView
Module: vtkSMMultiServerSourceProxy.h
Copyright (c) Kitware, Inc.
All rights reserved.
See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
/**
* @class vtkSMMultiServerSourceProxy
* - proxy use to fetch data from distributed servers
*
* vtkSMMultiServerSourceProxy can be usefull in case of multi-server setup
* when the user want to display a data object that belong to another server
* into its local built-in view.
*/
#ifndef vtkSMMultiServerSourceProxy_h
#define vtkSMMultiServerSourceProxy_h
#include "vtkPVServerManagerDefaultModule.h" //needed for exports
#include "vtkSMSourceProxy.h"
class vtkSMProxy;
class VTKPVSERVERMANAGERDEFAULT_EXPORT vtkSMMultiServerSourceProxy : public vtkSMSourceProxy
{
public:
static vtkSMMultiServerSourceProxy* New();
vtkTypeMacro(vtkSMMultiServerSourceProxy, vtkSMSourceProxy);
void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
/**
* Bind proxy with a given external proxy
*/
virtual void SetExternalProxy(vtkSMSourceProxy* proxyFromAnotherServer, int port = 0);
/**
* Return the proxy that is currently binded if any otherwise return NULL;
*/
virtual vtkSMSourceProxy* GetExternalProxy();
/**
* Marks the selection proxies dirty as well as chain to superclass.
*/
virtual void MarkDirty(vtkSMProxy* modifiedProxy) VTK_OVERRIDE;
/**
* This method is used to initialise the object to the given state
* If the definitionOnly Flag is set to True the proxy won't load the
* properties values and just setup the new proxy hierarchy with all subproxy
* globalID set. This allow to split the load process in 2 step to prevent
* invalid state when property refere to a sub-proxy that does not exist yet.
*/
virtual void LoadState(const vtkSMMessage* message, vtkSMProxyLocator* locator) VTK_OVERRIDE;
protected:
vtkSMMultiServerSourceProxy();
~vtkSMMultiServerSourceProxy();
virtual void UpdateState();
vtkIdType RemoteProxySessionID;
vtkIdType RemoteProxyID;
int PortToExport;
private:
vtkSMMultiServerSourceProxy(const vtkSMMultiServerSourceProxy&) VTK_DELETE_FUNCTION;
void operator=(const vtkSMMultiServerSourceProxy&) VTK_DELETE_FUNCTION;
};
#endif
|