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

#include <SammyAnimation.h>

Inheritance diagram for SammyAnimation:
Collaboration diagram for SammyAnimation:

Public Member Functions

 SammyAnimation ()
 
uint8_t GetAccentBrightness ()
 
uint8_t GetBrightness ()
 
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 warmWhite = SimpleMaterial(RGBColor(247, 237, 237))
 
SimpleMaterial redMaterial = SimpleMaterial(RGBColor(255, 0, 0))
 
SimpleMaterial blueMaterial = SimpleMaterial(RGBColor(0, 0, 255))
 
RGBColor tealPinkSpectrum [2] = {RGBColor(250, 105, 206), RGBColor(5, 225, 245)}
 
GradientMaterial< 2 > tealPinkMat = GradientMaterial<2>(tealPinkSpectrum, 250.0f, false)
 
RGBColor heterochromiaSpectrum [2] = {RGBColor(58, 254, 80), RGBColor(29, 128, 20)}
 
GradientMaterial< 2 > heterochromiaMat = GradientMaterial<2>(heterochromiaSpectrum, 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)
 
FunctionGenerator fGenBlur = FunctionGenerator(FunctionGenerator::Sine, 0.0f, 1.0f, 1.5f)
 
FunctionGenerator fGenSpiral = FunctionGenerator(FunctionGenerator::Sawtooth, 0.0f, 1.0f, 4.0f)
 
APDS9960 boop
 
FFTVoiceDetection< 128 > voiceDetection
 
ObjectAlign objA = 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
 
bool mirror = false
 

Static Private Attributes

static const uint8_t faceCount = 9
 

Detailed Description

Definition at line 42 of file SammyAnimation.h.

Constructor & Destructor Documentation

◆ SammyAnimation()

Member Function Documentation

◆ Angry()

◆ AudioReactiveGradientFace()

◆ ChangeInterpolationMethods()

void ChangeInterpolationMethods ( )
inlineprivate

Definition at line 147 of file SammyAnimation.h.

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

Referenced by SammyAnimation().

◆ Default()

void Default ( )
inlineprivate

Definition at line 181 of file SammyAnimation.h.

Referenced by Update().

◆ Doubt()

void Doubt ( )
inlineprivate

Definition at line 205 of file SammyAnimation.h.

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

Referenced by Update().

◆ FadeIn()

void FadeIn ( float  stepRatio)
inlineoverride

Definition at line 310 of file SammyAnimation.h.

◆ FadeOut()

void FadeOut ( float  stepRatio)
inlineoverride

Definition at line 311 of file SammyAnimation.h.

◆ Frown()

void Frown ( )
inlineprivate

Definition at line 209 of file SammyAnimation.h.

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

Referenced by Update().

◆ GetAccentBrightness()

uint8_t GetAccentBrightness ( )
inline

Definition at line 302 of file SammyAnimation.h.

References Menu::GetAccentBrightness().

◆ GetBrightness()

uint8_t GetBrightness ( )
inline

Definition at line 306 of file SammyAnimation.h.

References Menu::GetBrightness().

◆ GetObject()

Object3D * GetObject ( )
inline

Definition at line 313 of file SammyAnimation.h.

References pM.

◆ LinkEasyEase()

◆ LinkParameters()

void LinkParameters ( )
inlineprivate

◆ LookDown()

void LookDown ( )
inlineprivate

◆ LookUp()

void LookUp ( )
inlineprivate

Definition at line 213 of file SammyAnimation.h.

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

Referenced by Update().

◆ OscilloscopeFace()

◆ Sad()

◆ SetCameraMirror()

void SetCameraMirror ( bool  mirror)
inline

Definition at line 317 of file SammyAnimation.h.

References mirror.

◆ SetMaterialColor()

◆ SetMaterialLayers()

◆ SpectrumAnalyzerFace()

◆ Surprised()

◆ Update()

void Update ( float  ratio)
inlineoverride

Definition at line 321 of file SammyAnimation.h.

References ObjectAlign::AlignObjects(), Angry(), aRG, AudioReactiveGradientFace(), backgroundMaterial, blurH, blurR, blurV, boop, Default(), Doubt(), eEA, fGenBlur, fGenMatXMove, fGenMatYMove, fGenSpiral, fisheye, Frown(), Menu::GetFaceSize(), Menu::GetFaceState(), Menu::GetMicLevel(), heterochromiaMat, heterochromiaSpectrum, APDS9960::isBooped(), LookUp(), magnet, materialAnimator, mirror, Menu::MirrorSpectrumAnalyzer(), objA, offsetFace, oSC, OscilloscopeFace(), phaseR, phaseX, phaseY, pM, rainbowNoise, rainbowSpiral, sA, Sad(), ObjectAlign::SetCameraMax(), RGBColor::SetColor(), 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(), SpectrumAnalyzerFace(), Surprised(), MaterialAnimator< materialCount >::Update(), FunctionGenerator::Update(), EasyEaseAnimator< maxParameters >::Update(), Oscilloscope::Update(), AudioReactiveGradient::Update(), SpectrumAnalyzer::Update(), Menu::Update(), RainbowNoise::Update(), RainbowSpiral::Update(), UpdateFFTVisemes(), UpdateKeyFrameTracks(), GradientMaterial< colorCount >::UpdateRGB(), Menu::UseBoopSensor(), and voiceDetection.

◆ UpdateFFTVisemes()

◆ UpdateKeyFrameTracks()

void UpdateKeyFrameTracks ( )
inlineprivate

Definition at line 177 of file SammyAnimation.h.

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

Referenced by Update().

Member Data Documentation

◆ aRG

Definition at line 67 of file SammyAnimation.h.

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

◆ background

Background background
private

Definition at line 46 of file SammyAnimation.h.

Referenced by SammyAnimation().

◆ backgroundMaterial

◆ blink

BlinkTrack<1> blink
private

Definition at line 71 of file SammyAnimation.h.

Referenced by LinkParameters(), and UpdateKeyFrameTracks().

◆ blueMaterial

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

Definition at line 55 of file SammyAnimation.h.

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

◆ blurH

HorizontalBlur blurH = HorizontalBlur(8)
private

Definition at line 96 of file SammyAnimation.h.

Referenced by Update().

◆ blurR

RadialBlur blurR = RadialBlur(8)
private

Definition at line 99 of file SammyAnimation.h.

Referenced by Update().

◆ blurV

VerticalBlur blurV = VerticalBlur(8)
private

Definition at line 97 of file SammyAnimation.h.

Referenced by Update().

◆ boop

APDS9960 boop
private

Definition at line 88 of file SammyAnimation.h.

Referenced by SammyAnimation(), and Update().

◆ eEA

◆ faceCount

const uint8_t faceCount = 9
staticprivate

Definition at line 44 of file SammyAnimation.h.

◆ fGenBlur

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

Definition at line 84 of file SammyAnimation.h.

Referenced by Update().

◆ fGenMatHue

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

Definition at line 78 of file SammyAnimation.h.

◆ fGenMatPos

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

Definition at line 73 of file SammyAnimation.h.

◆ fGenMatRMenu

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

Definition at line 82 of file SammyAnimation.h.

◆ fGenMatXMenu

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

Definition at line 80 of file SammyAnimation.h.

◆ fGenMatXMove

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

Definition at line 76 of file SammyAnimation.h.

Referenced by Update().

◆ fGenMatYMenu

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

Definition at line 81 of file SammyAnimation.h.

◆ fGenMatYMove

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

Definition at line 77 of file SammyAnimation.h.

Referenced by Update().

◆ fGenRotation

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

Definition at line 74 of file SammyAnimation.h.

◆ fGenScale

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

Definition at line 75 of file SammyAnimation.h.

◆ fGenSpiral

FunctionGenerator fGenSpiral = FunctionGenerator(FunctionGenerator::Sawtooth, 0.0f, 1.0f, 4.0f)
private

Definition at line 86 of file SammyAnimation.h.

Referenced by Update().

◆ fisheye

Fisheye fisheye = Fisheye()
private

Definition at line 94 of file SammyAnimation.h.

Referenced by Update().

◆ glitchX

GlitchX glitchX = GlitchX(30)
private

Definition at line 95 of file SammyAnimation.h.

Referenced by Surprised().

◆ heterochromiaMat

GradientMaterial<2> heterochromiaMat = GradientMaterial<2>(heterochromiaSpectrum, 350.0f, false)
private

Definition at line 61 of file SammyAnimation.h.

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

◆ heterochromiaSpectrum

RGBColor heterochromiaSpectrum[2] = {RGBColor(58, 254, 80), RGBColor(29, 128, 20)}
private

Definition at line 60 of file SammyAnimation.h.

Referenced by Update().

◆ ledStripBackground

LEDStripBackground ledStripBackground
private

Definition at line 47 of file SammyAnimation.h.

Referenced by SammyAnimation().

◆ magnet

Magnet magnet = Magnet()
private

Definition at line 98 of file SammyAnimation.h.

Referenced by Update().

◆ materialAnimator

MaterialAnimator<10> materialAnimator
private

◆ mirror

bool mirror = false
private

Definition at line 114 of file SammyAnimation.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 92 of file SammyAnimation.h.

Referenced by SammyAnimation(), and Update().

◆ offsetFace

float offsetFace = 0.0f
private

Definition at line 106 of file SammyAnimation.h.

Referenced by LinkEasyEase(), and Update().

◆ offsetFaceARG

float offsetFaceARG = 0.0f
private

Definition at line 108 of file SammyAnimation.h.

Referenced by AudioReactiveGradientFace(), and LinkEasyEase().

◆ offsetFaceInd

uint8_t offsetFaceInd = 50
private

◆ offsetFaceIndARG

uint8_t offsetFaceIndARG = 52
private

Definition at line 112 of file SammyAnimation.h.

Referenced by AudioReactiveGradientFace(), and LinkEasyEase().

◆ offsetFaceIndOSC

uint8_t offsetFaceIndOSC = 53
private

Definition at line 113 of file SammyAnimation.h.

Referenced by LinkEasyEase(), and OscilloscopeFace().

◆ offsetFaceIndSA

uint8_t offsetFaceIndSA = 51
private

Definition at line 111 of file SammyAnimation.h.

Referenced by LinkEasyEase(), and SpectrumAnalyzerFace().

◆ offsetFaceOSC

float offsetFaceOSC = 0.0f
private

Definition at line 109 of file SammyAnimation.h.

Referenced by LinkEasyEase(), and OscilloscopeFace().

◆ offsetFaceSA

float offsetFaceSA = 0.0f
private

Definition at line 107 of file SammyAnimation.h.

Referenced by LinkEasyEase(), and SpectrumAnalyzerFace().

◆ oSC

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

Definition at line 68 of file SammyAnimation.h.

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

◆ overflow

Overflow overflow = Overflow(8)
private

Definition at line 104 of file SammyAnimation.h.

◆ phaseR

PhaseOffsetR phaseR = PhaseOffsetR(8)
private

Definition at line 102 of file SammyAnimation.h.

Referenced by Update().

◆ phaseX

PhaseOffsetX phaseX = PhaseOffsetX(8)
private

Definition at line 100 of file SammyAnimation.h.

Referenced by Update().

◆ phaseY

PhaseOffsetY phaseY = PhaseOffsetY(8)
private

Definition at line 101 of file SammyAnimation.h.

Referenced by Update().

◆ pM

NukudeFace pM
private

Definition at line 45 of file SammyAnimation.h.

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

◆ rainbowNoise

RainbowNoise rainbowNoise
private

Definition at line 51 of file SammyAnimation.h.

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

◆ rainbowSpiral

RainbowSpiral rainbowSpiral
private

Definition at line 52 of file SammyAnimation.h.

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

◆ redMaterial

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

Definition at line 54 of file SammyAnimation.h.

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

◆ sA

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

Definition at line 66 of file SammyAnimation.h.

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

◆ shiftR

ShiftR shiftR = ShiftR(8)
private

Definition at line 103 of file SammyAnimation.h.

Referenced by Update().

◆ tealPinkMat

GradientMaterial<2> tealPinkMat = GradientMaterial<2>(tealPinkSpectrum, 250.0f, false)
private

Definition at line 58 of file SammyAnimation.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ tealPinkSpectrum

RGBColor tealPinkSpectrum[2] = {RGBColor(250, 105, 206), RGBColor(5, 225, 245)}
private

Definition at line 57 of file SammyAnimation.h.

◆ voiceDetection

FFTVoiceDetection<128> voiceDetection
private

Definition at line 90 of file SammyAnimation.h.

Referenced by Update(), and UpdateFFTVisemes().

◆ warmWhite

SimpleMaterial warmWhite = SimpleMaterial(RGBColor(247, 237, 237))
private

Definition at line 53 of file SammyAnimation.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().


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