VTK  9.1.0
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=========================================================================*/
39#ifndef vtkAnimationScene_h
40#define vtkAnimationScene_h
41
42#include "vtkAnimationCue.h"
43#include "vtkCommonDataModelModule.h" // For export macro
44
45class vtkAnimationCue;
46class vtkCollection;
48class vtkTimerLog;
49
50class VTKCOMMONDATAMODEL_EXPORT vtkAnimationScene : public vtkAnimationCue
51{
52public:
54 void PrintSelf(ostream& os, vtkIndent indent) override;
56
58
65 vtkSetMacro(PlayMode, int);
66 void SetModeToSequence() { this->SetPlayMode(PLAYMODE_SEQUENCE); }
67 void SetModeToRealTime() { this->SetPlayMode(PLAYMODE_REALTIME); }
68 vtkGetMacro(PlayMode, int);
70
72
77 vtkSetMacro(FrameRate, double);
78 vtkGetMacro(FrameRate, double);
80
82
91
96 virtual void Play();
97
101 void Stop();
102
104
107 vtkSetMacro(Loop, int);
108 vtkGetMacro(Loop, int);
110
114 void SetAnimationTime(double time);
115
120 void SetTimeMode(int mode) override;
121
125 int IsInPlay() { return this->InPlay; }
126
128 {
129 PLAYMODE_SEQUENCE = 0,
130 PLAYMODE_REALTIME = 1
131 };
132
133protected:
136
138
142 void TickInternal(double currenttime, double deltatime, double clocktime) override;
143 void StartCueInternal() override;
144 void EndCueInternal() override;
146
149
151 double FrameRate;
152 int Loop;
155
159
160private:
161 vtkAnimationScene(const vtkAnimationScene&) = delete;
162 void operator=(const vtkAnimationScene&) = delete;
163};
164
165#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.
void AddCue(vtkAnimationCue *cue)
Add/Remove an AnimationCue to/from the Scene.
void RemoveAllCues()
Add/Remove an AnimationCue to/from the Scene.
static vtkAnimationScene * New()
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:43
Timer support and logging.
Definition: vtkTimerLog.h:99
@ mode
Definition: vtkX3D.h:253
@ time
Definition: vtkX3D.h:503