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

#include <StrawberryAnimation.h>

Inheritance diagram for StrawberryAnimation:
Collaboration diagram for StrawberryAnimation:

Public Member Functions

 StrawberryAnimation ()
 
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 UpdateKeyFrameTracks ()
 
void Default ()
 
void HappyOpen ()
 
void HappyPOG ()
 
void HappyTooth ()
 
void HappyCalm ()
 
void HeartPOG ()
 
void HappyEyeOpen ()
 
void Nervous ()
 
void Blush ()
 
void Stinky ()
 
void SpectrumAnalyzerFace ()
 
void AudioReactiveGradientFace ()
 
void OscilloscopeFace ()
 
void UpdateFFTVisemes ()
 
void SetMaterialColor ()
 

Private Attributes

StrawberryFace pM
 
StrawberryBlush pMBlush
 
StrawberryStinky pMStinky
 
StrawberryTears pMTears
 
Background background
 
LEDStripBackground ledStripBackground
 
Ellipse tongue = Ellipse(Vector2D(100.0f, 5.0f), Vector2D(100.0f, 40.0f), 0.0f)
 
Circle eye = Circle(Vector2D(125.0f, 100.0f), 60.0f)
 
EasyEaseAnimator< 30 > eEA = EasyEaseAnimator<30>(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))
 
SimpleMaterial lightPinkMaterial = SimpleMaterial(RGBColor(251, 50, 219))
 
RGBColor gradientSpectrum [2] = {RGBColor(100, 0, 80), RGBColor(80, 0, 60)}
 
GradientMaterial< 2 > gradientMat = GradientMaterial<2>(gradientSpectrum, 200.0f, false)
 
MaterialMask tongueMask = MaterialMask(&lightPinkMaterial, &gradientMat, &tongue)
 
MaterialMask eyeMask = MaterialMask(&redMaterial, &tongueMask, &eye)
 
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, 2.3f)
 
FunctionGenerator fGenMatYMove = FunctionGenerator(FunctionGenerator::Sine, -2.0f, 2.0f, 2.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 fGenMatStinkY = FunctionGenerator(FunctionGenerator::Sine, 0.0f, 1.0f, 2.3f)
 
FunctionGenerator fGenMatBlushY = FunctionGenerator(FunctionGenerator::Sine, 0.0f, 1.0f, 2.7f)
 
BoopSensor boop
 
FFTVoiceDetection< 128 > voiceDetection
 
ObjectAlign objA = ObjectAlign(Vector2D(0.0f, 0.0f), Vector2D(170.0f, 115.0f), Quaternion())
 
float offsetFace = 0.0f
 
float offsetFaceSA = 0.0f
 
float offsetFaceARG = 0.0f
 
float offsetFaceOSC = 0.0f
 
float showTears = 0.0f
 
float showBlush = 0.0f
 
float showStink = 0.0f
 
uint8_t offsetFaceInd = 50
 
uint8_t offsetFaceIndSA = 51
 
uint8_t offsetFaceIndARG = 52
 
uint8_t offsetFaceIndOSC = 53
 
uint8_t showTearsInd = 54
 
uint8_t showBlushInd = 55
 
uint8_t showStinkInd = 56
 
uint8_t changeEyeColorInd = 57
 

Detailed Description

Definition at line 32 of file StrawberryAnimation.h.

Constructor & Destructor Documentation

◆ StrawberryAnimation()

Member Function Documentation

◆ AudioReactiveGradientFace()

◆ Blush()

◆ ChangeInterpolationMethods()

void ChangeInterpolationMethods ( )
inlineprivate

◆ Default()

◆ FadeIn()

void FadeIn ( float  stepRatio)
inlineoverride

Definition at line 314 of file StrawberryAnimation.h.

◆ FadeOut()

void FadeOut ( float  stepRatio)
inlineoverride

Definition at line 315 of file StrawberryAnimation.h.

◆ GetObject()

Object3D * GetObject ( )
inline

Definition at line 317 of file StrawberryAnimation.h.

References pM.

◆ HappyCalm()

◆ HappyEyeOpen()

void HappyEyeOpen ( )
inlineprivate

◆ HappyOpen()

◆ HappyPOG()

◆ HappyTooth()

◆ HeartPOG()

◆ LinkEasyEase()

◆ LinkParameters()

void LinkParameters ( )
inlineprivate

◆ Nervous()

◆ OscilloscopeFace()

◆ SetMaterialColor()

◆ SetMaterialLayers()

◆ SpectrumAnalyzerFace()

◆ Stinky()

◆ Update()

void Update ( float  ratio)
inlineoverride

◆ UpdateFFTVisemes()

◆ UpdateKeyFrameTracks()

void UpdateKeyFrameTracks ( )
inlineprivate

Definition at line 169 of file StrawberryAnimation.h.

References blink, and AnimationTrack< maxParameters, maxKeyFrames >::Update().

Referenced by Update().

Member Data Documentation

◆ aRG

◆ background

Background background
private

Definition at line 38 of file StrawberryAnimation.h.

Referenced by StrawberryAnimation().

◆ backgroundMaterial

◆ blink

◆ blueMaterial

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

Definition at line 53 of file StrawberryAnimation.h.

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

◆ boop

BoopSensor boop
private

Definition at line 89 of file StrawberryAnimation.h.

Referenced by StrawberryAnimation(), and Update().

◆ changeEyeColorInd

uint8_t changeEyeColorInd = 57
private

Definition at line 109 of file StrawberryAnimation.h.

Referenced by LinkEasyEase(), and Stinky().

◆ eEA

◆ eye

Circle eye = Circle(Vector2D(125.0f, 100.0f), 60.0f)
private

Definition at line 42 of file StrawberryAnimation.h.

◆ eyeMask

Definition at line 62 of file StrawberryAnimation.h.

Referenced by LinkEasyEase(), and SetMaterialLayers().

◆ fGenMatBlushY

FunctionGenerator fGenMatBlushY = FunctionGenerator(FunctionGenerator::Sine, 0.0f, 1.0f, 2.7f)
private

Definition at line 87 of file StrawberryAnimation.h.

Referenced by Update().

◆ fGenMatHue

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

Definition at line 80 of file StrawberryAnimation.h.

◆ fGenMatPos

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

Definition at line 75 of file StrawberryAnimation.h.

◆ fGenMatRMenu

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

Definition at line 84 of file StrawberryAnimation.h.

◆ fGenMatStinkY

FunctionGenerator fGenMatStinkY = FunctionGenerator(FunctionGenerator::Sine, 0.0f, 1.0f, 2.3f)
private

Definition at line 86 of file StrawberryAnimation.h.

Referenced by Update().

◆ fGenMatXMenu

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

Definition at line 82 of file StrawberryAnimation.h.

◆ fGenMatXMove

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

Definition at line 78 of file StrawberryAnimation.h.

Referenced by Update().

◆ fGenMatYMenu

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

Definition at line 83 of file StrawberryAnimation.h.

◆ fGenMatYMove

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

Definition at line 79 of file StrawberryAnimation.h.

Referenced by Update().

◆ fGenRotation

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

Definition at line 76 of file StrawberryAnimation.h.

◆ fGenScale

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

Definition at line 77 of file StrawberryAnimation.h.

◆ gradientMat

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

Definition at line 59 of file StrawberryAnimation.h.

Referenced by StrawberryAnimation().

◆ gradientSpectrum

RGBColor gradientSpectrum[2] = {RGBColor(100, 0, 80), RGBColor(80, 0, 60)}
private

Definition at line 58 of file StrawberryAnimation.h.

◆ greenMaterial

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

Definition at line 52 of file StrawberryAnimation.h.

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

◆ ledStripBackground

LEDStripBackground ledStripBackground
private

Definition at line 39 of file StrawberryAnimation.h.

Referenced by StrawberryAnimation().

◆ lightPinkMaterial

SimpleMaterial lightPinkMaterial = SimpleMaterial(RGBColor(251, 50, 219))
private

Definition at line 56 of file StrawberryAnimation.h.

◆ materialAnimator

MaterialAnimator<10> materialAnimator
private

◆ objA

ObjectAlign objA = ObjectAlign(Vector2D(0.0f, 0.0f), Vector2D(170.0f, 115.0f), Quaternion())
private

Definition at line 93 of file StrawberryAnimation.h.

Referenced by StrawberryAnimation(), and Update().

◆ offsetFace

float offsetFace = 0.0f
private

Definition at line 95 of file StrawberryAnimation.h.

Referenced by LinkEasyEase(), and Update().

◆ offsetFaceARG

float offsetFaceARG = 0.0f
private

Definition at line 97 of file StrawberryAnimation.h.

Referenced by AudioReactiveGradientFace(), and LinkEasyEase().

◆ offsetFaceInd

uint8_t offsetFaceInd = 50
private

◆ offsetFaceIndARG

uint8_t offsetFaceIndARG = 52
private

Definition at line 104 of file StrawberryAnimation.h.

Referenced by AudioReactiveGradientFace(), and LinkEasyEase().

◆ offsetFaceIndOSC

uint8_t offsetFaceIndOSC = 53
private

Definition at line 105 of file StrawberryAnimation.h.

Referenced by LinkEasyEase(), and OscilloscopeFace().

◆ offsetFaceIndSA

uint8_t offsetFaceIndSA = 51
private

Definition at line 103 of file StrawberryAnimation.h.

Referenced by LinkEasyEase(), and SpectrumAnalyzerFace().

◆ offsetFaceOSC

float offsetFaceOSC = 0.0f
private

Definition at line 98 of file StrawberryAnimation.h.

Referenced by LinkEasyEase(), and OscilloscopeFace().

◆ offsetFaceSA

float offsetFaceSA = 0.0f
private

Definition at line 96 of file StrawberryAnimation.h.

Referenced by LinkEasyEase(), and SpectrumAnalyzerFace().

◆ orangeMaterial

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

Definition at line 50 of file StrawberryAnimation.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ oSC

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

Definition at line 70 of file StrawberryAnimation.h.

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

◆ pM

◆ pMBlush

StrawberryBlush pMBlush
private

Definition at line 35 of file StrawberryAnimation.h.

Referenced by StrawberryAnimation(), and Update().

◆ pMStinky

StrawberryStinky pMStinky
private

Definition at line 36 of file StrawberryAnimation.h.

Referenced by StrawberryAnimation(), and Update().

◆ pMTears

StrawberryTears pMTears
private

Definition at line 37 of file StrawberryAnimation.h.

Referenced by StrawberryAnimation(), and Update().

◆ purpleMaterial

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

Definition at line 55 of file StrawberryAnimation.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ rainbowNoise

RainbowNoise rainbowNoise
private

Definition at line 47 of file StrawberryAnimation.h.

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

◆ rainbowSpiral

RainbowSpiral rainbowSpiral
private

Definition at line 48 of file StrawberryAnimation.h.

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

◆ redMaterial

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

Definition at line 49 of file StrawberryAnimation.h.

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

◆ sA

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

Definition at line 68 of file StrawberryAnimation.h.

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

◆ showBlush

float showBlush = 0.0f
private

Definition at line 100 of file StrawberryAnimation.h.

Referenced by LinkEasyEase(), and Update().

◆ showBlushInd

uint8_t showBlushInd = 55
private

Definition at line 107 of file StrawberryAnimation.h.

Referenced by Blush(), and LinkEasyEase().

◆ showStink

float showStink = 0.0f
private

Definition at line 101 of file StrawberryAnimation.h.

Referenced by LinkEasyEase(), and Update().

◆ showStinkInd

uint8_t showStinkInd = 56
private

Definition at line 108 of file StrawberryAnimation.h.

Referenced by LinkEasyEase(), and Stinky().

◆ showTears

float showTears = 0.0f
private

Definition at line 99 of file StrawberryAnimation.h.

Referenced by LinkEasyEase(), and Update().

◆ showTearsInd

uint8_t showTearsInd = 54
private

Definition at line 106 of file StrawberryAnimation.h.

Referenced by LinkEasyEase(), and Nervous().

◆ tongue

Ellipse tongue = Ellipse(Vector2D(100.0f, 5.0f), Vector2D(100.0f, 40.0f), 0.0f)
private

Definition at line 41 of file StrawberryAnimation.h.

◆ tongueMask

Definition at line 61 of file StrawberryAnimation.h.

◆ voiceDetection

FFTVoiceDetection<128> voiceDetection
private

Definition at line 91 of file StrawberryAnimation.h.

Referenced by Update(), and UpdateFFTVisemes().

◆ whiteMaterial

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

Definition at line 51 of file StrawberryAnimation.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ yellowMaterial

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

Definition at line 54 of file StrawberryAnimation.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().


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