VTK  9.1.20211115
vtkAnimationScene.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkAnimationScene.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm 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 =========================================================================*/
59 #ifndef vtkAnimationScene_h
60 #define vtkAnimationScene_h
61 
62 #include "vtkAnimationCue.h"
63 #include "vtkCommonDataModelModule.h" // For export macro
64 
65 class vtkAnimationCue;
66 class vtkCollection;
68 class vtkTimerLog;
69 
70 class VTKCOMMONDATAMODEL_EXPORT vtkAnimationScene : public vtkAnimationCue
71 {
72 public:
74  void PrintSelf(ostream& os, vtkIndent indent) override;
76 
78 
85  vtkSetMacro(PlayMode, int);
86  void SetModeToSequence() { this->SetPlayMode(PLAYMODE_SEQUENCE); }
87  void SetModeToRealTime() { this->SetPlayMode(PLAYMODE_REALTIME); }
88  vtkGetMacro(PlayMode, int);
90 
92 
97  vtkSetMacro(FrameRate, double);
98  vtkGetMacro(FrameRate, double);
100 
102 
111 
116  virtual void Play();
117 
121  void Stop();
122 
124 
127  vtkSetMacro(Loop, int);
128  vtkGetMacro(Loop, int);
130 
134  void SetAnimationTime(double time);
135 
140  void SetTimeMode(int mode) override;
141 
145  int IsInPlay() { return this->InPlay; }
146 
148  {
149  PLAYMODE_SEQUENCE = 0,
150  PLAYMODE_REALTIME = 1
151  };
152 
153 protected:
155  ~vtkAnimationScene() override;
156 
158 
162  void TickInternal(double currenttime, double deltatime, double clocktime) override;
163  void StartCueInternal() override;
164  void EndCueInternal() override;
166 
169 
170  int PlayMode;
171  double FrameRate;
172  int Loop;
173  int InPlay;
174  int StopPlay;
175 
179 
180 private:
181  vtkAnimationScene(const vtkAnimationScene&) = delete;
182  void operator=(const vtkAnimationScene&) = delete;
183 };
184 
185 #endif
a seqin an animation.
the animation scene manager.
void SetModeToSequence()
Get/Set the PlayMode for running/playing the animation scene.
void SetAnimationTime(double time)
Makes the state of the scene same as the given time.
void TickInternal(double currenttime, double deltatime, double clocktime) override
Called on every valid tick.
int IsInPlay()
Returns if the animation is being played.
void RemoveCue(vtkAnimationCue *cue)
Add/Remove an AnimationCue to/from the Scene.
void StartCueInternal() override
Called on every valid tick.
void EndCueInternal() override
Called on every valid tick.
~vtkAnimationScene() override
void InitializeChildren()
int GetNumberOfCues()
Add/Remove an AnimationCue to/from the Scene.
static vtkAnimationScene * New()
void AddCue(vtkAnimationCue *cue)
Add/Remove an AnimationCue to/from the Scene.
void RemoveAllCues()
Add/Remove an AnimationCue to/from the Scene.
vtkTimerLog * AnimationTimer
void SetModeToRealTime()
Get/Set the PlayMode for running/playing the animation scene.
void SetTimeMode(int mode) override
Overridden to allow change to Normalized mode only if none of the constituent cues is in Relative tim...
void Stop()
Stops the animation scene that is running.
vtkCollection * AnimationCues
virtual void Play()
Starts playing the animation scene.
vtkCollectionIterator * AnimationCuesIterator
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
iterator through a vtkCollection.
create and manipulate ordered lists of objects
Definition: vtkCollection.h:53
a simple class to control print indentation
Definition: vtkIndent.h:113
Timer support and logging.
Definition: vtkTimerLog.h:199
@ mode
Definition: vtkX3D.h:253
@ time
Definition: vtkX3D.h:503