2024-10-31 01:43:00 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
2024-11-01 14:08:27 +01:00
|
|
|
#include "datatypes.h"
|
2024-10-31 01:43:00 +01:00
|
|
|
#include "graph-item.h"
|
|
|
|
|
|
|
|
|
|
class Edge : public GraphItem{
|
|
|
|
|
|
|
|
|
|
public:
|
2024-11-01 02:38:47 +01:00
|
|
|
Edge() {}
|
2024-11-01 14:08:27 +01:00
|
|
|
Edge(SPTR_Node start, SPTR_Node end) : start(start), end(end) {}
|
2024-10-31 01:43:00 +01:00
|
|
|
|
2024-11-01 14:08:27 +01:00
|
|
|
SPTR_Node start;
|
|
|
|
|
SPTR_Node end;
|
2024-10-31 01:43:00 +01:00
|
|
|
|
|
|
|
|
bool pass_forward = true;
|
|
|
|
|
bool pass_backward = true;
|
|
|
|
|
|
|
|
|
|
bool active = false;
|
|
|
|
|
bool config = false;
|
|
|
|
|
bool split = false;
|
|
|
|
|
|
|
|
|
|
float connector_offset = 8.0f;
|
|
|
|
|
float switches_offset = 25.0f;
|
|
|
|
|
|
2024-11-01 02:38:47 +01:00
|
|
|
virtual bool GActive() {return active;}
|
|
|
|
|
|
2024-11-01 14:08:27 +01:00
|
|
|
SPTR_Node getNextNode(SPTR_Node origin){
|
2024-10-31 01:43:00 +01:00
|
|
|
return start == origin ? end : start;
|
|
|
|
|
}
|
2024-11-01 02:38:47 +01:00
|
|
|
|
2024-11-02 23:12:38 +01:00
|
|
|
void draw(Vec2Df mouse_pos, Camera2D cam) {}
|
2024-10-31 01:43:00 +01:00
|
|
|
};
|
2024-11-02 15:52:16 +01:00
|
|
|
|
2024-11-02 23:12:38 +01:00
|
|
|
|
|
|
|
|
/*typedef std::shared_ptr<Edge> SPTR_Edge;*/
|
|
|
|
|
/*typedef std::vector<SPTR_Edge> VEC_SPTR_Edge;*/
|
|
|
|
|
|
|
|
|
|
//NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Edge, id, start, end, pass_forward, pass_backward)
|