VTK
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 =========================================================================*/
33 #ifndef vtkAnimationScene_h
34 #define vtkAnimationScene_h
35 
36 #include "vtkCommonDataModelModule.h" // For export macro
37 #include "vtkAnimationCue.h"
38 
39 class vtkAnimationCue;
40 class vtkCollection;
42 class vtkTimerLog;
43 
44 class VTKCOMMONDATAMODEL_EXPORT vtkAnimationScene: public vtkAnimationCue
45 {
46 public:
48  void PrintSelf(ostream& os, vtkIndent indent) override;
49  static vtkAnimationScene* New();
50 
52 
59  vtkSetMacro(PlayMode, int);
60  void SetModeToSequence() { this->SetPlayMode(PLAYMODE_SEQUENCE); }
61  void SetModeToRealTime() { this->SetPlayMode(PLAYMODE_REALTIME); }
62  vtkGetMacro(PlayMode, int);
64 
66 
71  vtkSetMacro(FrameRate, double);
72  vtkGetMacro(FrameRate, double);
74 
76 
80  void AddCue(vtkAnimationCue* cue);
81  void RemoveCue(vtkAnimationCue* cue);
82  void RemoveAllCues();
83  int GetNumberOfCues();
85 
90  virtual void Play();
91 
95  void Stop();
96 
98 
101  vtkSetMacro(Loop, int);
102  vtkGetMacro(Loop, int);
104 
108  void SetAnimationTime(double time);
109 
114  void SetTimeMode(int mode) override;
115 
119  int IsInPlay() { return this->InPlay; }
120 
122  {
123  PLAYMODE_SEQUENCE=0,
124  PLAYMODE_REALTIME=1
125  };
126 
127 protected:
129  ~vtkAnimationScene() override;
130 
132 
136  void TickInternal(double currenttime, double deltatime, double clocktime) override;
137  void StartCueInternal() override;
138  void EndCueInternal() override;
140 
141  void InitializeChildren();
142  void FinalizeChildren();
143 
144  int PlayMode;
145  double FrameRate;
146  int Loop;
147  int InPlay;
148  int StopPlay;
149 
153 
154 private:
155  vtkAnimationScene(const vtkAnimationScene&) = delete;
156  void operator=(const vtkAnimationScene&) = delete;
157 };
158 
159 #endif
virtual void EndCueInternal()
These are the internal methods that actually trigger they corresponding events.
static vtkAnimationCue * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetModeToSequence()
Get/Set the PlayMode for running/playing the animation scene.
Timer support and logging.
Definition: vtkTimerLog.h:91
vtkTimerLog * AnimationTimer
virtual void TickInternal(double currenttime, double deltatime, double clocktime)
These are the internal methods that actually trigger they corresponding events.
virtual void StartCueInternal()
These are the internal methods that actually trigger they corresponding events.
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkCollection * AnimationCues
int IsInPlay()
Returns if the animation is being played.
a seqin an animation.
virtual void SetTimeMode(int mode)
Get/Set the time mode.
void SetModeToRealTime()
Get/Set the PlayMode for running/playing the animation scene.
iterator through a vtkCollection.
the animation scene manager.
create and manipulate ordered lists of objects
Definition: vtkCollection.h:51
vtkCollectionIterator * AnimationCuesIterator