INET Framework for OMNeT++/OMNEST
inet::visualizer::AnimationSpeedInterpolator Class Reference

#include <AnimationSpeedInterpolator.h>

Public Member Functions

double getCurrentAnimationSpeed () const
 
void setCurrentAnimationSpeed (double currentAnimationSpeed)
 
AnimationPosition::TimeType getTargetType () const
 
double getTargetTime () const
 
double getTargetAnimationSpeed () const
 
void setTargetAnimationSpeed (AnimationPosition::TimeType targetType, double targetTime, double targetAnimationSpeed)
 
void setAnimationSpeed (double animationSpeed)
 

Protected Attributes

double lastAnimationSpeed = NaN
 
AnimationPosition lastAnimationPosition
 
AnimationPosition::TimeType targetType
 
double targetTime = NaN
 
double targetAnimationSpeed = NaN
 

Member Function Documentation

◆ getCurrentAnimationSpeed()

double inet::visualizer::AnimationSpeedInterpolator::getCurrentAnimationSpeed ( ) const
21 {
22  AnimationPosition currentAnimationPosition;
23  double currentTime = currentAnimationPosition.getTime(targetType);
24  if (currentTime >= targetTime)
25  return targetAnimationSpeed;
26  else {
27  double lastTime = lastAnimationPosition.getTime(targetType);
28  double alpha = smootherstep(lastTime, targetTime, currentTime);
30  }
31 }

◆ getTargetAnimationSpeed()

double inet::visualizer::AnimationSpeedInterpolator::getTargetAnimationSpeed ( ) const
inline
35 { return targetAnimationSpeed; }

◆ getTargetTime()

double inet::visualizer::AnimationSpeedInterpolator::getTargetTime ( ) const
inline
33 { return targetTime; }

◆ getTargetType()

AnimationPosition::TimeType inet::visualizer::AnimationSpeedInterpolator::getTargetType ( ) const
inline
32 { return targetType; }

◆ setAnimationSpeed()

void inet::visualizer::AnimationSpeedInterpolator::setAnimationSpeed ( double  animationSpeed)
47 {
48  setCurrentAnimationSpeed(animationSpeed);
50 }

◆ setCurrentAnimationSpeed()

void inet::visualizer::AnimationSpeedInterpolator::setCurrentAnimationSpeed ( double  currentAnimationSpeed)
34 {
35  lastAnimationPosition = AnimationPosition();
36  lastAnimationSpeed = currentAnimationSpeed;
37 }

Referenced by setAnimationSpeed().

◆ setTargetAnimationSpeed()

void inet::visualizer::AnimationSpeedInterpolator::setTargetAnimationSpeed ( AnimationPosition::TimeType  targetType,
double  targetTime,
double  targetAnimationSpeed 
)
40 {
41  this->targetType = targetType;
42  this->targetTime = targetTime;
44 }

Referenced by setAnimationSpeed().

Member Data Documentation

◆ lastAnimationPosition

AnimationPosition inet::visualizer::AnimationSpeedInterpolator::lastAnimationPosition
protected

◆ lastAnimationSpeed

double inet::visualizer::AnimationSpeedInterpolator::lastAnimationSpeed = NaN
protected

◆ targetAnimationSpeed

double inet::visualizer::AnimationSpeedInterpolator::targetAnimationSpeed = NaN
protected

◆ targetTime

double inet::visualizer::AnimationSpeedInterpolator::targetTime = NaN
protected

◆ targetType

AnimationPosition::TimeType inet::visualizer::AnimationSpeedInterpolator::targetType
protected

The documentation for this class was generated from the following files:
inet::visualizer::AnimationSpeedInterpolator::targetAnimationSpeed
double targetAnimationSpeed
Definition: AnimationSpeedInterpolator.h:26
inet::visualizer::AnimationSpeedInterpolator::lastAnimationPosition
AnimationPosition lastAnimationPosition
Definition: AnimationSpeedInterpolator.h:22
inet::visualizer::AnimationSpeedInterpolator::setTargetAnimationSpeed
void setTargetAnimationSpeed(AnimationPosition::TimeType targetType, double targetTime, double targetAnimationSpeed)
Definition: AnimationSpeedInterpolator.cc:39
inet::visualizer::AnimationSpeedInterpolator::lastAnimationSpeed
double lastAnimationSpeed
Definition: AnimationSpeedInterpolator.h:21
inet::visualizer::AnimationSpeedInterpolator::setCurrentAnimationSpeed
void setCurrentAnimationSpeed(double currentAnimationSpeed)
Definition: AnimationSpeedInterpolator.cc:33
inet::visualizer::AnimationSpeedInterpolator::targetTime
double targetTime
Definition: AnimationSpeedInterpolator.h:25
inet::units::constants::alpha
const value< double, units::unit > alpha(7.2973525376e-3)
inet::visualizer::AnimationPosition::REAL_TIME
@ REAL_TIME
Definition: AnimationPosition.h:23
inet::visualizer::AnimationSpeedInterpolator::targetType
AnimationPosition::TimeType targetType
Definition: AnimationSpeedInterpolator.h:24
inet::visualizer::AnimationPosition::getTime
double getTime(TimeType type) const
Definition: AnimationPosition.cc:28