vtkSMAnimationSceneWriter.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
20 #ifndef vtkSMAnimationSceneWriter_h
21 #define vtkSMAnimationSceneWriter_h
22 
23 #include "vtkRemotingAnimationModule.h" //needed for exports
24 #include "vtkSMSessionObject.h"
25 
27 class vtkSMExporterProxy;
28 class vtkSMProxy;
29 
31 {
32 public:
34  void PrintSelf(ostream& os, vtkIndent indent) override;
35 
39  virtual void SetAnimationScene(vtkSMProxy*);
40 
42 
45  virtual void SetAnimationScene(vtkSMAnimationScene*);
46  vtkGetObjectMacro(AnimationScene, vtkSMAnimationScene);
48 
56  bool Save();
57 
63  vtkSetMacro(WriteTimeSteps, bool);
64  vtkGetMacro(WriteTimeSteps, bool);
65  vtkBooleanMacro(WriteTimeSteps, bool);
66 
68 
71  vtkSetStringMacro(FileName);
72  vtkGetStringMacro(FileName);
74 
76 
79  vtkSetMacro(StartFileCount, int);
80  vtkGetMacro(StartFileCount, int);
82 
84 
90  vtkSetVector2Macro(PlaybackTimeWindow, double);
91  vtkGetVector2Macro(PlaybackTimeWindow, double);
93 
95 
98  void SetFrameWindow(int window[2]);
99  void SetFrameWindow(int min, int max);
101 
103 
109  vtkSetMacro(Stride, int);
110  vtkGetMacro(Stride, int);
112 
117  void SetFrameExporterDelegate(vtkSMExporterProxy* exporter);
118 
119 protected:
121  ~vtkSMAnimationSceneWriter() override;
122 
123  unsigned long ObserverID;
125 
130  virtual bool SaveInitialize(int countStart) = 0;
131 
136  virtual bool SaveFrame(double time) = 0;
137 
142  virtual bool SaveFinalize() = 0;
143 
144  void ExecuteEvent(vtkObject* caller, unsigned long eventid, void* calldata);
145 
149  vtkSMExporterProxy* GetFrameExporterDelegate();
150 
155  bool AnimationEnabled();
156 
157  // Flag indicating if we are currently saving.
158  // Set on entering Save() and cleared before leaving Save().
159  bool Saving;
161  char* FileName;
162  double PlaybackTimeWindow[2];
164  int Stride = 1;
165 
166 private:
168  void operator=(const vtkSMAnimationSceneWriter&) = delete;
169 
170  bool WriteTimeSteps = true;
171 
172  vtkSMExporterProxy* FrameExporterDelegate = nullptr;
173 };
174 
175 #endif
superclass for any server manager classes that are related to a session
proxy for view exporters.
helper class used to write animations.
animation scene for ParaView.
vtkSMAnimationScene * AnimationScene
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:140
#define VTKREMOTINGANIMATION_EXPORT
void PrintSelf(ostream &os, vtkIndent indent) override