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

#include <GammaProject.h>

Inheritance diagram for GammaAnimation:
Collaboration diagram for GammaAnimation:

Public Member Functions

 GammaAnimation ()
 
void Initialize () override
 
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 OwO ()
 
void Sad ()
 
void Dead ()
 
void Heart ()
 
void OwO2 ()
 
void AlphaGenCircle ()
 
void AngryFace ()
 
void SpectrumAnalyzerFace ()
 
void AudioReactiveGradientFace ()
 
void OscilloscopeFace ()
 
void UpdateFFTVisemes ()
 
void SetMaterialColor ()
 

Private Attributes

GammaFace pM
 
Background background
 
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))
 
RGBColor gradientSpectrum [6] = {RGBColor(255, 0, 0), RGBColor(255, 255, 0), RGBColor(0, 255, 0), RGBColor(0, 255, 255), RGBColor(0, 0, 255), RGBColor(255, 0, 255)}
 
GradientMaterial< 6 > gradientMat = GradientMaterial<6>(gradientSpectrum, 350.0f, false)
 
MaterialAnimator< 10 > materialAnimator
 
MaterialAnimator< 4 > backgroundMaterial
 
SpectrumAnalyzer sA = SpectrumAnalyzer(Vector2D(400, 250), Vector2D(-150, 130), true, true)
 
AudioReactiveGradient aRG = AudioReactiveGradient(Vector2D(160, 160), Vector2D(-200, 100), true, true)
 
Oscilloscope oSC = Oscilloscope(Vector2D(200, 100), Vector2D(-200, 100))
 
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, 5.3f)
 
FunctionGenerator fGenMatYMove = FunctionGenerator(FunctionGenerator::Sine, -2.0f, 2.0f, 6.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)
 
KalmanFilter< 25 > ratioCompensation = KalmanFilter<25>(0.1f)
 
APDS9960 forehead
 
SHARPGP2Y boop = SHARPGP2Y(A9)
 
FFTVoiceDetection< 128 > voiceDetection
 
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
 

Detailed Description

Definition at line 40 of file GammaProject.h.

Constructor & Destructor Documentation

◆ GammaAnimation()

Member Function Documentation

◆ AlphaGenCircle()

void AlphaGenCircle ( )
inlineprivate

◆ AngryFace()

◆ AudioReactiveGradientFace()

◆ ChangeInterpolationMethods()

void ChangeInterpolationMethods ( )
inlineprivate

Definition at line 134 of file GammaProject.h.

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

Referenced by GammaAnimation().

◆ Dead()

◆ Default()

void Default ( )
inlineprivate

◆ FadeIn()

void FadeIn ( float  stepRatio)
inlineoverride

Definition at line 340 of file GammaProject.h.

◆ FadeOut()

void FadeOut ( float  stepRatio)
inlineoverride

Definition at line 341 of file GammaProject.h.

◆ GetObject()

Object3D * GetObject ( )
inline

Definition at line 343 of file GammaProject.h.

References pM.

◆ Heart()

◆ Initialize()

void Initialize ( )
inlineoverride

◆ LinkEasyEase()

◆ LinkParameters()

void LinkParameters ( )
inlineprivate

Definition at line 130 of file GammaProject.h.

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

Referenced by GammaAnimation().

◆ OscilloscopeFace()

◆ OwO()

◆ OwO2()

◆ Sad()

◆ SetMaterialColor()

◆ SetMaterialLayers()

◆ SpectrumAnalyzerFace()

◆ Update()

void Update ( float  ratio)
inlineoverride

Definition at line 347 of file GammaProject.h.

References AlphaGenCircle(), AngryFace(), aRG, AudioReactiveGradientFace(), backgroundMaterial, boop, Dead(), Default(), eEA, fGenMatXMove, fGenMatYMove, KalmanFilter< T >::Filter(), forehead, Menu::GetAccentBrightness(), SerialSync::GetAccentBrightness(), SerialSync::GetBoop(), Menu::GetBrightness(), SerialSync::GetBrightness(), MenuHandler< menuCount >::GetCurrentMenu(), SerialSync::GetCurrentMenu(), SerialSync::GetDead(), Menu::GetFaceColor(), SerialSync::GetFaceColor(), Menu::GetFaceSize(), SerialSync::GetFaceSize(), Menu::GetFaceState(), SerialSync::GetFaceState(), Menu::GetMicLevel(), SerialSync::GetMicLevel(), SerialSync::GetMouthMove(), SerialSync::GetRatio(), APDS9960::GetValue(), Heart(), materialAnimator, Menu::MirrorSpectrumAnalyzer(), SerialSync::MirrorSpectrumAnalyzer(), offsetFace, oSC, OscilloscopeFace(), OwO(), OwO2(), pM, rainbowNoise, rainbowSpiral, ratioCompensation, SerialSync::Read(), sA, Sad(), SerialSync::Send(), Menu::SetAccentBrightness(), SerialSync::SetAccentBrightness(), SerialSync::SetBoop(), Menu::SetBrightness(), SerialSync::SetBrightness(), Menu::SetCurrentMenu(), SerialSync::SetCurrentMenu(), SerialSync::SetDead(), Menu::SetFaceColor(), SerialSync::SetFaceColor(), Menu::SetFaceSize(), SerialSync::SetFaceSize(), Menu::SetFaceState(), SerialSync::SetFaceState(), SpectrumAnalyzer::SetFlipYState(), AudioReactiveGradient::SetHueAngle(), Oscilloscope::SetHueAngle(), SpectrumAnalyzer::SetHueAngle(), SetMaterialColor(), Menu::SetMicLevel(), SerialSync::SetMicLevel(), Menu::SetMirrorSpectrumAnalyzer(), SerialSync::SetMirrorSpectrumAnalyzer(), SpectrumAnalyzer::SetMirrorYState(), SerialSync::SetMode(), SerialSync::SetMouthMove(), AudioReactiveGradient::SetPosition(), Oscilloscope::SetPosition(), Menu::SetPositionOffset(), AudioReactiveGradient::SetRadius(), SerialSync::SetRatio(), AudioReactiveGradient::SetRotation(), Oscilloscope::SetRotation(), AudioReactiveGradient::SetSize(), Oscilloscope::SetSize(), FFTVoiceDetection< peakCount >::SetThreshold(), Menu::SetUseBoopSensor(), SerialSync::SetUseBoopSensor(), Menu::SetUseMicrophone(), SerialSync::SetUseMicrophone(), Menu::ShowMenu(), SpectrumAnalyzerFace(), SHARPGP2Y::Update(), MaterialAnimator< materialCount >::Update(), FunctionGenerator::Update(), EasyEaseAnimator< maxParameters >::Update(), Oscilloscope::Update(), AudioReactiveGradient::Update(), SpectrumAnalyzer::Update(), Menu::Update(), RainbowNoise::Update(), RainbowSpiral::Update(), UpdateFFTVisemes(), UpdateKeyFrameTracks(), Menu::UseBoopSensor(), SerialSync::UseBoopSensor(), Menu::UseMicrophone(), SerialSync::UseMicrophone(), and voiceDetection.

◆ UpdateFFTVisemes()

void UpdateFFTVisemes ( )
inlineprivate

Definition at line 271 of file GammaProject.h.

References FFTVoiceDetection< peakCount >::Update(), Menu::UseMicrophone(), and voiceDetection.

Referenced by Update().

◆ UpdateKeyFrameTracks()

void UpdateKeyFrameTracks ( )
inlineprivate

Definition at line 163 of file GammaProject.h.

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

Referenced by Update().

Member Data Documentation

◆ aRG

AudioReactiveGradient aRG = AudioReactiveGradient(Vector2D(160, 160), Vector2D(-200, 100), true, true)
private

Definition at line 64 of file GammaProject.h.

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

◆ background

Background background
private

Definition at line 43 of file GammaProject.h.

Referenced by GammaAnimation().

◆ backgroundMaterial

◆ blink

BlinkTrack<1> blink
private

◆ blueMaterial

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

Definition at line 53 of file GammaProject.h.

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

◆ boop

SHARPGP2Y boop = SHARPGP2Y(A9)
private

Definition at line 84 of file GammaProject.h.

Referenced by Update().

◆ eEA

◆ fGenMatHue

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

Definition at line 75 of file GammaProject.h.

◆ fGenMatPos

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

Definition at line 70 of file GammaProject.h.

◆ fGenMatRMenu

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

Definition at line 79 of file GammaProject.h.

◆ fGenMatXMenu

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

Definition at line 77 of file GammaProject.h.

◆ fGenMatXMove

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

Definition at line 73 of file GammaProject.h.

Referenced by Update().

◆ fGenMatYMenu

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

Definition at line 78 of file GammaProject.h.

◆ fGenMatYMove

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

Definition at line 74 of file GammaProject.h.

Referenced by Update().

◆ fGenRotation

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

Definition at line 71 of file GammaProject.h.

◆ fGenScale

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

Definition at line 72 of file GammaProject.h.

◆ forehead

APDS9960 forehead
private

Definition at line 83 of file GammaProject.h.

Referenced by Initialize(), and Update().

◆ gradientMat

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

Definition at line 58 of file GammaProject.h.

Referenced by SetMaterialLayers().

◆ gradientSpectrum

RGBColor gradientSpectrum[6] = {RGBColor(255, 0, 0), RGBColor(255, 255, 0), RGBColor(0, 255, 0), RGBColor(0, 255, 255), RGBColor(0, 0, 255), RGBColor(255, 0, 255)}
private

Definition at line 57 of file GammaProject.h.

◆ greenMaterial

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

Definition at line 52 of file GammaProject.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ materialAnimator

MaterialAnimator<10> materialAnimator
private

◆ offsetFace

float offsetFace = 0.0f
private

Definition at line 91 of file GammaProject.h.

Referenced by LinkEasyEase(), and Update().

◆ offsetFaceARG

float offsetFaceARG = 0.0f
private

Definition at line 93 of file GammaProject.h.

Referenced by AudioReactiveGradientFace(), and LinkEasyEase().

◆ offsetFaceInd

uint8_t offsetFaceInd = 50
private

◆ offsetFaceIndARG

uint8_t offsetFaceIndARG = 52
private

Definition at line 97 of file GammaProject.h.

Referenced by AudioReactiveGradientFace(), and LinkEasyEase().

◆ offsetFaceIndOSC

uint8_t offsetFaceIndOSC = 53
private

Definition at line 98 of file GammaProject.h.

Referenced by LinkEasyEase(), and OscilloscopeFace().

◆ offsetFaceIndSA

uint8_t offsetFaceIndSA = 51
private

Definition at line 96 of file GammaProject.h.

Referenced by LinkEasyEase(), and SpectrumAnalyzerFace().

◆ offsetFaceOSC

float offsetFaceOSC = 0.0f
private

Definition at line 94 of file GammaProject.h.

Referenced by LinkEasyEase(), and OscilloscopeFace().

◆ offsetFaceSA

float offsetFaceSA = 0.0f
private

Definition at line 92 of file GammaProject.h.

Referenced by LinkEasyEase(), and SpectrumAnalyzerFace().

◆ orangeMaterial

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

Definition at line 50 of file GammaProject.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ oSC

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

Definition at line 65 of file GammaProject.h.

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

◆ pM

◆ purpleMaterial

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

Definition at line 55 of file GammaProject.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ rainbowNoise

RainbowNoise rainbowNoise
private

Definition at line 47 of file GammaProject.h.

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

◆ rainbowSpiral

RainbowSpiral rainbowSpiral
private

Definition at line 48 of file GammaProject.h.

Referenced by Heart(), OwO(), OwO2(), SetMaterialColor(), SetMaterialLayers(), and Update().

◆ ratioCompensation

KalmanFilter<25> ratioCompensation = KalmanFilter<25>(0.1f)
private

Definition at line 81 of file GammaProject.h.

Referenced by Update().

◆ redMaterial

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

Definition at line 49 of file GammaProject.h.

Referenced by AngryFace(), Dead(), SetMaterialColor(), and SetMaterialLayers().

◆ sA

SpectrumAnalyzer sA = SpectrumAnalyzer(Vector2D(400, 250), Vector2D(-150, 130), true, true)
private

Definition at line 63 of file GammaProject.h.

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

◆ voiceDetection

FFTVoiceDetection<128> voiceDetection
private

Definition at line 89 of file GammaProject.h.

Referenced by Update(), and UpdateFFTVisemes().

◆ whiteMaterial

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

Definition at line 51 of file GammaProject.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ yellowMaterial

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

Definition at line 54 of file GammaProject.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().


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