Connecting works again (almost). Connectors need to be copied when splitting edges.
This commit is contained in:
+3
-6
@@ -59,8 +59,9 @@ namespace VISEQ::GRAPH {
|
||||
return nodes.size();
|
||||
}
|
||||
|
||||
void addMidiNode(Vec2Df position){
|
||||
void createMidiNode(Vec2Df position){
|
||||
nodes.emplace_back(std::make_shared<MidiNode>(position));
|
||||
nodes.back()->update();
|
||||
}
|
||||
|
||||
void setMidiPortForAll(int number, bool _state){
|
||||
@@ -71,10 +72,6 @@ namespace VISEQ::GRAPH {
|
||||
|
||||
void addNode(SPTR_Node node){
|
||||
nodes.insert(nodes.end(), node);
|
||||
}
|
||||
|
||||
void addNodeAndUpdate(SPTR_Node node){
|
||||
addNode(node);
|
||||
node->update();
|
||||
}
|
||||
|
||||
@@ -242,7 +239,7 @@ namespace VISEQ::GRAPH {
|
||||
void splitEdges(){
|
||||
for(auto s : split_edges){
|
||||
Vec2Df center = s.lock()->end.lock()->position.center(s.lock()->start.lock()->position);
|
||||
SPTR_Node cn = copyNode(std::dynamic_pointer_cast<MidiNode>(s.lock()->start.lock()), center);
|
||||
SPTR_Node cn = copyNode(std::dynamic_pointer_cast<MidiNode>(s.lock()->start.lock()), center); // TODO: copy connectors
|
||||
addConnection(s.lock()->start.lock(), cn);
|
||||
addConnection(cn, s.lock()->end.lock());
|
||||
remove_edges.push_back(s);
|
||||
|
||||
Reference in New Issue
Block a user