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

#include <ProtogenSplitHUB75Project.h>

Inheritance diagram for HUB75AnimationSplit:
Collaboration diagram for HUB75AnimationSplit:

Public Member Functions

 HUB75AnimationSplit ()
 
void Initialize () override
 
void FadeIn (float stepRatio) override
 
void FadeOut (float stepRatio) override
 
Object3DGetObject ()
 
void SetCameraMirror (bool mirror)
 
void Update (float ratio) override
 

Private Member Functions

void LinkEasyEase ()
 
void LinkParameters ()
 
void ChangeInterpolationMethods ()
 
void SetMaterialLayers ()
 
void UpdateKeyFrameTracks ()
 
void Default ()
 
void Angry ()
 
void Sad ()
 
void Surprised ()
 
void Doubt ()
 
void Frown ()
 
void LookUp ()
 
void LookDown ()
 
void SpectrumAnalyzerFace ()
 
void AudioReactiveGradientFace ()
 
void OscilloscopeFace ()
 
void UpdateFFTVisemes ()
 
void SetMaterialColor ()
 

Private Attributes

NukudeFace pM
 
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(255, 0, 0), RGBColor(0, 0, 255)}
 
GradientMaterial< 2 > gradientMat = GradientMaterial<2>(gradientSpectrum, 350.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, 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)
 
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
 
bool mirror = false
 

Detailed Description

Definition at line 30 of file ProtogenSplitHUB75Project.h.

Constructor & Destructor Documentation

◆ HUB75AnimationSplit()

Member Function Documentation

◆ Angry()

◆ AudioReactiveGradientFace()

◆ ChangeInterpolationMethods()

void ChangeInterpolationMethods ( )
inlineprivate

◆ Default()

void Default ( )
inlineprivate

Definition at line 155 of file ProtogenSplitHUB75Project.h.

Referenced by Update().

◆ Doubt()

void Doubt ( )
inlineprivate

Definition at line 174 of file ProtogenSplitHUB75Project.h.

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

Referenced by Update().

◆ FadeIn()

void FadeIn ( float  stepRatio)
inlineoverride

Definition at line 273 of file ProtogenSplitHUB75Project.h.

◆ FadeOut()

void FadeOut ( float  stepRatio)
inlineoverride

Definition at line 274 of file ProtogenSplitHUB75Project.h.

◆ Frown()

void Frown ( )
inlineprivate

Definition at line 178 of file ProtogenSplitHUB75Project.h.

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

Referenced by Update().

◆ GetObject()

Object3D * GetObject ( )
inline

Definition at line 276 of file ProtogenSplitHUB75Project.h.

References pM.

◆ Initialize()

void Initialize ( )
inlineoverride

Definition at line 265 of file ProtogenSplitHUB75Project.h.

References boop, Menu::Initialize(), and APDS9960::Initialize().

◆ LinkEasyEase()

◆ LinkParameters()

void LinkParameters ( )
inlineprivate

◆ LookDown()

void LookDown ( )
inlineprivate

◆ LookUp()

void LookUp ( )
inlineprivate

Definition at line 182 of file ProtogenSplitHUB75Project.h.

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

Referenced by Update().

◆ OscilloscopeFace()

◆ Sad()

◆ SetCameraMirror()

void SetCameraMirror ( bool  mirror)
inline

Definition at line 280 of file ProtogenSplitHUB75Project.h.

References mirror.

◆ SetMaterialColor()

◆ SetMaterialLayers()

◆ SpectrumAnalyzerFace()

◆ Surprised()

◆ Update()

void Update ( float  ratio)
inlineoverride

Definition at line 284 of file ProtogenSplitHUB75Project.h.

References ObjectAlign::AlignObjects(), Angry(), aRG, AudioReactiveGradientFace(), backgroundMaterial, boop, Default(), Doubt(), eEA, fGenMatXMove, fGenMatYMove, Frown(), Menu::GetFaceSize(), Menu::GetFaceState(), Menu::GetHueB(), Menu::GetHueF(), gradientMat, gradientSpectrum, RGBColor::HueShift(), APDS9960::isBooped(), LookUp(), materialAnimator, mirror, Menu::MirrorSpectrumAnalyzer(), objA, offsetFace, oSC, OscilloscopeFace(), pM, rainbowNoise, rainbowSpiral, sA, Sad(), ObjectAlign::SetCameraMax(), ObjectAlign::SetEdgeMargin(), SpectrumAnalyzer::SetFlipYState(), AudioReactiveGradient::SetHueAngle(), Oscilloscope::SetHueAngle(), SpectrumAnalyzer::SetHueAngle(), SetMaterialColor(), SpectrumAnalyzer::SetMirrorYState(), ObjectAlign::SetPlaneOffsetAngle(), AudioReactiveGradient::SetPosition(), Oscilloscope::SetPosition(), AudioReactiveGradient::SetRadius(), AudioReactiveGradient::SetRotation(), AudioReactiveGradient::SetSize(), Oscilloscope::SetSize(), Menu::ShowMenu(), SpectrumAnalyzerFace(), Surprised(), MaterialAnimator< materialCount >::Update(), FunctionGenerator::Update(), EasyEaseAnimator< maxParameters >::Update(), Oscilloscope::Update(), AudioReactiveGradient::Update(), SpectrumAnalyzer::Update(), Menu::Update(), RainbowNoise::Update(), RainbowSpiral::Update(), UpdateFFTVisemes(), GradientMaterial< colorCount >::UpdateGradient(), UpdateKeyFrameTracks(), GradientMaterial< colorCount >::UpdateRGB(), and Menu::UseBoopSensor().

◆ UpdateFFTVisemes()

◆ UpdateKeyFrameTracks()

void UpdateKeyFrameTracks ( )
inlineprivate

Definition at line 151 of file ProtogenSplitHUB75Project.h.

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

Referenced by Update().

Member Data Documentation

◆ aRG

◆ background

Background background
private

Definition at line 33 of file ProtogenSplitHUB75Project.h.

Referenced by HUB75AnimationSplit().

◆ backgroundMaterial

◆ blink

BlinkTrack<1> blink
private

Definition at line 59 of file ProtogenSplitHUB75Project.h.

Referenced by LinkParameters(), and UpdateKeyFrameTracks().

◆ blueMaterial

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

Definition at line 44 of file ProtogenSplitHUB75Project.h.

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

◆ boop

APDS9960 boop
private

Definition at line 72 of file ProtogenSplitHUB75Project.h.

Referenced by Initialize(), and Update().

◆ eEA

◆ fGenMatHue

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

Definition at line 66 of file ProtogenSplitHUB75Project.h.

◆ fGenMatPos

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

Definition at line 61 of file ProtogenSplitHUB75Project.h.

◆ fGenMatRMenu

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

Definition at line 70 of file ProtogenSplitHUB75Project.h.

◆ fGenMatXMenu

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

Definition at line 68 of file ProtogenSplitHUB75Project.h.

◆ fGenMatXMove

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

Definition at line 64 of file ProtogenSplitHUB75Project.h.

Referenced by Update().

◆ fGenMatYMenu

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

Definition at line 69 of file ProtogenSplitHUB75Project.h.

◆ fGenMatYMove

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

Definition at line 65 of file ProtogenSplitHUB75Project.h.

Referenced by Update().

◆ fGenRotation

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

Definition at line 62 of file ProtogenSplitHUB75Project.h.

◆ fGenScale

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

Definition at line 63 of file ProtogenSplitHUB75Project.h.

◆ gradientMat

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

Definition at line 49 of file ProtogenSplitHUB75Project.h.

Referenced by SetMaterialLayers(), and Update().

◆ gradientSpectrum

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

Definition at line 48 of file ProtogenSplitHUB75Project.h.

Referenced by Update().

◆ greenMaterial

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

Definition at line 43 of file ProtogenSplitHUB75Project.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ ledStripBackground

LEDStripBackground ledStripBackground
private

Definition at line 34 of file ProtogenSplitHUB75Project.h.

Referenced by HUB75AnimationSplit().

◆ materialAnimator

MaterialAnimator<10> materialAnimator
private

◆ mirror

bool mirror = false
private

Definition at line 86 of file ProtogenSplitHUB75Project.h.

Referenced by SetCameraMirror(), and Update().

◆ objA

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

Definition at line 76 of file ProtogenSplitHUB75Project.h.

Referenced by HUB75AnimationSplit(), and Update().

◆ offsetFace

float offsetFace = 0.0f
private

Definition at line 78 of file ProtogenSplitHUB75Project.h.

Referenced by LinkEasyEase(), and Update().

◆ offsetFaceARG

float offsetFaceARG = 0.0f
private

Definition at line 80 of file ProtogenSplitHUB75Project.h.

Referenced by AudioReactiveGradientFace(), and LinkEasyEase().

◆ offsetFaceInd

uint8_t offsetFaceInd = 50
private

◆ offsetFaceIndARG

uint8_t offsetFaceIndARG = 52
private

Definition at line 84 of file ProtogenSplitHUB75Project.h.

Referenced by AudioReactiveGradientFace(), and LinkEasyEase().

◆ offsetFaceIndOSC

uint8_t offsetFaceIndOSC = 53
private

Definition at line 85 of file ProtogenSplitHUB75Project.h.

Referenced by LinkEasyEase(), and OscilloscopeFace().

◆ offsetFaceIndSA

uint8_t offsetFaceIndSA = 51
private

Definition at line 83 of file ProtogenSplitHUB75Project.h.

Referenced by LinkEasyEase(), and SpectrumAnalyzerFace().

◆ offsetFaceOSC

float offsetFaceOSC = 0.0f
private

Definition at line 81 of file ProtogenSplitHUB75Project.h.

Referenced by LinkEasyEase(), and OscilloscopeFace().

◆ offsetFaceSA

float offsetFaceSA = 0.0f
private

Definition at line 79 of file ProtogenSplitHUB75Project.h.

Referenced by LinkEasyEase(), and SpectrumAnalyzerFace().

◆ orangeMaterial

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

Definition at line 41 of file ProtogenSplitHUB75Project.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ oSC

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

Definition at line 56 of file ProtogenSplitHUB75Project.h.

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

◆ pM

◆ purpleMaterial

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

Definition at line 46 of file ProtogenSplitHUB75Project.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ rainbowNoise

RainbowNoise rainbowNoise
private

Definition at line 38 of file ProtogenSplitHUB75Project.h.

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

◆ rainbowSpiral

RainbowSpiral rainbowSpiral
private

Definition at line 39 of file ProtogenSplitHUB75Project.h.

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

◆ redMaterial

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

Definition at line 40 of file ProtogenSplitHUB75Project.h.

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

◆ sA

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

Definition at line 54 of file ProtogenSplitHUB75Project.h.

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

◆ voiceDetection

FFTVoiceDetection<128> voiceDetection
private

Definition at line 74 of file ProtogenSplitHUB75Project.h.

Referenced by UpdateFFTVisemes().

◆ whiteMaterial

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

Definition at line 42 of file ProtogenSplitHUB75Project.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ yellowMaterial

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

Definition at line 45 of file ProtogenSplitHUB75Project.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().


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