vtkSMTimeKeeper.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
29 #ifndef vtkSMTimeKeeper_h
30 #define vtkSMTimeKeeper_h
31 
32 #include "vtkObject.h"
33 #include "vtkRemotingServerManagerModule.h" //needed for exports
34 
35 class vtkSMProperty;
36 class vtkSMSourceProxy;
37 class vtkSMProxy;
38 
39 class VTKREMOTINGSERVERMANAGER_EXPORT vtkSMTimeKeeper : public vtkObject
40 {
41 public:
42  static vtkSMTimeKeeper* New();
43  vtkTypeMacro(vtkSMTimeKeeper, vtkObject);
44  void PrintSelf(ostream& os, vtkIndent indent) override;
45 
47 
50  void SetTime(double time);
51  vtkGetMacro(Time, double);
53 
55 
58  void AddView(vtkSMProxy*);
59  void RemoveView(vtkSMProxy*);
60  void RemoveAllViews();
62 
64 
68  void AddTimeSource(vtkSMSourceProxy*);
69  void RemoveTimeSource(vtkSMSourceProxy*);
70  void RemoveAllTimeSources();
72 
74 
78  void AddSuppressedTimeSource(vtkSMSourceProxy*);
79  void RemoveSuppressedTimeSource(vtkSMSourceProxy*);
81 
83 
88  void UpdateTimeInformation();
90 
91 protected:
93  ~vtkSMTimeKeeper() override;
94 
95  friend class vtkSMTimeKeeperProxy;
96  void SetTimestepValuesProperty(vtkSMProperty*);
97  void SetTimeRangeProperty(vtkSMProperty*);
98  void SetTimeLabelProperty(vtkSMProperty*);
99 
100  void UpdateTimeSteps();
101 
105  double Time;
106 
107 private:
108  vtkSMTimeKeeper(const vtkSMTimeKeeper&) = delete;
109  void operator=(const vtkSMTimeKeeper&) = delete;
110 
111  class vtkInternal;
112  vtkInternal* Internal;
113 
114  bool DeferUpdateTimeSteps;
115 };
116 
117 #endif
vtkSMTimeKeeper
a time keeper is used to keep track of the pipeline time.
Definition: vtkSMTimeKeeper.h:39
vtkObjectBase::operator=
void operator=(const vtkObjectBase &)
vtkSMTimeKeeper::TimestepValuesProperty
vtkSMProperty * TimestepValuesProperty
Definition: vtkSMTimeKeeper.h:104
vtkObject::New
static vtkObject * New()
vtkObject
vtkSMTimeKeeper::Time
double Time
Definition: vtkSMTimeKeeper.h:105
vtkSMProperty
superclass for all SM properties
Definition: vtkSMProperty.h:144
vtkSMProxy
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:140
vtkSMSourceProxy
proxy for a VTK source on a server
Definition: vtkSMSourceProxy.h:37
vtkIndent
vtkSMTimeKeeper::TimeLabelProperty
vtkSMProperty * TimeLabelProperty
Definition: vtkSMTimeKeeper.h:102
vtkSMTimeKeeper::TimeRangeProperty
vtkSMProperty * TimeRangeProperty
Definition: vtkSMTimeKeeper.h:103
vtkObject.h
vtkObject::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
vtkSMTimeKeeperProxy
Definition: vtkSMTimeKeeperProxy.h:16