This is a little better, but it needs two major changes.
1. Opening a dialog by shift-clicking on a node is completely crazy. There must another way.
2. The doEffect function must be broken down into smaller functions so I can have any hope of understanding what it does.
Moreover, please consider using a vector of vectors for storing satellites. You would not need flat indexing of curves in pathvectors, which is error prone, and your code would be a lot simpler.
This is a little better, but it needs two major changes.
1. Opening a dialog by shift-clicking on a node is completely crazy. There must another way.
2. The doEffect function must be broken down into smaller functions so I can have any hope of understanding what it does.
Moreover, please consider using a vector of vectors for storing satellites. You would not need flat indexing of curves in pathvectors, which is error prone, and your code would be a lot simpler.