2024-10-31 01:43:00 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "graph-item.h"
|
|
|
|
|
#include <memory>
|
|
|
|
|
|
|
|
|
|
class Node;
|
|
|
|
|
|
|
|
|
|
class Edge : public GraphItem{
|
|
|
|
|
|
|
|
|
|
public:
|
2024-11-01 02:38:47 +01:00
|
|
|
Edge() {}
|
2024-10-31 01:43:00 +01:00
|
|
|
Edge(std::shared_ptr<Node> start, std::shared_ptr<Node> end) : start(start), end(end) {}
|
|
|
|
|
|
|
|
|
|
std::shared_ptr<Node> start;
|
|
|
|
|
std::shared_ptr<Node> end;
|
|
|
|
|
|
|
|
|
|
bool pass_forward = true;
|
|
|
|
|
bool pass_backward = true;
|
|
|
|
|
|
|
|
|
|
bool active = false;
|
|
|
|
|
bool remove = 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-10-31 01:43:00 +01:00
|
|
|
std::shared_ptr<Node> getNextNode(std::shared_ptr<Node> origin){
|
|
|
|
|
return start == origin ? end : start;
|
|
|
|
|
}
|
2024-11-01 02:38:47 +01:00
|
|
|
|
|
|
|
|
void draw(Vec2D<float> mouse_pos, Camera2D cam) {
|
|
|
|
|
|
|
|
|
|
}
|
2024-10-31 01:43:00 +01:00
|
|
|
};
|