treender/inc/canvas/Tree.hpp
2024-12-21 00:20:43 +01:00

35 lines
466 B
C++

#include <cstdint>
#include <vector>
#include <list>
#include <raylib.h>
#include "values/Dna.hpp"
struct DrawArgs
{
Vector2 start;
float angleDeg;
float lenghth;
int dep;
};
class Tree
{
public:
Tree() = default;
~Tree() = default;
void init(int size);
void draw(Dna *dna);
private:
Dna *m_dna;
int size = 0;
Vector2 start = {0};
std::list<DrawArgs> draw_calls;
void generateBranches();
void drawBranch();
Vector2 drawLine();
};