vtkSMTimeKeeper.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkSMTimeKeeper.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 vtkSMTimeKeeper_h
42 #define vtkSMTimeKeeper_h
43 
44 #include "vtkObject.h"
45 #include "vtkRemotingServerManagerModule.h" //needed for exports
46 
47 class vtkSMProperty;
48 class vtkSMSourceProxy;
49 class vtkSMProxy;
50 
52 {
53 public:
54  static vtkSMTimeKeeper* New();
55  vtkTypeMacro(vtkSMTimeKeeper, vtkObject);
56  void PrintSelf(ostream& os, vtkIndent indent) override;
57 
59 
62  void SetTime(double time);
63  vtkGetMacro(Time, double);
65 
67 
70  void AddView(vtkSMProxy*);
71  void RemoveView(vtkSMProxy*);
72  void RemoveAllViews();
74 
76 
80  void AddTimeSource(vtkSMSourceProxy*);
81  void RemoveTimeSource(vtkSMSourceProxy*);
82  void RemoveAllTimeSources();
84 
86 
90  void AddSuppressedTimeSource(vtkSMSourceProxy*);
91  void RemoveSuppressedTimeSource(vtkSMSourceProxy*);
93 
95 
100  void UpdateTimeInformation();
102 
103 protected:
104  vtkSMTimeKeeper();
105  ~vtkSMTimeKeeper() override;
106 
107  friend class vtkSMTimeKeeperProxy;
108  void SetTimestepValuesProperty(vtkSMProperty*);
109  void SetTimeRangeProperty(vtkSMProperty*);
110  void SetTimeLabelProperty(vtkSMProperty*);
111 
112  void UpdateTimeSteps();
113 
117  double Time;
118 
119 private:
120  vtkSMTimeKeeper(const vtkSMTimeKeeper&) = delete;
121  void operator=(const vtkSMTimeKeeper&) = delete;
122 
123  class vtkInternal;
124  vtkInternal* Internal;
125 
126  bool DeferUpdateTimeSteps;
127 };
128 
129 #endif
vtkSMProperty * TimestepValuesProperty
a time keeper is used to keep track of the pipeline time.
#define VTKREMOTINGSERVERMANAGER_EXPORT
We simply pass the TimestepValues and TimeRange properties to the client-side vtkSMTimeKeeper instanc...
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
vtkSMProperty * TimeRangeProperty
superclass for all SM properties
vtkSMProperty * TimeLabelProperty
proxy for a VTK source on a server
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:152
static vtkObject * New()
void operator=(const vtkObjectBase &)