VTK  9.7.1
vtkSynchronizableActors.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
16 #ifndef vtkSynchronizableActors_h
17 #define vtkSynchronizableActors_h
18 
19 #include "vtkMultiProcessStream.h" // For vtkMultiProcessStream param by ref
20 #include "vtkObject.h"
21 #include "vtkRenderingParallelModule.h" // For export macro
22 
23 VTK_ABI_NAMESPACE_BEGIN
24 class vtkRenderer;
25 
26 class VTKRENDERINGPARALLEL_EXPORT vtkSynchronizableActors : public vtkObject
27 {
28 public:
30 
34  void PrintSelf(ostream& os, vtkIndent indent) override;
36 
38 
41  virtual void InitializeRenderer(vtkRenderer* ren) = 0;
43 
45 
48  virtual void CleanUpRenderer(vtkRenderer* ren) = 0;
50 
52 
55  virtual void SaveToStream(vtkMultiProcessStream& stream, vtkRenderer* ren) = 0;
57 
59 
64  virtual void RestoreFromStream(vtkMultiProcessStream& stream, vtkRenderer* ren) = 0;
66 
67 protected:
69  ~vtkSynchronizableActors() override;
70 
71 private:
73  void operator=(const vtkSynchronizableActors&) = delete;
74 };
75 
76 VTK_ABI_NAMESPACE_END
77 #endif
abstract base class for most VTK objects
Definition: vtkObject.h:52
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
stream used to pass data across processes using vtkMultiProcessController.
abstract specification for renderers
Definition: vtkRenderer.h:63
abstract base class for synchronizing a collection of actors
a simple class to control print indentation
Definition: vtkIndent.h:28