Open nvcleemp opened 10 years ago
Building this into CaGe would require a big rewrite of the whole piping system between generators and embedders. I think implementing it has a hack in embed
is the best way at the moment.
We need to add a new command-line parameter to embed
, so we can specify the vertex to place at infinity. This then also acts as the -b
parameter, because the face created by placing that vertex at infinity is the new outer face.
In cage.Embedder
we need to modify reembed2DRequired
so that it checks whether a vertex is clicked and stores this in a field. At the moment it stores an edge of the outer face in the fields e1
and e2
.
in cage.NativeEmbedEmbedder
we need to modify reembed2D
so that it sets the right command-line parameter.
TwoView of course also needs to be aware of the vertex at infinity, so that it knows which additional edges need to be drawn and so that it can adjust the vertex numbering to compensate for the missing vertex.
For some graphs it would be useful to be able to put one vertex 'at infinity'.
This could be implemented as a simple hack in embed.