ProtoTracer  1.0
Real-time 3D rendering and animation engine
Loading...
Searching...
No Matches
TamamoAnimation Class Reference

#include <TamamoAnimation.h>

Inheritance diagram for TamamoAnimation:
Collaboration diagram for TamamoAnimation:

Public Member Functions

 TamamoAnimation ()
 
uint8_t GetAccentBrightness ()
 
uint8_t GetBrightness ()
 
void FadeIn (float stepRatio) override
 
void FadeOut (float stepRatio) override
 
Object3DGetObject ()
 
void Update (float ratio) override
 

Private Member Functions

void LinkEasyEase ()
 
void LinkParameters ()
 
void ChangeInterpolationMethods ()
 
void SetMaterialLayers ()
 
void AddBotFinKeyFrames ()
 
void UpdateKeyFrameTracks ()
 
void Default ()
 
void Angry ()
 
void Upset ()
 
void Sleepy ()
 
void Boop ()
 
void Confuse ()
 
void Error ()
 
void Loading ()
 
void Happy ()
 
void SpectrumAnalyzerFace ()
 
void AudioReactiveGradientFace ()
 
void OscilloscopeFace ()
 
void UpdateFFTVisemes ()
 
void SetMaterialColor ()
 
void UpdateKeyframeTracks ()
 

Private Attributes

TamamoFace pM
 
TamamoSec rear
 
Background background
 
LEDStripBackground ledStripBackground
 
EasyEaseAnimator< 25 > eEA = EasyEaseAnimator<25>(EasyEaseInterpolation::Overshoot, 1.0f, 0.35f)
 
RainbowNoise rainbowNoise
 
RainbowSpiral rainbowSpiral
 
SimpleMaterial redMaterial = SimpleMaterial(RGBColor(255, 0, 0))
 
SimpleMaterial orangeMaterial = SimpleMaterial(RGBColor(255, 165, 0))
 
SimpleMaterial whiteMaterial = SimpleMaterial(RGBColor(255, 255, 255))
 
SimpleMaterial greenMaterial = SimpleMaterial(RGBColor(0, 255, 0))
 
SimpleMaterial blueMaterial = SimpleMaterial(RGBColor(0, 0, 255))
 
SimpleMaterial yellowMaterial = SimpleMaterial(RGBColor(255, 255, 0))
 
SimpleMaterial purpleMaterial = SimpleMaterial(RGBColor(255, 0, 255))
 
RGBColor gradientSpectrum [2] = {RGBColor(253, 81, 27), RGBColor(255, 96, 27)}
 
GradientMaterial< 2 > gradientMat = GradientMaterial<2>(gradientSpectrum, 450.0f, false)
 
MaterialAnimator< 10 > materialAnimator
 
MaterialAnimator< 4 > backgroundMaterial
 
SpectrumAnalyzer sA = SpectrumAnalyzer(Vector2D(200, 100), Vector2D(100, 50), true, true)
 
AudioReactiveGradient aRG = AudioReactiveGradient(Vector2D(160, 160), Vector2D(0, 0), true, true)
 
Oscilloscope oSC = Oscilloscope(Vector2D(200, 100), Vector2D(0, 0))
 
BlinkTrack< 1 > blink
 
FunctionGenerator fGenMatPos = FunctionGenerator(FunctionGenerator::Sine, -10.0f, 10.0f, 4.0f)
 
FunctionGenerator fGenRotation = FunctionGenerator(FunctionGenerator::Sine, -30.0f, 30.0f, 2.6f)
 
FunctionGenerator fGenScale = FunctionGenerator(FunctionGenerator::Sine, 3.0f, 8.0f, 4.2f)
 
FunctionGenerator fGenMatXMove = FunctionGenerator(FunctionGenerator::Sine, -2.0f, 2.0f, 1.3f)
 
FunctionGenerator fGenMatYMove = FunctionGenerator(FunctionGenerator::Sine, -2.0f, 2.0f, 1.7f)
 
FunctionGenerator fGenMatHue = FunctionGenerator(FunctionGenerator::Triangle, 0.0f, 360.0f, 17.3f)
 
FunctionGenerator fGenMatXMenu = FunctionGenerator(FunctionGenerator::Sine, -10.0f, 10.0f, 1.1f)
 
FunctionGenerator fGenMatYMenu = FunctionGenerator(FunctionGenerator::Sine, -10.0f, 10.0f, 2.7f)
 
FunctionGenerator fGenMatRMenu = FunctionGenerator(FunctionGenerator::Sine, -5.0f, 5.0f, 1.7f)
 
FunctionGenerator fGenBlur = FunctionGenerator(FunctionGenerator::Sine, 0.0f, 1.0f, 1.5f)
 
KeyFrameTrack< 1, 10 > hTrack = KeyFrameTrack<1, 10>(0.0f, 1.0f, KeyFrameInterpolation::Cosine)
 
KeyFrameTrack< 1, 10 > lTrack = KeyFrameTrack<1, 10>(0.0f, 1.0f, KeyFrameInterpolation::Cosine)
 
APDS9960 boop
 
FFTVoiceDetection< 128 > voiceDetection
 
ObjectAlign objA = ObjectAlign(Vector2D(0.0f, 0.0f), Vector2D(189.0f, 93.0f), Quaternion())
 
ObjectAlign objARear = ObjectAlign(Vector2D(0.0f, 0.0f), Vector2D(189.0f, 93.0f), Quaternion())
 
Fisheye fisheye = Fisheye()
 
GlitchX glitchX = GlitchX(30)
 
HorizontalBlur blurH = HorizontalBlur(8)
 
VerticalBlur blurV = VerticalBlur(8)
 
Magnet magnet = Magnet()
 
RadialBlur blurR = RadialBlur(8)
 
PhaseOffsetX phaseX = PhaseOffsetX(8)
 
PhaseOffsetY phaseY = PhaseOffsetY(8)
 
PhaseOffsetR phaseR = PhaseOffsetR(8)
 
ShiftR shiftR = ShiftR(8)
 
Overflow overflow = Overflow(8)
 
float offsetFace = 0.0f
 
float offsetFaceSA = 0.0f
 
float offsetFaceARG = 0.0f
 
float offsetFaceOSC = 0.0f
 
uint8_t offsetFaceInd = 50
 
uint8_t offsetFaceIndSA = 51
 
uint8_t offsetFaceIndARG = 52
 
uint8_t offsetFaceIndOSC = 53
 

Static Private Attributes

static const uint8_t faceCount = 9
 

Detailed Description

Definition at line 43 of file TamamoAnimation.h.

Constructor & Destructor Documentation

◆ TamamoAnimation()

Member Function Documentation

◆ AddBotFinKeyFrames()

void AddBotFinKeyFrames ( )
inlineprivate

◆ Angry()

◆ AudioReactiveGradientFace()

◆ Boop()

◆ ChangeInterpolationMethods()

void ChangeInterpolationMethods ( )
inlineprivate

Definition at line 152 of file TamamoAnimation.h.

References eEA, and EasyEaseAnimator< maxParameters >::SetInterpolationMethod().

Referenced by TamamoAnimation().

◆ Confuse()

void Confuse ( )
inlineprivate

Definition at line 241 of file TamamoAnimation.h.

References EasyEaseAnimator< maxParameters >::AddParameterFrame(), and eEA.

Referenced by Update().

◆ Default()

void Default ( )
inlineprivate

Definition at line 216 of file TamamoAnimation.h.

Referenced by Update().

◆ Error()

void Error ( )
inlineprivate

Definition at line 245 of file TamamoAnimation.h.

References EasyEaseAnimator< maxParameters >::AddParameterFrame(), and eEA.

Referenced by Update().

◆ FadeIn()

void FadeIn ( float  stepRatio)
inlineoverride

Definition at line 358 of file TamamoAnimation.h.

◆ FadeOut()

void FadeOut ( float  stepRatio)
inlineoverride

Definition at line 359 of file TamamoAnimation.h.

◆ GetAccentBrightness()

uint8_t GetAccentBrightness ( )
inline

Definition at line 350 of file TamamoAnimation.h.

References Menu::GetAccentBrightness().

◆ GetBrightness()

uint8_t GetBrightness ( )
inline

Definition at line 354 of file TamamoAnimation.h.

References Menu::GetBrightness().

◆ GetObject()

Object3D * GetObject ( )
inline

Definition at line 361 of file TamamoAnimation.h.

References pM.

◆ Happy()

void Happy ( )
inlineprivate

Definition at line 253 of file TamamoAnimation.h.

References EasyEaseAnimator< maxParameters >::AddParameterFrame(), and eEA.

Referenced by Update().

◆ LinkEasyEase()

◆ LinkParameters()

◆ Loading()

void Loading ( )
inlineprivate

Definition at line 249 of file TamamoAnimation.h.

References EasyEaseAnimator< maxParameters >::AddParameterFrame(), and eEA.

Referenced by Update().

◆ OscilloscopeFace()

◆ SetMaterialColor()

◆ SetMaterialLayers()

◆ Sleepy()

void Sleepy ( )
inlineprivate

Definition at line 229 of file TamamoAnimation.h.

References EasyEaseAnimator< maxParameters >::AddParameterFrame(), and eEA.

Referenced by Update().

◆ SpectrumAnalyzerFace()

◆ Update()

void Update ( float  ratio)
inlineoverride

Definition at line 365 of file TamamoAnimation.h.

References ObjectAlign::AlignObjectNoScale(), ObjectAlign::AlignObjects(), Angry(), aRG, AudioReactiveGradientFace(), backgroundMaterial, blurH, blurR, blurV, boop, Boop(), Confuse(), Default(), eEA, Error(), fGenBlur, fGenMatXMove, fGenMatYMove, fisheye, Menu::GetFaceSize(), Menu::GetFaceState(), Menu::GetMicLevel(), Happy(), APDS9960::isBooped(), Loading(), magnet, materialAnimator, Menu::MirrorSpectrumAnalyzer(), objA, objARear, offsetFace, oSC, OscilloscopeFace(), phaseR, phaseX, phaseY, pM, rainbowNoise, rainbowSpiral, rear, sA, ObjectAlign::SetCameraMax(), ObjectAlign::SetEdgeMargin(), SpectrumAnalyzer::SetFlipYState(), AudioReactiveGradient::SetHueAngle(), Oscilloscope::SetHueAngle(), SpectrumAnalyzer::SetHueAngle(), SetMaterialColor(), SpectrumAnalyzer::SetMirrorYState(), ObjectAlign::SetPlaneOffsetAngle(), AudioReactiveGradient::SetPosition(), Oscilloscope::SetPosition(), AudioReactiveGradient::SetRadius(), Effect::SetRatio(), AudioReactiveGradient::SetRotation(), AudioReactiveGradient::SetSize(), Oscilloscope::SetSize(), FFTVoiceDetection< peakCount >::SetThreshold(), shiftR, Menu::ShowMenu(), Sleepy(), SpectrumAnalyzerFace(), MaterialAnimator< materialCount >::Update(), FunctionGenerator::Update(), EasyEaseAnimator< maxParameters >::Update(), Oscilloscope::Update(), AudioReactiveGradient::Update(), SpectrumAnalyzer::Update(), Menu::Update(), RainbowNoise::Update(), RainbowSpiral::Update(), UpdateFFTVisemes(), UpdateKeyFrameTracks(), Upset(), Menu::UseBoopSensor(), and voiceDetection.

◆ UpdateFFTVisemes()

◆ UpdateKeyFrameTracks()

void UpdateKeyFrameTracks ( )
inlineprivate

◆ UpdateKeyframeTracks()

void UpdateKeyframeTracks ( )
inlineprivate

◆ Upset()

void Upset ( )
inlineprivate

Definition at line 225 of file TamamoAnimation.h.

References EasyEaseAnimator< maxParameters >::AddParameterFrame(), and eEA.

Referenced by Update().

Member Data Documentation

◆ aRG

Definition at line 70 of file TamamoAnimation.h.

Referenced by AudioReactiveGradientFace(), SetMaterialLayers(), and Update().

◆ background

Background background
private

Definition at line 48 of file TamamoAnimation.h.

Referenced by TamamoAnimation().

◆ backgroundMaterial

◆ blink

BlinkTrack<1> blink
private

Definition at line 74 of file TamamoAnimation.h.

Referenced by LinkParameters(), and UpdateKeyFrameTracks().

◆ blueMaterial

SimpleMaterial blueMaterial = SimpleMaterial(RGBColor(0, 0, 255))
private

Definition at line 59 of file TamamoAnimation.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ blurH

HorizontalBlur blurH = HorizontalBlur(8)
private

Definition at line 101 of file TamamoAnimation.h.

Referenced by Update().

◆ blurR

RadialBlur blurR = RadialBlur(8)
private

Definition at line 104 of file TamamoAnimation.h.

Referenced by Update().

◆ blurV

VerticalBlur blurV = VerticalBlur(8)
private

Definition at line 102 of file TamamoAnimation.h.

Referenced by Update().

◆ boop

APDS9960 boop
private

Definition at line 92 of file TamamoAnimation.h.

Referenced by TamamoAnimation(), and Update().

◆ eEA

◆ faceCount

const uint8_t faceCount = 9
staticprivate

Definition at line 45 of file TamamoAnimation.h.

◆ fGenBlur

FunctionGenerator fGenBlur = FunctionGenerator(FunctionGenerator::Sine, 0.0f, 1.0f, 1.5f)
private

Definition at line 87 of file TamamoAnimation.h.

Referenced by Update().

◆ fGenMatHue

FunctionGenerator fGenMatHue = FunctionGenerator(FunctionGenerator::Triangle, 0.0f, 360.0f, 17.3f)
private

Definition at line 81 of file TamamoAnimation.h.

◆ fGenMatPos

FunctionGenerator fGenMatPos = FunctionGenerator(FunctionGenerator::Sine, -10.0f, 10.0f, 4.0f)
private

Definition at line 76 of file TamamoAnimation.h.

◆ fGenMatRMenu

FunctionGenerator fGenMatRMenu = FunctionGenerator(FunctionGenerator::Sine, -5.0f, 5.0f, 1.7f)
private

Definition at line 85 of file TamamoAnimation.h.

◆ fGenMatXMenu

FunctionGenerator fGenMatXMenu = FunctionGenerator(FunctionGenerator::Sine, -10.0f, 10.0f, 1.1f)
private

Definition at line 83 of file TamamoAnimation.h.

◆ fGenMatXMove

FunctionGenerator fGenMatXMove = FunctionGenerator(FunctionGenerator::Sine, -2.0f, 2.0f, 1.3f)
private

Definition at line 79 of file TamamoAnimation.h.

Referenced by Update().

◆ fGenMatYMenu

FunctionGenerator fGenMatYMenu = FunctionGenerator(FunctionGenerator::Sine, -10.0f, 10.0f, 2.7f)
private

Definition at line 84 of file TamamoAnimation.h.

◆ fGenMatYMove

FunctionGenerator fGenMatYMove = FunctionGenerator(FunctionGenerator::Sine, -2.0f, 2.0f, 1.7f)
private

Definition at line 80 of file TamamoAnimation.h.

Referenced by Update().

◆ fGenRotation

FunctionGenerator fGenRotation = FunctionGenerator(FunctionGenerator::Sine, -30.0f, 30.0f, 2.6f)
private

Definition at line 77 of file TamamoAnimation.h.

◆ fGenScale

FunctionGenerator fGenScale = FunctionGenerator(FunctionGenerator::Sine, 3.0f, 8.0f, 4.2f)
private

Definition at line 78 of file TamamoAnimation.h.

◆ fisheye

Fisheye fisheye = Fisheye()
private

Definition at line 99 of file TamamoAnimation.h.

Referenced by Update().

◆ glitchX

GlitchX glitchX = GlitchX(30)
private

Definition at line 100 of file TamamoAnimation.h.

Referenced by Boop().

◆ gradientMat

GradientMaterial<2> gradientMat = GradientMaterial<2>(gradientSpectrum, 450.0f, false)
private

Definition at line 64 of file TamamoAnimation.h.

Referenced by SetMaterialLayers().

◆ gradientSpectrum

RGBColor gradientSpectrum[2] = {RGBColor(253, 81, 27), RGBColor(255, 96, 27)}
private

Definition at line 63 of file TamamoAnimation.h.

◆ greenMaterial

SimpleMaterial greenMaterial = SimpleMaterial(RGBColor(0, 255, 0))
private

Definition at line 58 of file TamamoAnimation.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ hTrack

KeyFrameTrack<1, 10> hTrack = KeyFrameTrack<1, 10>(0.0f, 1.0f, KeyFrameInterpolation::Cosine)
private

◆ ledStripBackground

LEDStripBackground ledStripBackground
private

Definition at line 49 of file TamamoAnimation.h.

Referenced by TamamoAnimation().

◆ lTrack

KeyFrameTrack<1, 10> lTrack = KeyFrameTrack<1, 10>(0.0f, 1.0f, KeyFrameInterpolation::Cosine)
private

◆ magnet

Magnet magnet = Magnet()
private

Definition at line 103 of file TamamoAnimation.h.

Referenced by Update().

◆ materialAnimator

MaterialAnimator<10> materialAnimator
private

◆ objA

ObjectAlign objA = ObjectAlign(Vector2D(0.0f, 0.0f), Vector2D(189.0f, 93.0f), Quaternion())
private

Definition at line 96 of file TamamoAnimation.h.

Referenced by TamamoAnimation(), and Update().

◆ objARear

ObjectAlign objARear = ObjectAlign(Vector2D(0.0f, 0.0f), Vector2D(189.0f, 93.0f), Quaternion())
private

Definition at line 97 of file TamamoAnimation.h.

Referenced by TamamoAnimation(), and Update().

◆ offsetFace

float offsetFace = 0.0f
private

Definition at line 111 of file TamamoAnimation.h.

Referenced by LinkEasyEase(), and Update().

◆ offsetFaceARG

float offsetFaceARG = 0.0f
private

Definition at line 113 of file TamamoAnimation.h.

Referenced by AudioReactiveGradientFace(), and LinkEasyEase().

◆ offsetFaceInd

uint8_t offsetFaceInd = 50
private

◆ offsetFaceIndARG

uint8_t offsetFaceIndARG = 52
private

Definition at line 117 of file TamamoAnimation.h.

Referenced by AudioReactiveGradientFace(), and LinkEasyEase().

◆ offsetFaceIndOSC

uint8_t offsetFaceIndOSC = 53
private

Definition at line 118 of file TamamoAnimation.h.

Referenced by LinkEasyEase(), and OscilloscopeFace().

◆ offsetFaceIndSA

uint8_t offsetFaceIndSA = 51
private

Definition at line 116 of file TamamoAnimation.h.

Referenced by LinkEasyEase(), and SpectrumAnalyzerFace().

◆ offsetFaceOSC

float offsetFaceOSC = 0.0f
private

Definition at line 114 of file TamamoAnimation.h.

Referenced by LinkEasyEase(), and OscilloscopeFace().

◆ offsetFaceSA

float offsetFaceSA = 0.0f
private

Definition at line 112 of file TamamoAnimation.h.

Referenced by LinkEasyEase(), and SpectrumAnalyzerFace().

◆ orangeMaterial

SimpleMaterial orangeMaterial = SimpleMaterial(RGBColor(255, 165, 0))
private

Definition at line 56 of file TamamoAnimation.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ oSC

Oscilloscope oSC = Oscilloscope(Vector2D(200, 100), Vector2D(0, 0))
private

Definition at line 71 of file TamamoAnimation.h.

Referenced by OscilloscopeFace(), SetMaterialLayers(), and Update().

◆ overflow

Overflow overflow = Overflow(8)
private

Definition at line 109 of file TamamoAnimation.h.

◆ phaseR

PhaseOffsetR phaseR = PhaseOffsetR(8)
private

Definition at line 107 of file TamamoAnimation.h.

Referenced by Update().

◆ phaseX

PhaseOffsetX phaseX = PhaseOffsetX(8)
private

Definition at line 105 of file TamamoAnimation.h.

Referenced by Update().

◆ phaseY

PhaseOffsetY phaseY = PhaseOffsetY(8)
private

Definition at line 106 of file TamamoAnimation.h.

Referenced by Update().

◆ pM

TamamoFace pM
private

Definition at line 46 of file TamamoAnimation.h.

Referenced by GetObject(), LinkEasyEase(), LinkParameters(), TamamoAnimation(), and Update().

◆ purpleMaterial

SimpleMaterial purpleMaterial = SimpleMaterial(RGBColor(255, 0, 255))
private

Definition at line 61 of file TamamoAnimation.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ rainbowNoise

RainbowNoise rainbowNoise
private

Definition at line 53 of file TamamoAnimation.h.

Referenced by SetMaterialColor(), SetMaterialLayers(), and Update().

◆ rainbowSpiral

RainbowSpiral rainbowSpiral
private

Definition at line 54 of file TamamoAnimation.h.

Referenced by Boop(), SetMaterialColor(), SetMaterialLayers(), and Update().

◆ rear

TamamoSec rear
private

Definition at line 47 of file TamamoAnimation.h.

Referenced by LinkParameters(), TamamoAnimation(), and Update().

◆ redMaterial

SimpleMaterial redMaterial = SimpleMaterial(RGBColor(255, 0, 0))
private

Definition at line 55 of file TamamoAnimation.h.

Referenced by Angry(), SetMaterialColor(), and SetMaterialLayers().

◆ sA

SpectrumAnalyzer sA = SpectrumAnalyzer(Vector2D(200, 100), Vector2D(100, 50), true, true)
private

Definition at line 69 of file TamamoAnimation.h.

Referenced by SetMaterialLayers(), SpectrumAnalyzerFace(), and Update().

◆ shiftR

ShiftR shiftR = ShiftR(8)
private

Definition at line 108 of file TamamoAnimation.h.

Referenced by Update().

◆ voiceDetection

FFTVoiceDetection<128> voiceDetection
private

Definition at line 94 of file TamamoAnimation.h.

Referenced by Update(), and UpdateFFTVisemes().

◆ whiteMaterial

SimpleMaterial whiteMaterial = SimpleMaterial(RGBColor(255, 255, 255))
private

Definition at line 57 of file TamamoAnimation.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ yellowMaterial

SimpleMaterial yellowMaterial = SimpleMaterial(RGBColor(255, 255, 0))
private

Definition at line 60 of file TamamoAnimation.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().


The documentation for this class was generated from the following file: