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

#include <XenraxAnimation.h>

Inheritance diagram for XenraxAnimation:
Collaboration diagram for XenraxAnimation:

Public Member Functions

 XenraxAnimation ()
 
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 Battery ()
 
void Boop ()
 
void Angry ()
 
void Hypno ()
 
void Hearts ()
 
void Sleeping ()
 
void Dead ()
 
void BSOD ()
 
void SpectrumAnalyzerFace ()
 
void AudioReactiveGradientFace ()
 
void OscilloscopeFace ()
 
void UpdateFFTVisemes ()
 
void SetMaterialColor ()
 

Private Attributes

XenraxFace pM
 
Background background
 
LEDStripBackgroundWS35 ledStripBackground
 
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 pinkMaterial = SimpleMaterial(RGBColor(255, 100, 200))
 
RGBColor gradientSpectrum [2] = {RGBColor(85, 243, 226), RGBColor(67, 192, 178)}
 
GradientMaterial< 2 > gradientMat = GradientMaterial<2>(gradientSpectrum, 350.0f, false)
 
RGBColor batterySpectrum [2] = {RGBColor(253, 0, 99), RGBColor(82, 246, 229)}
 
GradientMaterial< 2 > batteryGrad = GradientMaterial<2>(batterySpectrum, 350.0f, false)
 
RGBColor audioSpectrum [3] = {RGBColor(255, 165, 0), RGBColor(128, 0, 128), RGBColor(0, 255, 65)}
 
GradientMaterial< 3 > audioGrad = GradientMaterial<3>(audioSpectrum, 350.0f, false)
 
MaterialAnimator< 15 > materialAnimator
 
MaterialAnimator< 5 > 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 fGenBattery = FunctionGenerator(FunctionGenerator::Sawtooth, 1.0f, 0.0f, 5.0f)
 
FunctionGenerator fGenMove = FunctionGenerator(FunctionGenerator::Sine, 0.0f, 1.0f, 2.0f)
 
FunctionGenerator fGenBlur = FunctionGenerator(FunctionGenerator::Sine, 0.0f, 1.0f, 1.5f)
 
APDS9960 boop
 
MMC56X3 magnetometer
 
FFTVoiceDetection< 128 > voiceDetection
 
ObjectAlign objA = ObjectAlign(Vector2D(0.0f, 0.0f), Vector2D(170.0f, 125.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)
 
Test screenspaceTest = Test()
 
float offsetFace = 0.0f
 
float offsetFaceSA = 0.0f
 
float offsetFaceARG = 0.0f
 
float offsetFaceOSC = 0.0f
 
float magnetSK = 0.0f
 
uint8_t offsetFaceInd = 50
 
uint8_t offsetFaceIndSA = 51
 
uint8_t offsetFaceIndARG = 52
 
uint8_t offsetFaceIndOSC = 53
 
uint8_t magnetSKInd = 54
 

Static Private Attributes

static const uint8_t faceCount = 9
 

Detailed Description

Definition at line 46 of file XenraxAnimation.h.

Constructor & Destructor Documentation

◆ XenraxAnimation()

Member Function Documentation

◆ Angry()

◆ AudioReactiveGradientFace()

◆ Battery()

◆ Boop()

◆ BSOD()

◆ ChangeInterpolationMethods()

void ChangeInterpolationMethods ( )
inlineprivate

◆ Dead()

◆ Default()

void Default ( )
inlineprivate

Definition at line 208 of file XenraxAnimation.h.

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

Referenced by Update().

◆ FadeIn()

void FadeIn ( float  stepRatio)
inlineoverride

Definition at line 398 of file XenraxAnimation.h.

◆ FadeOut()

void FadeOut ( float  stepRatio)
inlineoverride

Definition at line 399 of file XenraxAnimation.h.

◆ GetAccentBrightness()

uint8_t GetAccentBrightness ( )
inline

Definition at line 390 of file XenraxAnimation.h.

References Menu::GetAccentBrightness().

◆ GetBrightness()

uint8_t GetBrightness ( )
inline

Definition at line 394 of file XenraxAnimation.h.

References Menu::GetBrightness().

◆ GetObject()

Object3D * GetObject ( )
inline

Definition at line 401 of file XenraxAnimation.h.

References pM.

◆ Hearts()

◆ Hypno()

◆ LinkEasyEase()

◆ LinkParameters()

void LinkParameters ( )
inlineprivate

◆ OscilloscopeFace()

◆ SetMaterialColor()

◆ SetMaterialLayers()

◆ Sleeping()

◆ SpectrumAnalyzerFace()

◆ Update()

void Update ( float  ratio)
inlineoverride

Definition at line 405 of file XenraxAnimation.h.

References EasyEaseAnimator< maxParameters >::AddParameterFrame(), ObjectAlign::AlignObjects(), Angry(), aRG, audioGrad, AudioReactiveGradientFace(), backgroundMaterial, Battery(), blurH, blurR, blurV, boop, Boop(), BSOD(), Dead(), Default(), eEA, fGenBlur, fGenMatXMove, fGenMatYMove, fisheye, Menu::GetFaceSize(), Menu::GetFaceState(), Menu::GetMicLevel(), GradientMaterial< colorCount >::GradientShift(), Hearts(), Hypno(), APDS9960::isBooped(), magnet, magnetSKInd, materialAnimator, Menu::MirrorSpectrumAnalyzer(), objA, offsetFace, oSC, OscilloscopeFace(), phaseR, phaseX, phaseY, pM, rainbowNoise, rainbowSpiral, sA, ObjectAlign::SetCameraMax(), ObjectAlign::SetEdgeMargin(), SpectrumAnalyzer::SetFlipYState(), AudioReactiveGradient::SetHueAngle(), Oscilloscope::SetHueAngle(), SpectrumAnalyzer::SetHueAngle(), SetMaterialColor(), SpectrumAnalyzer::SetMirrorYState(), ObjectAlign::SetPlaneOffsetAngle(), AudioReactiveGradient::SetPosition(), Oscilloscope::SetPosition(), Magnet::SetPosition(), AudioReactiveGradient::SetRadius(), Effect::SetRatio(), AudioReactiveGradient::SetRotation(), AudioReactiveGradient::SetSize(), Oscilloscope::SetSize(), FFTVoiceDetection< peakCount >::SetThreshold(), shiftR, Menu::ShowMenu(), Sleeping(), SpectrumAnalyzerFace(), MaterialAnimator< materialCount >::Update(), FunctionGenerator::Update(), EasyEaseAnimator< maxParameters >::Update(), Oscilloscope::Update(), AudioReactiveGradient::Update(), SpectrumAnalyzer::Update(), Menu::Update(), RainbowNoise::Update(), RainbowSpiral::Update(), UpdateFFTVisemes(), UpdateKeyFrameTracks(), Menu::UseBoopSensor(), voiceDetection, Vector3D::X, and Vector3D::Y.

◆ UpdateFFTVisemes()

◆ UpdateKeyFrameTracks()

void UpdateKeyFrameTracks ( )
inlineprivate

Definition at line 204 of file XenraxAnimation.h.

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

Referenced by Update().

Member Data Documentation

◆ aRG

Definition at line 79 of file XenraxAnimation.h.

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

◆ audioGrad

◆ audioSpectrum

RGBColor audioSpectrum[3] = {RGBColor(255, 165, 0), RGBColor(128, 0, 128), RGBColor(0, 255, 65)}
private

Definition at line 72 of file XenraxAnimation.h.

◆ background

Background background
private

Definition at line 50 of file XenraxAnimation.h.

Referenced by XenraxAnimation().

◆ backgroundMaterial

◆ batteryGrad

GradientMaterial<2> batteryGrad = GradientMaterial<2>(batterySpectrum, 350.0f, false)
private

Definition at line 70 of file XenraxAnimation.h.

Referenced by Battery(), and SetMaterialLayers().

◆ batterySpectrum

RGBColor batterySpectrum[2] = {RGBColor(253, 0, 99), RGBColor(82, 246, 229)}
private

Definition at line 69 of file XenraxAnimation.h.

◆ blink

◆ blueMaterial

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

Definition at line 61 of file XenraxAnimation.h.

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

◆ blurH

HorizontalBlur blurH = HorizontalBlur(8)
private

Definition at line 110 of file XenraxAnimation.h.

Referenced by Update().

◆ blurR

RadialBlur blurR = RadialBlur(8)
private

Definition at line 113 of file XenraxAnimation.h.

Referenced by Update().

◆ blurV

VerticalBlur blurV = VerticalBlur(8)
private

Definition at line 111 of file XenraxAnimation.h.

Referenced by Update().

◆ boop

APDS9960 boop
private

Definition at line 101 of file XenraxAnimation.h.

Referenced by Update(), and XenraxAnimation().

◆ eEA

◆ faceCount

const uint8_t faceCount = 9
staticprivate

Definition at line 48 of file XenraxAnimation.h.

◆ fGenBattery

FunctionGenerator fGenBattery = FunctionGenerator(FunctionGenerator::Sawtooth, 1.0f, 0.0f, 5.0f)
private

Definition at line 96 of file XenraxAnimation.h.

Referenced by Battery().

◆ fGenBlur

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

Definition at line 99 of file XenraxAnimation.h.

Referenced by Update().

◆ fGenMatHue

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

Definition at line 90 of file XenraxAnimation.h.

◆ fGenMatPos

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

Definition at line 85 of file XenraxAnimation.h.

◆ fGenMatRMenu

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

Definition at line 94 of file XenraxAnimation.h.

◆ fGenMatXMenu

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

Definition at line 92 of file XenraxAnimation.h.

◆ fGenMatXMove

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

Definition at line 88 of file XenraxAnimation.h.

Referenced by Update().

◆ fGenMatYMenu

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

Definition at line 93 of file XenraxAnimation.h.

◆ fGenMatYMove

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

Definition at line 89 of file XenraxAnimation.h.

Referenced by Update().

◆ fGenMove

FunctionGenerator fGenMove = FunctionGenerator(FunctionGenerator::Sine, 0.0f, 1.0f, 2.0f)
private

Definition at line 97 of file XenraxAnimation.h.

Referenced by Hearts(), Hypno(), and Sleeping().

◆ fGenRotation

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

Definition at line 86 of file XenraxAnimation.h.

◆ fGenScale

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

Definition at line 87 of file XenraxAnimation.h.

◆ fisheye

Fisheye fisheye = Fisheye()
private

Definition at line 108 of file XenraxAnimation.h.

Referenced by Update().

◆ glitchX

GlitchX glitchX = GlitchX(30)
private

Definition at line 109 of file XenraxAnimation.h.

◆ gradientMat

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

Definition at line 67 of file XenraxAnimation.h.

Referenced by SetMaterialLayers().

◆ gradientSpectrum

RGBColor gradientSpectrum[2] = {RGBColor(85, 243, 226), RGBColor(67, 192, 178)}
private

Definition at line 66 of file XenraxAnimation.h.

◆ greenMaterial

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

Definition at line 60 of file XenraxAnimation.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ ledStripBackground

LEDStripBackgroundWS35 ledStripBackground
private

Definition at line 51 of file XenraxAnimation.h.

Referenced by XenraxAnimation().

◆ magnet

Magnet magnet = Magnet()
private

Definition at line 112 of file XenraxAnimation.h.

Referenced by BSOD(), Hypno(), and Update().

◆ magnetometer

MMC56X3 magnetometer
private

Definition at line 102 of file XenraxAnimation.h.

◆ magnetSK

float magnetSK = 0.0f
private

Definition at line 125 of file XenraxAnimation.h.

Referenced by LinkEasyEase().

◆ magnetSKInd

uint8_t magnetSKInd = 54
private

Definition at line 130 of file XenraxAnimation.h.

Referenced by ChangeInterpolationMethods(), LinkEasyEase(), and Update().

◆ materialAnimator

◆ objA

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

Definition at line 106 of file XenraxAnimation.h.

Referenced by Update(), and XenraxAnimation().

◆ offsetFace

float offsetFace = 0.0f
private

Definition at line 121 of file XenraxAnimation.h.

Referenced by LinkEasyEase(), and Update().

◆ offsetFaceARG

float offsetFaceARG = 0.0f
private

Definition at line 123 of file XenraxAnimation.h.

Referenced by AudioReactiveGradientFace(), and LinkEasyEase().

◆ offsetFaceInd

uint8_t offsetFaceInd = 50
private

◆ offsetFaceIndARG

uint8_t offsetFaceIndARG = 52
private

Definition at line 128 of file XenraxAnimation.h.

Referenced by AudioReactiveGradientFace(), and LinkEasyEase().

◆ offsetFaceIndOSC

uint8_t offsetFaceIndOSC = 53
private

Definition at line 129 of file XenraxAnimation.h.

Referenced by LinkEasyEase(), and OscilloscopeFace().

◆ offsetFaceIndSA

uint8_t offsetFaceIndSA = 51
private

Definition at line 127 of file XenraxAnimation.h.

Referenced by LinkEasyEase(), and SpectrumAnalyzerFace().

◆ offsetFaceOSC

float offsetFaceOSC = 0.0f
private

Definition at line 124 of file XenraxAnimation.h.

Referenced by LinkEasyEase(), and OscilloscopeFace().

◆ offsetFaceSA

float offsetFaceSA = 0.0f
private

Definition at line 122 of file XenraxAnimation.h.

Referenced by LinkEasyEase(), and SpectrumAnalyzerFace().

◆ orangeMaterial

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

Definition at line 58 of file XenraxAnimation.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ oSC

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

Definition at line 80 of file XenraxAnimation.h.

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

◆ overflow

Overflow overflow = Overflow(8)
private

Definition at line 118 of file XenraxAnimation.h.

◆ phaseR

PhaseOffsetR phaseR = PhaseOffsetR(8)
private

Definition at line 116 of file XenraxAnimation.h.

Referenced by Update().

◆ phaseX

PhaseOffsetX phaseX = PhaseOffsetX(8)
private

Definition at line 114 of file XenraxAnimation.h.

Referenced by Update().

◆ phaseY

PhaseOffsetY phaseY = PhaseOffsetY(8)
private

Definition at line 115 of file XenraxAnimation.h.

Referenced by Update().

◆ pinkMaterial

SimpleMaterial pinkMaterial = SimpleMaterial(RGBColor(255, 100, 200))
private

Definition at line 64 of file XenraxAnimation.h.

Referenced by Boop(), Hypno(), and SetMaterialLayers().

◆ pM

XenraxFace pM
private

Definition at line 49 of file XenraxAnimation.h.

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

◆ purpleMaterial

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

Definition at line 63 of file XenraxAnimation.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().

◆ rainbowNoise

RainbowNoise rainbowNoise
private

Definition at line 55 of file XenraxAnimation.h.

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

◆ rainbowSpiral

RainbowSpiral rainbowSpiral
private

Definition at line 56 of file XenraxAnimation.h.

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

◆ redMaterial

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

Definition at line 57 of file XenraxAnimation.h.

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

◆ sA

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

Definition at line 78 of file XenraxAnimation.h.

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

◆ screenspaceTest

Test screenspaceTest = Test()
private

Definition at line 119 of file XenraxAnimation.h.

◆ shiftR

ShiftR shiftR = ShiftR(8)
private

Definition at line 117 of file XenraxAnimation.h.

Referenced by Update().

◆ voiceDetection

FFTVoiceDetection<128> voiceDetection
private

Definition at line 104 of file XenraxAnimation.h.

Referenced by Update(), and UpdateFFTVisemes().

◆ whiteMaterial

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

Definition at line 59 of file XenraxAnimation.h.

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

◆ yellowMaterial

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

Definition at line 62 of file XenraxAnimation.h.

Referenced by SetMaterialColor(), and SetMaterialLayers().


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