vtkPVCompositeKeyFrame.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkPVCompositeKeyFrame.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 =========================================================================*/
27 #ifndef vtkPVCompositeKeyFrame_h
28 #define vtkPVCompositeKeyFrame_h
29 
30 #include "vtkPVKeyFrame.h"
31 
35 class vtkPVRampKeyFrame;
36 
38 {
39 public:
40  static vtkPVCompositeKeyFrame* New();
42  void PrintSelf(ostream& os, vtkIndent indent) override;
43 
44  enum
45  {
46  NONE = 0,
47  BOOLEAN = 1,
48  RAMP = 2,
49  EXPONENTIAL = 3,
50  SINUSOID = 4
51  };
52 
54 
57  void RemoveAllKeyValues() override;
58  void SetKeyTime(double time) override;
59  void SetKeyValue(double val) override { this->Superclass::SetKeyValue(val); }
60  void SetKeyValue(unsigned int index, double val) override;
61  void SetNumberOfKeyValues(unsigned int num) override;
63 
65 
68  void SetBase(double val);
69  void SetStartPower(double val);
70  void SetEndPower(double val);
72 
74 
77  void SetPhase(double val);
78  void SetFrequency(double val);
79  void SetOffset(double val);
81 
83 
87  vtkSetClampMacro(Type, int, NONE, SINUSOID);
88  vtkGetMacro(Type, int);
89  const char* GetTypeAsString() { return this->GetTypeAsString(this->Type); }
90  static const char* GetTypeAsString(int);
91  static int GetTypeFromString(const char* string);
93 
99  void UpdateValue(double currenttime, vtkPVAnimationCue* cue, vtkPVKeyFrame* next) override;
100 
101 protected:
103  ~vtkPVCompositeKeyFrame() override;
104 
105  int Type;
106 
111 
112 private:
114  void operator=(const vtkPVCompositeKeyFrame&) = delete;
115 };
116 
117 #endif
vtkPVRampKeyFrame * RampKeyFrame
void PrintSelf(ostream &os, vtkIndent indent) override
proxy for vtkAnimationCue.
static vtkPVKeyFrame * New()
virtual void RemoveAllKeyValues()
Removes all key values.
Interplates lineraly between consecutive key frames.
Interplates a sinusoid.
virtual void SetKeyTime(double)
Key time is the time at which this key frame is associated.
next
virtual void UpdateValue(double currenttime, vtkPVAnimationCue *cue, vtkPVKeyFrame *next)
This method will do the actual interpolation.
const int NONE
vtkPVExponentialKeyFrame * ExponentialKeyFrame
virtual void SetNumberOfKeyValues(unsigned int num)
Set/Get the number of key values this key frame currently stores.
void SetKeyValue(double val) override
Overridden to pass on to the internal keyframe proxies.
#define VTKREMOTINGANIMATION_EXPORT
Base class for key frames.
Definition: vtkPVKeyFrame.h:36
virtual void SetKeyValue(double val)
Get/Set the animated value at this key frame.
Definition: vtkPVKeyFrame.h:60
const char * GetTypeAsString()
Get/Set the type of keyframe to be used as the active type.
Interplates lineraly between consecutive key frames.
index
vtkPVSinusoidKeyFrame * SinusoidKeyFrame
vtkPVBooleanKeyFrame * BooleanKeyFrame