vtkPVCompositeKeyFrame.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
15 #ifndef vtkPVCompositeKeyFrame_h
16 #define vtkPVCompositeKeyFrame_h
17 
18 #include "vtkPVKeyFrame.h"
19 
23 class vtkPVRampKeyFrame;
24 
26 {
27 public:
28  static vtkPVCompositeKeyFrame* New();
30  void PrintSelf(ostream& os, vtkIndent indent) override;
31 
32  enum
33  {
34  NONE = 0,
35  BOOLEAN = 1,
36  RAMP = 2,
37  EXPONENTIAL = 3,
38  SINUSOID = 4
39  };
40 
42 
45  void RemoveAllKeyValues() override;
46  void SetKeyTime(double time) override;
47  void SetKeyValue(double val) override { this->Superclass::SetKeyValue(val); }
48  void SetKeyValue(unsigned int index, double val) override;
49  void SetNumberOfKeyValues(unsigned int num) override;
51 
53 
56  void SetBase(double val);
57  void SetStartPower(double val);
58  void SetEndPower(double val);
60 
62 
65  void SetPhase(double val);
66  void SetFrequency(double val);
67  void SetOffset(double val);
69 
71 
75  vtkSetClampMacro(Type, int, NONE, SINUSOID);
76  vtkGetMacro(Type, int);
77  const char* GetTypeAsString() { return this->GetTypeAsString(this->Type); }
78  static const char* GetTypeAsString(int);
79  static int GetTypeFromString(const char* string);
81 
87  void UpdateValue(double currenttime, vtkPVAnimationCue* cue, vtkPVKeyFrame* next) override;
88 
89 protected:
91  ~vtkPVCompositeKeyFrame() override;
92 
93  int Type;
94 
99 
100 private:
102  void operator=(const vtkPVCompositeKeyFrame&) = delete;
103 };
104 
105 #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:24
virtual void SetKeyValue(double val)
Get/Set the animated value at this key frame.
Definition: vtkPVKeyFrame.h:48
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