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

#include <AphoriAnimation.h>

Inheritance diagram for AphoriAnimation:
Collaboration diagram for AphoriAnimation:

Public Member Functions

 AphoriAnimation ()
 
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 UpdateKeyFrameTracks ()
 
void Default ()
 
void Concern ()
 
void Blush ()
 
void Upset ()
 
void Angry ()
 
void Sad ()
 
void Nervous ()
 
void Thrilled ()
 
void Toast ()
 
void Boop ()
 
void SpectrumAnalyzerFace ()
 
void AudioReactiveGradientFace ()
 
void OscilloscopeFace ()
 
void UpdateFFTVisemes ()
 
void SetMaterialColor ()
 

Private Attributes

AphoriFace pM
 
Background background
 
LEDStripBackground ledStripBackground
 
EasyEaseAnimator< 25 > eEA = EasyEaseAnimator<25>(EasyEaseInterpolation::Overshoot, 1.0f, 0.35f)
 
Circle angryEyeCirc = Circle(Vector2D(102.0f, 62.0f), 12.0f)
 
Rectangle toastEyeRect = Rectangle(Vector2D(60.0f, 34.0f), Vector2D(80.0f, 50.0f), 0.0f)
 
Rectangle blushRect = Rectangle(Vector2D(75.0f, 20.0f), Vector2D(40.0f, 15.0f), 0.0f)
 
Rectangle sadRect = Rectangle(Vector2D(75.0f, 18.0f), Vector2D(40.0f, 15.0f), 0.0f)
 
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 pinkMaterial = SimpleMaterial(RGBColor(227, 11, 92))
 
MaterialMask angryEyeMaterial = MaterialMask(&redMaterial, &whiteMaterial, &angryEyeCirc)
 
MaterialMask toastEyeMaterial = MaterialMask(&redMaterial, &whiteMaterial, &toastEyeRect)
 
MaterialMask blushMaterial = MaterialMask(&pinkMaterial, &whiteMaterial, &blushRect)
 
MaterialMask sadMaterial = MaterialMask(&blueMaterial, &whiteMaterial, &sadRect)
 
RGBColor gradientSpectrum [2] = {RGBColor(175, 175, 175), RGBColor(175, 175, 175)}
 
GradientMaterial< 2 > gradientMat = GradientMaterial<2>(gradientSpectrum, 350.0f, false)
 
MaterialAnimator< 15 > 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(192, 96), 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)
 
APDS9960 boop
 
FFTVoiceDetection< 128 > voiceDetection
 
ObjectAlign objA = ObjectAlign(Vector2D(0.0f, 0.0f), Vector2D(189.0f, 93.0f), Quaternion())
 
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 = 12
 

Detailed Description

Definition at line 33 of file AphoriAnimation.h.

Constructor & Destructor Documentation

◆ AphoriAnimation()

Member Function Documentation

◆ Angry()

◆ AudioReactiveGradientFace()

◆ Blush()

◆ Boop()

◆ ChangeInterpolationMethods()

void ChangeInterpolationMethods ( )
inlineprivate

Definition at line 133 of file AphoriAnimation.h.

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

Referenced by AphoriAnimation().

◆ Concern()

void Concern ( )
inlineprivate

Definition at line 177 of file AphoriAnimation.h.

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

Referenced by Update().

◆ Default()

void Default ( )
inlineprivate

Definition at line 173 of file AphoriAnimation.h.

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

Referenced by Update().

◆ FadeIn()

void FadeIn ( float  stepRatio)
inlineoverride

Definition at line 310 of file AphoriAnimation.h.

◆ FadeOut()

void FadeOut ( float  stepRatio)
inlineoverride

Definition at line 311 of file AphoriAnimation.h.

◆ GetAccentBrightness()

uint8_t GetAccentBrightness ( )
inline

Definition at line 302 of file AphoriAnimation.h.

References Menu::GetAccentBrightness().

◆ GetBrightness()

uint8_t GetBrightness ( )
inline

Definition at line 306 of file AphoriAnimation.h.

References Menu::GetBrightness().

◆ GetObject()

Object3D * GetObject ( )
inline

Definition at line 313 of file AphoriAnimation.h.

References pM.

◆ LinkEasyEase()

◆ LinkParameters()

void LinkParameters ( )
inlineprivate

◆ Nervous()

void Nervous ( )
inlineprivate

Definition at line 201 of file AphoriAnimation.h.

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

Referenced by Update().

◆ OscilloscopeFace()

◆ Sad()

◆ SetMaterialColor()

◆ SetMaterialLayers()

◆ SpectrumAnalyzerFace()

◆ Thrilled()

◆ Toast()

◆ Update()

◆ UpdateFFTVisemes()

◆ UpdateKeyFrameTracks()

void UpdateKeyFrameTracks ( )
inlineprivate

Definition at line 169 of file AphoriAnimation.h.

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

Referenced by Update().

◆ Upset()

void Upset ( )
inlineprivate

Definition at line 187 of file AphoriAnimation.h.

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

Referenced by Update().

Member Data Documentation

◆ angryEyeCirc

Circle angryEyeCirc = Circle(Vector2D(102.0f, 62.0f), 12.0f)
private

Definition at line 41 of file AphoriAnimation.h.

◆ angryEyeMaterial

Definition at line 57 of file AphoriAnimation.h.

Referenced by Angry(), and SetMaterialLayers().

◆ aRG

Definition at line 69 of file AphoriAnimation.h.

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

◆ background

Background background
private

Definition at line 37 of file AphoriAnimation.h.

Referenced by AphoriAnimation().

◆ backgroundMaterial

◆ blink

BlinkTrack<1> blink
private

Definition at line 73 of file AphoriAnimation.h.

Referenced by LinkParameters(), and UpdateKeyFrameTracks().

◆ blueMaterial

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

Definition at line 53 of file AphoriAnimation.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ blushMaterial

Definition at line 59 of file AphoriAnimation.h.

Referenced by Blush(), and SetMaterialLayers().

◆ blushRect

Rectangle blushRect = Rectangle(Vector2D(75.0f, 20.0f), Vector2D(40.0f, 15.0f), 0.0f)
private

Definition at line 43 of file AphoriAnimation.h.

◆ boop

APDS9960 boop
private

Definition at line 86 of file AphoriAnimation.h.

Referenced by AphoriAnimation(), and Update().

◆ eEA

◆ faceCount

const uint8_t faceCount = 12
staticprivate

Definition at line 35 of file AphoriAnimation.h.

Referenced by AphoriAnimation().

◆ fGenMatHue

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

Definition at line 80 of file AphoriAnimation.h.

◆ fGenMatPos

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

Definition at line 75 of file AphoriAnimation.h.

◆ fGenMatRMenu

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

Definition at line 84 of file AphoriAnimation.h.

◆ fGenMatXMenu

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

Definition at line 82 of file AphoriAnimation.h.

◆ fGenMatXMove

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

Definition at line 78 of file AphoriAnimation.h.

Referenced by Update().

◆ fGenMatYMenu

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

Definition at line 83 of file AphoriAnimation.h.

◆ fGenMatYMove

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

Definition at line 79 of file AphoriAnimation.h.

Referenced by Update().

◆ fGenRotation

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

Definition at line 76 of file AphoriAnimation.h.

◆ fGenScale

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

Definition at line 77 of file AphoriAnimation.h.

◆ gradientMat

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

Definition at line 63 of file AphoriAnimation.h.

Referenced by SetMaterialLayers().

◆ gradientSpectrum

RGBColor gradientSpectrum[2] = {RGBColor(175, 175, 175), RGBColor(175, 175, 175)}
private

Definition at line 62 of file AphoriAnimation.h.

◆ greenMaterial

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

Definition at line 52 of file AphoriAnimation.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ ledStripBackground

LEDStripBackground ledStripBackground
private

Definition at line 38 of file AphoriAnimation.h.

Referenced by AphoriAnimation().

◆ materialAnimator

MaterialAnimator<15> materialAnimator
private

◆ objA

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

Definition at line 90 of file AphoriAnimation.h.

Referenced by AphoriAnimation(), and Update().

◆ offsetFace

float offsetFace = 0.0f
private

Definition at line 92 of file AphoriAnimation.h.

Referenced by LinkEasyEase(), and Update().

◆ offsetFaceARG

float offsetFaceARG = 0.0f
private

Definition at line 94 of file AphoriAnimation.h.

Referenced by AudioReactiveGradientFace(), and LinkEasyEase().

◆ offsetFaceInd

uint8_t offsetFaceInd = 50
private

◆ offsetFaceIndARG

uint8_t offsetFaceIndARG = 52
private

Definition at line 98 of file AphoriAnimation.h.

Referenced by AudioReactiveGradientFace(), and LinkEasyEase().

◆ offsetFaceIndOSC

uint8_t offsetFaceIndOSC = 53
private

Definition at line 99 of file AphoriAnimation.h.

Referenced by LinkEasyEase(), and OscilloscopeFace().

◆ offsetFaceIndSA

uint8_t offsetFaceIndSA = 51
private

Definition at line 97 of file AphoriAnimation.h.

Referenced by LinkEasyEase(), and SpectrumAnalyzerFace().

◆ offsetFaceOSC

float offsetFaceOSC = 0.0f
private

Definition at line 95 of file AphoriAnimation.h.

Referenced by LinkEasyEase(), and OscilloscopeFace().

◆ offsetFaceSA

float offsetFaceSA = 0.0f
private

Definition at line 93 of file AphoriAnimation.h.

Referenced by LinkEasyEase(), and SpectrumAnalyzerFace().

◆ orangeMaterial

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

Definition at line 50 of file AphoriAnimation.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ oSC

Oscilloscope oSC = Oscilloscope(Vector2D(192, 96), Vector2D(0, 0))
private

Definition at line 70 of file AphoriAnimation.h.

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

◆ pinkMaterial

SimpleMaterial pinkMaterial = SimpleMaterial(RGBColor(227, 11, 92))
private

Definition at line 56 of file AphoriAnimation.h.

Referenced by Boop(), and SetMaterialLayers().

◆ pM

AphoriFace pM
private

Definition at line 36 of file AphoriAnimation.h.

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

◆ purpleMaterial

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

Definition at line 55 of file AphoriAnimation.h.

Referenced by SetMaterialColor().

◆ rainbowNoise

RainbowNoise rainbowNoise
private

Definition at line 47 of file AphoriAnimation.h.

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

◆ rainbowSpiral

RainbowSpiral rainbowSpiral
private

Definition at line 48 of file AphoriAnimation.h.

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

◆ redMaterial

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

Definition at line 49 of file AphoriAnimation.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ sA

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

Definition at line 68 of file AphoriAnimation.h.

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

◆ sadMaterial

Definition at line 60 of file AphoriAnimation.h.

Referenced by Sad(), and SetMaterialLayers().

◆ sadRect

Rectangle sadRect = Rectangle(Vector2D(75.0f, 18.0f), Vector2D(40.0f, 15.0f), 0.0f)
private

Definition at line 44 of file AphoriAnimation.h.

◆ toastEyeMaterial

Definition at line 58 of file AphoriAnimation.h.

Referenced by SetMaterialLayers(), and Toast().

◆ toastEyeRect

Rectangle toastEyeRect = Rectangle(Vector2D(60.0f, 34.0f), Vector2D(80.0f, 50.0f), 0.0f)
private

Definition at line 42 of file AphoriAnimation.h.

◆ voiceDetection

FFTVoiceDetection<128> voiceDetection
private

Definition at line 88 of file AphoriAnimation.h.

Referenced by Update(), and UpdateFFTVisemes().

◆ whiteMaterial

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

Definition at line 51 of file AphoriAnimation.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ yellowMaterial

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

Definition at line 54 of file AphoriAnimation.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().


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