Loading [MathJax]/extensions/tex2jax.js
ProtoTracer  1.0
Real-time 3D rendering and animation engine
All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros Pages
ArtisansAnimation.h
Go to the documentation of this file.
1#pragma once
2
3#include "Animation.h"
4#include "../Objects/Cube.h"
5#include "../Math/FunctionGenerator.h"
6#include "../Objects/Artisans.h"
7
8class ArtisansAnimation : public Animation{
9private:
10 Artisans artisans;
13
14public:
15 ArtisansAnimation() : Animation(1) {
16 scene->AddObject(artisans.GetObject());
17 }
18
19 void FadeIn(float stepRatio) override {}
20 void FadeOut(float stepRatio) override {}
21
22 void Update(float ratio) override {
24
25 artisans.GetObject()->ResetVertices();
26
27 float scale = fGenPos.Update();
28
29 artisans.GetObject()->GetTransform()->SetRotation(rotation);
30 artisans.GetObject()->GetTransform()->SetScale(Vector3D(scale, scale, scale));
31 artisans.GetObject()->GetTransform()->SetScaleOffset(Vector3D(0.0f, 150.0f, 0.0f));
32 artisans.GetObject()->GetTransform()->SetPosition(Vector3D(0.0f, (1.0f - scale) * 50.0f, 600.0f));
33
34 artisans.GetObject()->UpdateTransform();
35 }
36};
FunctionGenerator fGenPos
void FadeIn(float stepRatio) override
void FadeOut(float stepRatio) override
void Update(float ratio) override
FunctionGenerator fGen
Encapsulates a 3D rotation using Euler angles and a specific order of application.
Definition EulerAngles.h:25
A class to generate various waveform functions with customizable parameters.
@ Sine
Sine waveform.
float Update()
Updates and calculates the next value of the waveform.
A mathematical construct representing a rotation in 3D space.
Definition Quaternion.h:30
Handles 3D rotations and conversions between various rotation representations.
Definition Rotation.h:32
Quaternion GetQuaternion()
Gets the quaternion representation of the rotation.
Definition Rotation.cpp:234
Represents a 3D vector (X, Y, Z) and provides methods for vector arithmetic.
Definition Vector3D.h:26
const EulerOrder EulerOrderXZYS
Order: X → Z → Y, static frame.