#include "edge.h" #include #include "node.h" namespace VISEQ::GRAPH::EDGES { bool Edge::GActive() {return active;} EdgeType Edge::getEdgeType() const {return edgeType;} std::weak_ptr Edge::getNextNode(std::weak_ptr origin){ return start.lock() == origin.lock() ? end : start; } void Edge::draw(Vec2Df mouse_pos, Camera2D cam) {} void to_json(json& j, const VISEQ::GRAPH::EDGES::Edge& E){ j = json{{"id",E.id}, {"start", E.start.lock()->id}, {"end",E.end.lock()->id}, {"pass_forward",E.pass_forward}, {"pass_backward", E.pass_backward}}; } void from_json(const json& j, Edge& E){ j.at("id").get_to(E.id); j.at("pass_forward").get_to(E.pass_forward); j.at("pass_backward").get_to(E.pass_backward); } void to_json(json& j, const VISEQ::GRAPH::EDGES::SPTR_Edge& E){ j = *E; } void from_json(const json& j, VISEQ::GRAPH::EDGES::SPTR_Edge& E){ E.reset(new Edge(j.get())); } }