Files
viseq/src/graph-item.h
T

37 lines
626 B
C++
Raw Normal View History

2024-10-30 14:55:24 +01:00
#pragma once
#include "raylib.h"
2024-10-30 14:55:24 +01:00
#include "datatypes.h"
#include <memory>
2024-10-30 14:55:24 +01:00
#include <vector>
2024-11-03 03:48:49 +01:00
namespace VISEQ::GRAPH {
class GraphItem{
2024-10-30 14:55:24 +01:00
2024-11-03 03:48:49 +01:00
public:
GraphItem() {newId();}
GraphItem(const GraphItem& G) {
newId();
graphItemType = G.graphItemType;
neighbors = G.neighbors;
}
2024-11-03 03:48:49 +01:00
std::vector<std::shared_ptr<GraphItem>> neighbors;
GraphItemType graphItemType;
int id = 0;
void newId(){
static int _id;
id = _id;
_id++;
}
2024-11-03 03:48:49 +01:00
virtual void draw(Vec2Df mouse, Camera2D cam) {};
virtual GraphItemType getType() {return graphItemType;}
virtual ~GraphItem() = default;
2024-11-03 03:48:49 +01:00
};
2024-11-03 03:48:49 +01:00
}