#pragma once #include "graph-item.h" #include #include "node.h" using namespace VISEQ::GRAPH; namespace VISEQ::GRAPH::EDGES { class Edge : public GraphItem{ public: Edge() {} Edge(std::shared_ptr start, std::shared_ptr end) : start(start), end(end) {} std::shared_ptr start; std::shared_ptr end; EdgeType edgeType; bool pass_forward = true; bool pass_backward = true; bool active = false; bool config = false; bool split = false; float speed = 0; float bpm = 120.0f; float connector_offset = 8.0f; float switches_offset = 25.0f; virtual bool GActive() {return active;} std::shared_ptr getNextNode(std::shared_ptr origin){ return start == origin ? end : start; } void draw(Vec2Df mouse_pos, Camera2D cam) {} }; typedef std::shared_ptr SPTR_Edge; typedef std::vector VEC_SPTR_Edge; }